From daed6266b7ad19c2ad675f29a9259b7751b0d425 Mon Sep 17 00:00:00 2001 From: GitHub Action Bot Date: Wed, 25 Sep 2024 05:46:34 +0000 Subject: [PATCH] Automated build 'Automated commit 'Merge pull request #1791 from sailpoint/pchinchkar/CONSEALINK-5745 CONSEALINK-5745 : Document and roll out the beta Multihost Integration endpoint APIs' by github action: 11027044606' go sdk: 11027048611 --- api_beta/.openapi-generator/FILES | 63 +- api_beta/README.md | 43 +- api_beta/api/openapi.yaml | 34927 +++++++++------- api_beta/api_multi_host_integration.go | 2342 ++ api_beta/client.go | 3 + api_beta/docs/MultiHostIntegrationAPI.md | 927 + .../docs/MultiHostIntegrationTemplateType.md | 98 + api_beta/docs/MultiHostIntegrations.md | 685 + .../MultiHostIntegrationsAggScheduleUpdate.md | 208 + ...ter.md => MultiHostIntegrationsCluster.md} | 32 +- ...ultiHostIntegrationsConnectorAttributes.md | 212 + ...torAttributesConnectorFileUploadHistory.md | 56 + ...sConnectorAttributesMultiHostAttributes.md | 134 + api_beta/docs/MultiHostIntegrationsCreate.md | 264 + .../MultiHostIntegrationsCreateSources.md | 103 + ...ltiHostIntegrationsManagementWorkgroup.md} | 38 +- ...Owner.md => MultiHostIntegrationsOwner.md} | 38 +- api_beta/docs/MultiHostSources.md | 901 + ...ltiHostSourcesAccountCorrelationConfig.md} | 38 +- ...MultiHostSourcesAccountCorrelationRule.md} | 38 +- ...MultiHostSourcesBeforeProvisioningRule.md} | 38 +- ...MultiHostSourcesManagerCorrelationRule.md} | 38 +- ... MultiHostSourcesPasswordPoliciesInner.md} | 38 +- ...ner.md => MultiHostSourcesSchemasInner.md} | 38 +- api_beta/docs/Source.md | 74 +- api_beta/docs/SourceCreationErrors.md | 196 + api_beta/docs/SourcesAPI.md | 4 +- ...estSourceConnectionMultihost200Response.md | 160 + .../docs/UpdateMultiHostSourcesRequest.md | 56 + ...el_multi_host_integration_template_type.go | 237 + api_beta/model_multi_host_integrations.go | 1088 + ...i_host_integrations_agg_schedule_update.go | 398 + ... model_multi_host_integrations_cluster.go} | 72 +- ..._host_integrations_connector_attributes.go | 390 + ...ttributes_connector_file_upload_history.go | 156 + ...nector_attributes_multi_host_attributes.go | 270 + .../model_multi_host_integrations_create.go | 467 + ..._multi_host_integrations_create_sources.go | 245 + ...host_integrations_management_workgroup.go} | 78 +- ...=> model_multi_host_integrations_owner.go} | 78 +- api_beta/model_multi_host_sources.go | 1363 + ...ost_sources_account_correlation_config.go} | 78 +- ...i_host_sources_account_correlation_rule.go | 232 + ..._host_sources_before_provisioning_rule.go} | 78 +- ..._host_sources_manager_correlation_rule.go} | 78 +- ...i_host_sources_password_policies_inner.go} | 78 +- ...model_multi_host_sources_schemas_inner.go} | 82 +- api_beta/model_source.go | 108 +- api_beta/model_source_creation_errors.go | 357 + api_beta/model_source_schemas_inner.go | 232 - ...ource_connection_multihost_200_response.go | 308 + ...model_update_multi_host_sources_request.go | 156 + .../test/api_multi_host_integration_test.go | 196 + 53 files changed, 31506 insertions(+), 17111 deletions(-) create mode 100644 api_beta/api_multi_host_integration.go create mode 100644 api_beta/docs/MultiHostIntegrationAPI.md create mode 100644 api_beta/docs/MultiHostIntegrationTemplateType.md create mode 100644 api_beta/docs/MultiHostIntegrations.md create mode 100644 api_beta/docs/MultiHostIntegrationsAggScheduleUpdate.md rename api_beta/docs/{SourceCluster.md => MultiHostIntegrationsCluster.md} (61%) create mode 100644 api_beta/docs/MultiHostIntegrationsConnectorAttributes.md create mode 100644 api_beta/docs/MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory.md create mode 100644 api_beta/docs/MultiHostIntegrationsConnectorAttributesMultiHostAttributes.md create mode 100644 api_beta/docs/MultiHostIntegrationsCreate.md create mode 100644 api_beta/docs/MultiHostIntegrationsCreateSources.md rename api_beta/docs/{SourceManagementWorkgroup.md => MultiHostIntegrationsManagementWorkgroup.md} (57%) rename api_beta/docs/{SourceOwner.md => MultiHostIntegrationsOwner.md} (63%) create mode 100644 api_beta/docs/MultiHostSources.md rename api_beta/docs/{SourceAccountCorrelationConfig.md => MultiHostSourcesAccountCorrelationConfig.md} (57%) rename api_beta/docs/{SourceManagerCorrelationRule.md => MultiHostSourcesAccountCorrelationRule.md} (57%) rename api_beta/docs/{SourceAccountCorrelationRule.md => MultiHostSourcesBeforeProvisioningRule.md} (57%) rename api_beta/docs/{SourceBeforeProvisioningRule.md => MultiHostSourcesManagerCorrelationRule.md} (57%) rename api_beta/docs/{SourcePasswordPoliciesInner.md => MultiHostSourcesPasswordPoliciesInner.md} (58%) rename api_beta/docs/{SourceSchemasInner.md => MultiHostSourcesSchemasInner.md} (62%) create mode 100644 api_beta/docs/SourceCreationErrors.md create mode 100644 api_beta/docs/TestSourceConnectionMultihost200Response.md create mode 100644 api_beta/docs/UpdateMultiHostSourcesRequest.md create mode 100644 api_beta/model_multi_host_integration_template_type.go create mode 100644 api_beta/model_multi_host_integrations.go create mode 100644 api_beta/model_multi_host_integrations_agg_schedule_update.go rename api_beta/{model_source_cluster.go => model_multi_host_integrations_cluster.go} (59%) create mode 100644 api_beta/model_multi_host_integrations_connector_attributes.go create mode 100644 api_beta/model_multi_host_integrations_connector_attributes_connector_file_upload_history.go create mode 100644 api_beta/model_multi_host_integrations_connector_attributes_multi_host_attributes.go create mode 100644 api_beta/model_multi_host_integrations_create.go create mode 100644 api_beta/model_multi_host_integrations_create_sources.go rename api_beta/{model_source_management_workgroup.go => model_multi_host_integrations_management_workgroup.go} (54%) rename api_beta/{model_source_owner.go => model_multi_host_integrations_owner.go} (60%) create mode 100644 api_beta/model_multi_host_sources.go rename api_beta/{model_source_account_correlation_config.go => model_multi_host_sources_account_correlation_config.go} (54%) create mode 100644 api_beta/model_multi_host_sources_account_correlation_rule.go rename api_beta/{model_source_before_provisioning_rule.go => model_multi_host_sources_before_provisioning_rule.go} (54%) rename api_beta/{model_source_account_correlation_rule.go => model_multi_host_sources_manager_correlation_rule.go} (55%) rename api_beta/{model_source_password_policies_inner.go => model_multi_host_sources_password_policies_inner.go} (55%) rename api_beta/{model_source_manager_correlation_rule.go => model_multi_host_sources_schemas_inner.go} (60%) create mode 100644 api_beta/model_source_creation_errors.go delete mode 100644 api_beta/model_source_schemas_inner.go create mode 100644 api_beta/model_test_source_connection_multihost_200_response.go create mode 100644 api_beta/model_update_multi_host_sources_request.go create mode 100644 api_beta/test/api_multi_host_integration_test.go diff --git a/api_beta/.openapi-generator/FILES b/api_beta/.openapi-generator/FILES index 9784ff818..3db59219a 100644 --- a/api_beta/.openapi-generator/FILES +++ b/api_beta/.openapi-generator/FILES @@ -41,6 +41,7 @@ api_managed_clients.go api_managed_clusters.go api_mfa_configuration.go api_mfa_controller.go +api_multi_host_integration.go api_non_employee_lifecycle_management.go api_notifications.go api_o_auth_clients.go @@ -575,6 +576,25 @@ docs/MetricResponse.md docs/MfaConfigTestResponse.md docs/MfaDuoConfig.md docs/MfaOktaConfig.md +docs/MultiHostIntegrationAPI.md +docs/MultiHostIntegrationTemplateType.md +docs/MultiHostIntegrations.md +docs/MultiHostIntegrationsAggScheduleUpdate.md +docs/MultiHostIntegrationsCluster.md +docs/MultiHostIntegrationsConnectorAttributes.md +docs/MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory.md +docs/MultiHostIntegrationsConnectorAttributesMultiHostAttributes.md +docs/MultiHostIntegrationsCreate.md +docs/MultiHostIntegrationsCreateSources.md +docs/MultiHostIntegrationsManagementWorkgroup.md +docs/MultiHostIntegrationsOwner.md +docs/MultiHostSources.md +docs/MultiHostSourcesAccountCorrelationConfig.md +docs/MultiHostSourcesAccountCorrelationRule.md +docs/MultiHostSourcesBeforeProvisioningRule.md +docs/MultiHostSourcesManagerCorrelationRule.md +docs/MultiHostSourcesPasswordPoliciesInner.md +docs/MultiHostSourcesSchemasInner.md docs/MultiPolicyRequest.md docs/NativeChangeDetectionConfig.md docs/NonEmployeeApprovalDecision.md @@ -844,8 +864,6 @@ docs/SodViolationContextConflictingAccessCriteria.md docs/SodViolationContextConflictingAccessCriteriaLeftCriteria.md docs/Source.md docs/Source1.md -docs/SourceAccountCorrelationConfig.md -docs/SourceAccountCorrelationRule.md docs/SourceAccountCreated.md docs/SourceAccountDeleted.md docs/SourceAccountUpdated.md @@ -855,20 +873,14 @@ docs/SourceAppBulkUpdateRequest.md docs/SourceAppCreateDto.md docs/SourceAppCreateDtoAccountSource.md docs/SourceAppPatchDto.md -docs/SourceBeforeProvisioningRule.md -docs/SourceCluster.md docs/SourceClusterDto.md docs/SourceCode.md docs/SourceCreated.md docs/SourceCreatedActor.md +docs/SourceCreationErrors.md docs/SourceDeleted.md docs/SourceDeletedActor.md docs/SourceEntitlementRequestConfig.md -docs/SourceManagementWorkgroup.md -docs/SourceManagerCorrelationRule.md -docs/SourceOwner.md -docs/SourcePasswordPoliciesInner.md -docs/SourceSchemasInner.md docs/SourceSyncJob.md docs/SourceSyncPayload.md docs/SourceUpdated.md @@ -927,6 +939,7 @@ docs/TenantUiMetadataItemUpdateRequest.md docs/TestExternalExecuteWorkflow200Response.md docs/TestExternalExecuteWorkflowRequest.md docs/TestInvocation.md +docs/TestSourceConnectionMultihost200Response.md docs/TestWorkflow200Response.md docs/TestWorkflowRequest.md docs/TokenAuthRequest.md @@ -945,6 +958,7 @@ docs/TriggerType.md docs/TriggersAPI.md docs/UIMetadataAPI.md docs/UpdateAccessProfilesInBulk412Response.md +docs/UpdateMultiHostSourcesRequest.md docs/UsageType.md docs/UserApp.md docs/UserAppAccount.md @@ -1467,6 +1481,24 @@ model_metric_response.go model_mfa_config_test_response.go model_mfa_duo_config.go model_mfa_okta_config.go +model_multi_host_integration_template_type.go +model_multi_host_integrations.go +model_multi_host_integrations_agg_schedule_update.go +model_multi_host_integrations_cluster.go +model_multi_host_integrations_connector_attributes.go +model_multi_host_integrations_connector_attributes_connector_file_upload_history.go +model_multi_host_integrations_connector_attributes_multi_host_attributes.go +model_multi_host_integrations_create.go +model_multi_host_integrations_create_sources.go +model_multi_host_integrations_management_workgroup.go +model_multi_host_integrations_owner.go +model_multi_host_sources.go +model_multi_host_sources_account_correlation_config.go +model_multi_host_sources_account_correlation_rule.go +model_multi_host_sources_before_provisioning_rule.go +model_multi_host_sources_manager_correlation_rule.go +model_multi_host_sources_password_policies_inner.go +model_multi_host_sources_schemas_inner.go model_multi_policy_request.go model_native_change_detection_config.go model_non_employee_approval_decision.go @@ -1715,8 +1747,6 @@ model_sod_violation_context_conflicting_access_criteria.go model_sod_violation_context_conflicting_access_criteria_left_criteria.go model_source.go model_source_1.go -model_source_account_correlation_config.go -model_source_account_correlation_rule.go model_source_account_created.go model_source_account_deleted.go model_source_account_updated.go @@ -1726,20 +1756,14 @@ model_source_app_bulk_update_request.go model_source_app_create_dto.go model_source_app_create_dto_account_source.go model_source_app_patch_dto.go -model_source_before_provisioning_rule.go -model_source_cluster.go model_source_cluster_dto.go model_source_code.go model_source_created.go model_source_created_actor.go +model_source_creation_errors.go model_source_deleted.go model_source_deleted_actor.go model_source_entitlement_request_config.go -model_source_management_workgroup.go -model_source_manager_correlation_rule.go -model_source_owner.go -model_source_password_policies_inner.go -model_source_schemas_inner.go model_source_sync_job.go model_source_sync_payload.go model_source_updated.go @@ -1792,6 +1816,7 @@ model_tenant_ui_metadata_item_update_request.go model_test_external_execute_workflow_200_response.go model_test_external_execute_workflow_request.go model_test_invocation.go +model_test_source_connection_multihost_200_response.go model_test_workflow_200_response.go model_test_workflow_request.go model_token_auth_request.go @@ -1807,6 +1832,7 @@ model_trigger_example_input.go model_trigger_example_output.go model_trigger_type.go model_update_access_profiles_in_bulk_412_response.go +model_update_multi_host_sources_request.go model_usage_type.go model_user_app.go model_user_app_account.go @@ -1901,6 +1927,7 @@ test/api_managed_clients_test.go test/api_managed_clusters_test.go test/api_mfa_configuration_test.go test/api_mfa_controller_test.go +test/api_multi_host_integration_test.go test/api_non_employee_lifecycle_management_test.go test/api_notifications_test.go test/api_o_auth_clients_test.go diff --git a/api_beta/README.md b/api_beta/README.md index 547406f84..5f6c0425c 100644 --- a/api_beta/README.md +++ b/api_beta/README.md @@ -340,6 +340,19 @@ Class | Method | HTTP request | Description *ManagedClustersAPI* | [**GetManagedCluster**](docs/ManagedClustersAPI.md#getmanagedcluster) | **Get** /managed-clusters/{id} | Get a specified ManagedCluster. *ManagedClustersAPI* | [**GetManagedClusters**](docs/ManagedClustersAPI.md#getmanagedclusters) | **Get** /managed-clusters | Retrieve all Managed Clusters. *ManagedClustersAPI* | [**PutClientLogConfiguration**](docs/ManagedClustersAPI.md#putclientlogconfiguration) | **Put** /managed-clusters/{id}/log-config | Update managed cluster's log configuration +*MultiHostIntegrationAPI* | [**CreateMultiHostIntegration**](docs/MultiHostIntegrationAPI.md#createmultihostintegration) | **Post** /multihosts | Create Multi-Host Integration +*MultiHostIntegrationAPI* | [**CreateSourcesWithinMultiHost**](docs/MultiHostIntegrationAPI.md#createsourceswithinmultihost) | **Post** /multihosts/{id} | Create Sources Within Multi-Host Integration +*MultiHostIntegrationAPI* | [**DeleteMultiHost**](docs/MultiHostIntegrationAPI.md#deletemultihost) | **Delete** /multihosts/{id} | Delete Multi-Host Integration +*MultiHostIntegrationAPI* | [**GetAcctAggregationGroups**](docs/MultiHostIntegrationAPI.md#getacctaggregationgroups) | **Get** /multihosts/{multihostId}/acctAggregationGroups | Get Account Aggregation Groups Within Multi-Host Integration ID +*MultiHostIntegrationAPI* | [**GetEntitlementAggregationGroups**](docs/MultiHostIntegrationAPI.md#getentitlementaggregationgroups) | **Get** /multihosts/{multiHostId}/entitlementAggregationGroups | Get Entitlement Aggregation Groups Within Multi-Host Integration ID +*MultiHostIntegrationAPI* | [**GetMultiHostIntegrations**](docs/MultiHostIntegrationAPI.md#getmultihostintegrations) | **Get** /multihosts/{id} | Get Multi-Host Integration By ID +*MultiHostIntegrationAPI* | [**GetMultiHostIntegrationsList**](docs/MultiHostIntegrationAPI.md#getmultihostintegrationslist) | **Get** /multihosts | List All Existing Multi-Host Integrations +*MultiHostIntegrationAPI* | [**GetMultihostIntegrationTypes**](docs/MultiHostIntegrationAPI.md#getmultihostintegrationtypes) | **Get** /multihosts/types | List Multi-Host Integration Types +*MultiHostIntegrationAPI* | [**GetSourcesWithinMultiHost**](docs/MultiHostIntegrationAPI.md#getsourceswithinmultihost) | **Get** /multihosts/{id}/sources | List Sources Within Multi-Host Integration +*MultiHostIntegrationAPI* | [**GetSourcesWithinMultiHost_0**](docs/MultiHostIntegrationAPI.md#getsourceswithinmultihost_0) | **Get** /multihosts/{multiHostId}/sources/errors | List Multi-Host Integration Sources Creation Errors +*MultiHostIntegrationAPI* | [**TestConnectionMultiHostSources**](docs/MultiHostIntegrationAPI.md#testconnectionmultihostsources) | **Post** /multihosts/{multihost_id}/sources/testConnection | Test Configuration For Multi-Host Integration +*MultiHostIntegrationAPI* | [**TestSourceConnectionMultihost**](docs/MultiHostIntegrationAPI.md#testsourceconnectionmultihost) | **Get** /multihosts/{multihost_id}/sources/{sourceId}/testConnection | Test Configuration For Multi-Host Integration's Single Source +*MultiHostIntegrationAPI* | [**UpdateMultiHostSources**](docs/MultiHostIntegrationAPI.md#updatemultihostsources) | **Patch** /multihosts/{id} | Update Multi-Host Integration *NonEmployeeLifecycleManagementAPI* | [**ApproveNonEmployeeRequest**](docs/NonEmployeeLifecycleManagementAPI.md#approvenonemployeerequest) | **Post** /non-employee-approvals/{id}/approve | Approve a Non-Employee Request *NonEmployeeLifecycleManagementAPI* | [**CreateNonEmployeeRecord**](docs/NonEmployeeLifecycleManagementAPI.md#createnonemployeerecord) | **Post** /non-employee-records | Create Non-Employee Record *NonEmployeeLifecycleManagementAPI* | [**CreateNonEmployeeRequest**](docs/NonEmployeeLifecycleManagementAPI.md#createnonemployeerequest) | **Post** /non-employee-requests | Create Non-Employee Request @@ -1078,6 +1091,24 @@ Class | Method | HTTP request | Description - [MfaConfigTestResponse](docs/MfaConfigTestResponse.md) - [MfaDuoConfig](docs/MfaDuoConfig.md) - [MfaOktaConfig](docs/MfaOktaConfig.md) + - [MultiHostIntegrationTemplateType](docs/MultiHostIntegrationTemplateType.md) + - [MultiHostIntegrations](docs/MultiHostIntegrations.md) + - [MultiHostIntegrationsAggScheduleUpdate](docs/MultiHostIntegrationsAggScheduleUpdate.md) + - [MultiHostIntegrationsCluster](docs/MultiHostIntegrationsCluster.md) + - [MultiHostIntegrationsConnectorAttributes](docs/MultiHostIntegrationsConnectorAttributes.md) + - [MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory](docs/MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory.md) + - [MultiHostIntegrationsConnectorAttributesMultiHostAttributes](docs/MultiHostIntegrationsConnectorAttributesMultiHostAttributes.md) + - [MultiHostIntegrationsCreate](docs/MultiHostIntegrationsCreate.md) + - [MultiHostIntegrationsCreateSources](docs/MultiHostIntegrationsCreateSources.md) + - [MultiHostIntegrationsManagementWorkgroup](docs/MultiHostIntegrationsManagementWorkgroup.md) + - [MultiHostIntegrationsOwner](docs/MultiHostIntegrationsOwner.md) + - [MultiHostSources](docs/MultiHostSources.md) + - [MultiHostSourcesAccountCorrelationConfig](docs/MultiHostSourcesAccountCorrelationConfig.md) + - [MultiHostSourcesAccountCorrelationRule](docs/MultiHostSourcesAccountCorrelationRule.md) + - [MultiHostSourcesBeforeProvisioningRule](docs/MultiHostSourcesBeforeProvisioningRule.md) + - [MultiHostSourcesManagerCorrelationRule](docs/MultiHostSourcesManagerCorrelationRule.md) + - [MultiHostSourcesPasswordPoliciesInner](docs/MultiHostSourcesPasswordPoliciesInner.md) + - [MultiHostSourcesSchemasInner](docs/MultiHostSourcesSchemasInner.md) - [MultiPolicyRequest](docs/MultiPolicyRequest.md) - [NativeChangeDetectionConfig](docs/NativeChangeDetectionConfig.md) - [NonEmployeeApprovalDecision](docs/NonEmployeeApprovalDecision.md) @@ -1326,8 +1357,6 @@ Class | Method | HTTP request | Description - [SodViolationContextConflictingAccessCriteriaLeftCriteria](docs/SodViolationContextConflictingAccessCriteriaLeftCriteria.md) - [Source](docs/Source.md) - [Source1](docs/Source1.md) - - [SourceAccountCorrelationConfig](docs/SourceAccountCorrelationConfig.md) - - [SourceAccountCorrelationRule](docs/SourceAccountCorrelationRule.md) - [SourceAccountCreated](docs/SourceAccountCreated.md) - [SourceAccountDeleted](docs/SourceAccountDeleted.md) - [SourceAccountUpdated](docs/SourceAccountUpdated.md) @@ -1337,20 +1366,14 @@ Class | Method | HTTP request | Description - [SourceAppCreateDto](docs/SourceAppCreateDto.md) - [SourceAppCreateDtoAccountSource](docs/SourceAppCreateDtoAccountSource.md) - [SourceAppPatchDto](docs/SourceAppPatchDto.md) - - [SourceBeforeProvisioningRule](docs/SourceBeforeProvisioningRule.md) - - [SourceCluster](docs/SourceCluster.md) - [SourceClusterDto](docs/SourceClusterDto.md) - [SourceCode](docs/SourceCode.md) - [SourceCreated](docs/SourceCreated.md) - [SourceCreatedActor](docs/SourceCreatedActor.md) + - [SourceCreationErrors](docs/SourceCreationErrors.md) - [SourceDeleted](docs/SourceDeleted.md) - [SourceDeletedActor](docs/SourceDeletedActor.md) - [SourceEntitlementRequestConfig](docs/SourceEntitlementRequestConfig.md) - - [SourceManagementWorkgroup](docs/SourceManagementWorkgroup.md) - - [SourceManagerCorrelationRule](docs/SourceManagerCorrelationRule.md) - - [SourceOwner](docs/SourceOwner.md) - - [SourcePasswordPoliciesInner](docs/SourcePasswordPoliciesInner.md) - - [SourceSchemasInner](docs/SourceSchemasInner.md) - [SourceSyncJob](docs/SourceSyncJob.md) - [SourceSyncPayload](docs/SourceSyncPayload.md) - [SourceUpdated](docs/SourceUpdated.md) @@ -1403,6 +1426,7 @@ Class | Method | HTTP request | Description - [TestExternalExecuteWorkflow200Response](docs/TestExternalExecuteWorkflow200Response.md) - [TestExternalExecuteWorkflowRequest](docs/TestExternalExecuteWorkflowRequest.md) - [TestInvocation](docs/TestInvocation.md) + - [TestSourceConnectionMultihost200Response](docs/TestSourceConnectionMultihost200Response.md) - [TestWorkflow200Response](docs/TestWorkflow200Response.md) - [TestWorkflowRequest](docs/TestWorkflowRequest.md) - [TokenAuthRequest](docs/TokenAuthRequest.md) @@ -1418,6 +1442,7 @@ Class | Method | HTTP request | Description - [TriggerExampleOutput](docs/TriggerExampleOutput.md) - [TriggerType](docs/TriggerType.md) - [UpdateAccessProfilesInBulk412Response](docs/UpdateAccessProfilesInBulk412Response.md) + - [UpdateMultiHostSourcesRequest](docs/UpdateMultiHostSourcesRequest.md) - [UsageType](docs/UsageType.md) - [UserApp](docs/UserApp.md) - [UserAppAccount](docs/UserAppAccount.md) diff --git a/api_beta/api/openapi.yaml b/api_beta/api/openapi.yaml index 6e95d594e..857580ff6 100644 --- a/api_beta/api/openapi.yaml +++ b/api_beta/api/openapi.yaml @@ -487,6 +487,11 @@ tags: gov-multi-auth service. This controller allow you to verify authentication by specified method name: MFA Controller +- description: | + Use this API to build a Multi-Host Integration. + Multi-Host Integration will help customers to configure and manage similar type of target system in Identity Security Cloud. + In Identity Security Cloud, administrators can create a Multi-Host Integration by going to Admin > Connections > Multi-Host Sources and selecting 'Create.' + name: Multi-Host Integration - description: | Use this API to implement non-employee lifecycle management functionality. With this functionality in place, administrators can create non-employee records and configure them for use in their organizations. @@ -18528,11 +18533,24 @@ paths: summary: Update Lifecycle State tags: - Lifecycle States - /non-employee-records: + /multihosts: get: - description: This gets a list of non-employee records. - operationId: listNonEmployeeRecords + description: "Get a list of Multi-Host Integrations. \n\nA token with Org Admin\ + \ or Multi-Host Admin authority is required to access this endpoint." + operationId: getMultiHostIntegrationsList parameters: + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer - 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. @@ -18547,17 +18565,34 @@ paths: minimum: 0 type: integer - 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. - example: 0 + Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) + + Sorting is supported for the following fields: **name** + example: name + explode: true in: query - name: offset + name: sorters required: false schema: - default: 0 - format: int32 - minimum: 0 - type: integer + type: string + style: form + - 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: + + **type**: *in* + + **forSubAdminId**: *in* + example: id eq 2c91808b6ef1d43e016efba0ce470904 + explode: true + in: query + name: filters + required: false + schema: + format: comma-separated + type: string + style: form - 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. @@ -18572,26 +18607,14 @@ paths: default: false type: boolean - 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) + If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity or SOURCE_SUBADMIN identity. - Sorting is supported for the following fields: **id, accountName, sourceId, manager, firstName, lastName, email, phone, startDate, endDate, created, modified** - example: "accountName,sourceId" - in: query - name: sorters - required: false - schema: - format: comma-separated - type: string - - 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) + The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. - Filtering is supported for the following fields and operators: - - **sourceId**: *eq* - example: sourceId eq "2c91808568c529c60168cca6f90c1313" + A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. + example: 5168015d32f890ca15812c9180835d2e in: query - name: filters - required: false + name: for-subadmin schema: type: string responses: @@ -18600,9 +18623,10 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/NonEmployeeRecord' + $ref: '#/components/schemas/MultiHostIntegrations' type: array - description: Non-Employee record objects + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -18634,6 +18658,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -18661,30 +18703,32 @@ paths: error. security: - UserContextAuth: - - idn:nelm:read - summary: List Non-Employee Records + - idn:multihosts:read + - idn:sources:read + summary: List All Existing Multi-Host Integrations tags: - - Non-Employee Lifecycle Management + - Multi-Host Integration post: description: |- - This request will create a non-employee record. - Request will require the following security scope: - 'idn:nesr:create' - operationId: createNonEmployeeRecord + This API is used to create Multi-Host Integration. Multi-host Integration holds similar types of sources. + + A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + operationId: createMultiHostIntegration requestBody: content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeRequestBody' - description: Non-Employee record creation request body. + $ref: '#/components/schemas/MultiHostIntegrationsCreate' + description: The specifics of the Multi-Host Integration to create required: true responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeRecord' - description: Created non-employee record. + $ref: '#/components/schemas/MultiHostIntegrations' + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -18716,6 +18760,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -18743,26 +18805,27 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Create Non-Employee Record + - idn:multihosts:create + - idn:sources:create + summary: Create Multi-Host Integration tags: - - Non-Employee Lifecycle Management - /non-employee-records/{id}: - delete: - description: This request will delete a non-employee record. - operationId: deleteNonEmployeeRecord - parameters: - - description: Non-Employee record id (UUID) - example: 2c91808b6ef1d43e016efba0ce470904 - in: path - name: id - required: true - schema: - type: string + - Multi-Host Integration + /multihosts/types: + get: + description: "This API endpoint returns the current list of supported Multi-Host\ + \ Integration types. \n\nA token with Org Admin or Multi-Host Admin authority\ + \ is required to access this endpoint." + operationId: getMultihostIntegrationTypes responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/MultiHostIntegrationTemplateType' + type: array + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -18794,6 +18857,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -18821,28 +18902,31 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Delete Non-Employee Record + - idn:multihosts:read + - idn:sources:read + summary: List Multi-Host Integration Types tags: - - Non-Employee Lifecycle Management - get: - description: This gets a non-employee record. - operationId: getNonEmployeeRecord + - Multi-Host Integration + /multihosts/{id}: + delete: + description: "Delete an existing Multi-Host Integration by ID. \n\nA token\ + \ with Org Admin or Multi Host Admin authority is required to access this\ + \ endpoint." + operationId: deleteMultiHost parameters: - - description: Non-Employee record id (UUID) - example: 2c91808b6ef1d43e016efba0ce470904 + - description: ID of Multi-Host Integration to delete. + explode: false in: path name: id required: true schema: + example: 2c91808568c529c60168cca6f90c1326 type: string + style: simple responses: "200": - content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeRecord' - description: Non-Employee record object + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -18874,6 +18958,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -18901,45 +19003,33 @@ paths: error. security: - UserContextAuth: - - idn:nelm:read - summary: Get a Non-Employee Record + - idn:multihosts:delete + - idn:sources:delete + summary: Delete Multi-Host Integration tags: - - Non-Employee Lifecycle Management - patch: - description: This request will patch a non-employee record. - operationId: patchNonEmployeeRecord + - Multi-Host Integration + get: + description: "Get an existing Multi-Host Integration. \n\nA token with Org Admin\ + \ or Multi-Host Integration Admin authority is required to access this endpoint." + operationId: getMultiHostIntegrations parameters: - - description: Non-employee record id (UUID) - example: 2c91808b6ef1d43e016efba0ce470904 + - description: ID of the Multi-Host Integration. + explode: false in: path name: id required: true schema: + example: 2c91808568c529c60168cca6f90c1326 type: string - requestBody: - content: - application/json-patch+json: - example: - - op: replace - path: /endDate - value: - "2019-08-23T18:40:35.772Z": null - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: "A list of non-employee update operations according to the [JSON\ - \ Patch](https://tools.ietf.org/html/rfc6902) standard. Attributes are restricted\ - \ by user type. Owner of source can update end date. Organization admins\ - \ can update all available fields." - required: true + style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeRecord' - description: A patched non-employee record. + $ref: '#/components/schemas/MultiHostIntegrations' + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -19016,37 +19106,47 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Patch Non-Employee Record + - idn:multihosts:read + - idn:sources:read + summary: Get Multi-Host Integration By ID tags: - - Non-Employee Lifecycle Management - put: - description: This request will update a non-employee record. - operationId: updateNonEmployeeRecord + - Multi-Host Integration + patch: + description: |- + Update existing sources within Multi-Host Integration. + + A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + operationId: updateMultiHostSources parameters: - - description: Non-employee record id (UUID) - example: 2c91808b6ef1d43e016efba0ce470904 + - description: ID of the Multi-Host Integration to update. + explode: false in: path - name: id + name: multihost_id required: true schema: + example: anId type: string + style: simple requestBody: content: - application/json: + application/json-patch+json: + example: + - op: add + path: /description + value: MDK Multi-Host Integration 222 description schema: - $ref: '#/components/schemas/NonEmployeeRequestBody' - description: Non-employee record creation request body. Attributes are restricted - by user type. Owner of source can update end date. Organization admins can - update all available fields. + $ref: '#/components/schemas/updateMultiHostSources_request' + description: | + A list of Multi-Host Integration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + + Only `replace` operations are accepted by this endpoint. + + A 403 Forbidden Error indicates that you attempted to PATCH a operation that is not allowed. required: true responses: "200": - content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeRecord' - description: An updated non-employee record. + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -19123,28 +19223,39 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Update Non-Employee Record + - idn:multihosts:update + summary: Update Multi-Host Integration tags: - - Non-Employee Lifecycle Management - /non-employee-records/bulk-delete: + - Multi-Host Integration post: description: |- - This request will delete multiple non-employee records based on the non-employee ids provided. - Request will require the following scope: - 'idn:nesr:delete' - operationId: deleteNonEmployeeRecordInBulk + This API is used to create sources within Multi-Host Integration. Multi-Host Integration holds similar types of sources. + + A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + operationId: createSourcesWithinMultiHost + parameters: + - description: ID of the Multi-Host Integration. + explode: false + in: path + name: id + required: true + schema: + example: 2c91808568c529c60168cca6f90c1326 + type: string + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/deleteNonEmployeeRecordInBulk_request' - description: Non-Employee bulk delete request body. + items: + $ref: '#/components/schemas/MultiHostIntegrationsCreateSources' + type: array + description: The specifics of the sources to create within Multi-Host Integration. required: true responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -19176,6 +19287,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -19203,93 +19332,146 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Delete Multiple Non-Employee Records + - idn:multihosts:create + - idn:sources:create + summary: Create Sources Within Multi-Host Integration tags: - - Non-Employee Lifecycle Management - /non-employee-requests: - get: - description: This gets a list of non-employee requests. - operationId: listNonEmployeeRequests - parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. + - Multi-Host Integration + /multihosts/{multihost_id}/sources/testConnection: + post: + description: |- + This endpoint performs a more detailed validation of the Multi-Host Integration's configuration. - See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - description: The identity for whom the request was made. *me* indicates the - current user. - example: me - in: query - name: requested-for + A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + operationId: testConnectionMultiHostSources + parameters: + - description: ID of the Multi-Host Integration + explode: false + in: path + name: multihost_id required: true schema: + example: 2c91808568c529c60168cca6f90c1324 type: string - - 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, approvalStatus, firstName, lastName, email, phone, accountName, startDate, endDate** - example: "approvalStatus,firstName" - in: query - name: sorters - required: false + style: simple + responses: + "200": + description: OK. Returned if the request was successfully accepted into + the system. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:multihosts:read + - idn:sources:read + summary: Test Configuration For Multi-Host Integration + tags: + - Multi-Host Integration + /multihosts/{multihost_id}/sources/{sourceId}/testConnection: + get: + description: "This endpoint performs a more detailed validation of the source's\ + \ configuration. \n\nA token with Org Admin or Multi-Host Admin authority\ + \ is required to access this endpoint." + operationId: testSourceConnectionMultihost + parameters: + - description: ID of the Multi-Host Integration + explode: false + in: path + name: multihost_id + required: true schema: - format: comma-separated + example: 2c91808568c529c60168cca6f90c1326 type: string - - 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: - - **sourceId**: *eq* - example: sourceId eq "2c91808568c529c60168cca6f90c1313" - in: query - name: filters - required: false + style: simple + - description: ID of the source within the Multi-Host Integration + explode: false + in: path + name: sourceId + required: true schema: + example: 2c91808568c529f60168cca6f90c1324 type: string + style: simple responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/NonEmployeeRequest' - type: array - description: List of non-employee request objects. + $ref: '#/components/schemas/testSourceConnectionMultihost_200_response' + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -19321,6 +19503,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -19348,51 +19548,96 @@ paths: error. security: - UserContextAuth: - - idn:nelm:read - summary: List Non-Employee Requests + - idn:multihosts:read + - idn:sources:read + summary: Test Configuration For Multi-Host Integration's Single Source tags: - - Non-Employee Lifecycle Management - post: - description: This request will create a non-employee request and notify the - approver - operationId: createNonEmployeeRequest - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeRequestBody' - description: Non-Employee creation request body - required: true + - Multi-Host Integration + /multihosts/{id}/sources: + get: + description: "Get a list of sources within Multi-Host Integration ID. \n\n\ + A token with Org Admin or Multi-Host Admin authority is required to access\ + \ this endpoint." + operationId: getSourcesWithinMultiHost + parameters: + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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: **name** + example: name + explode: true + in: query + name: sorters + required: false + schema: + type: string + style: form + - 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**: *in* + example: id eq 2c91808b6ef1d43e016efba0ce470904 + explode: true + in: query + name: filters + required: false + schema: + format: comma-separated + type: string + style: form + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeRequest' - description: Non-Employee request creation object + items: + $ref: '#/components/schemas/MultiHostSources' + type: array + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: - examples: - "400.1 Bad Request Content": - description: Response for bad request content - value: - detailCode: 400.1 Bad Request Content - trackingId: e7eab60924f64aa284175b9fa3309599 - messages: - - locale: en - localeOrigin: REQUEST - text: firstName is required; accountName is required; - "400.1.409 Reference conflict": - description: Response for reference conflict - value: - detailCode: 400.1.409 Reference conflict - trackingId: e7eab60924f64aa284175b9fa3309599 - messages: - - locale: en - localeOrigin: REQUEST - text: Unable to create Non-Employee because the accountName - "existed" is already being used. schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. @@ -19421,6 +19666,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -19448,27 +19711,37 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Create Non-Employee Request + - idn:multihosts:read + - idn:sources:read + summary: List Sources Within Multi-Host Integration tags: - - Non-Employee Lifecycle Management - /non-employee-requests/{id}: - delete: - description: This request will delete a non-employee request. - operationId: deleteNonEmployeeRequest + - Multi-Host Integration + /multihosts/{multiHostId}/sources/errors: + get: + description: "Get a list of sources creation errors within Multi-Host Integration\ + \ ID. \n\nA token with Org Admin or Multi-Host Admin authority is required\ + \ to access this endpoint." + operationId: getSourcesWithinMultiHost parameters: - - description: Non-Employee request id in the UUID format - example: 2c91808b6ef1d43e016efba0ce470904 + - description: ID of the Multi-Host Integration + explode: false in: path - name: id + name: multiHostId required: true schema: - format: uuid + example: 004091cb79b04636b88662afa50a4440 type: string + style: simple responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SourceCreationErrors' + type: array + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -19545,28 +19818,36 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Delete Non-Employee Request + - idn:multihosts:read + - idn:sources:read + summary: List Multi-Host Integration Sources Creation Errors tags: - - Non-Employee Lifecycle Management + - Multi-Host Integration + /multihosts/{multihostId}/acctAggregationGroups: get: - description: This gets a non-employee request. - operationId: getNonEmployeeRequest + description: |- + This API will return array of account aggregation groups within provided Multi-Host Integration ID. + + A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + operationId: getAcctAggregationGroups parameters: - - description: Non-Employee request id (UUID) - example: 2c91808b6ef1d43e016efba0ce470904 + - description: ID of the Multi-Host Integration to update + explode: false in: path - name: id + name: multiHostId required: true schema: + example: aMultiHostId type: string + style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeRequest' - description: Non-Employee request object. + $ref: '#/components/schemas/MultiHostIntegrationsAggScheduleUpdate' + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -19643,39 +19924,34 @@ paths: error. security: - UserContextAuth: - - idn:nelm:read - summary: Get a Non-Employee Request + - idn:multihosts:update + summary: Get Account Aggregation Groups Within Multi-Host Integration ID tags: - - Non-Employee Lifecycle Management - /non-employee-requests/summary/{requested-for}: + - Multi-Host Integration + /multihosts/{multiHostId}/entitlementAggregationGroups: get: - description: "This request will retrieve a summary of non-employee requests.\ - \ There are two contextual uses for the `requested-for` path parameter: 1.\ - \ The current user is the Org Admin, in which case he or she may request a\ - \ summary of all non-employee approval requests assigned to a particular account\ - \ manager by passing in that manager's id. 2. The current user is an account\ - \ manager, in which case \"me\" should be provided as the `requested-for`\ - \ value. This will provide the user with a summary of the non-employee requests\ - \ in the source(s) he or she manages." - operationId: getNonEmployeeRequestSummary + description: "This API will return array of aggregation groups within provided\ + \ Multi-Host Integration ID. \n\nA token with Org Admin or Multi-Host Admin\ + \ authority is required to access this endpoint." + operationId: getEntitlementAggregationGroups parameters: - - description: The identity (UUID) of the non-employee account manager for whom - the summary is being retrieved. Use "me" instead to indicate the current - user. - example: ac10d20a-841e-1e7d-8184-32d2e22c0179 + - description: ID of the Multi-Host Integration to update + explode: false in: path - name: requested-for + name: multiHostId required: true schema: - format: uuid (if user is Org Admin) + example: aMultiHostId type: string + style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeRequestSummary' - description: Non-Employee request summary object. + $ref: '#/components/schemas/MultiHostIntegrationsAggScheduleUpdate' + description: OK. Returned if the request was successfully accepted into + the system. "400": content: application/json: @@ -19707,6 +19983,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -19734,14 +20028,14 @@ paths: error. security: - UserContextAuth: - - idn:nelm:read - summary: Get Summary of Non-Employee Requests + - idn:multihosts:update + summary: Get Entitlement Aggregation Groups Within Multi-Host Integration ID tags: - - Non-Employee Lifecycle Management - /non-employee-sources: + - Multi-Host Integration + /non-employee-records: get: - description: This gets a list of non-employee sources. - operationId: listNonEmployeeSources + description: This gets a list of non-employee records. + operationId: listNonEmployeeRecords parameters: - description: |- Max number of results to return. @@ -19781,42 +20075,38 @@ paths: schema: default: false type: boolean - - description: The identity for whom the request was made. *me* indicates the - current user. - example: me - in: query - name: requested-for - required: true - schema: - type: string - - description: The flag to determine whether return a non-employee count associate - with source. - example: false - in: query - name: non-employee-count - required: true - schema: - type: boolean - 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: **name, created, sourceId** - example: "name,created" + Sorting is supported for the following fields: **id, accountName, sourceId, manager, firstName, lastName, email, phone, startDate, endDate, created, modified** + example: "accountName,sourceId" in: query name: sorters required: false schema: format: comma-separated type: string + - 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: + + **sourceId**: *eq* + example: sourceId eq "2c91808568c529c60168cca6f90c1313" + in: query + name: filters + required: false + schema: + type: string responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/NonEmployeeSourceWithNECount' + $ref: '#/components/schemas/NonEmployeeRecord' type: array - description: List of non-employee sources objects. + description: Non-Employee record objects "400": content: application/json: @@ -19876,29 +20166,29 @@ paths: security: - UserContextAuth: - idn:nelm:read - summary: List Non-Employee Sources + summary: List Non-Employee Records tags: - Non-Employee Lifecycle Management post: description: |- - This request will create a non-employee source. + This request will create a non-employee record. Request will require the following security scope: 'idn:nesr:create' - operationId: createNonEmployeeSource + operationId: createNonEmployeeRecord requestBody: content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeSourceRequestBody' - description: Non-Employee source creation request body. + $ref: '#/components/schemas/NonEmployeeRequestBody' + description: Non-Employee record creation request body. required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeSourceWithCloudExternalId' - description: Created non-employee source. + $ref: '#/components/schemas/NonEmployeeRecord' + description: Created non-employee record. "400": content: application/json: @@ -19958,18 +20248,18 @@ paths: security: - UserContextAuth: - idn:nelm:manage - summary: Create Non-Employee Source + summary: Create Non-Employee Record tags: - Non-Employee Lifecycle Management - /non-employee-sources/{sourceId}: + /non-employee-records/{id}: delete: - description: This request will delete a non-employee source. - operationId: deleteNonEmployeeSource + description: This request will delete a non-employee record. + operationId: deleteNonEmployeeRecord parameters: - - description: Source Id + - description: Non-Employee record id (UUID) example: 2c91808b6ef1d43e016efba0ce470904 in: path - name: sourceId + name: id required: true schema: type: string @@ -20036,17 +20326,17 @@ paths: security: - UserContextAuth: - idn:nelm:manage - summary: Delete Non-Employee Source + summary: Delete Non-Employee Record tags: - Non-Employee Lifecycle Management get: - description: This gets a non-employee source. - operationId: getNonEmployeeSource + description: This gets a non-employee record. + operationId: getNonEmployeeRecord parameters: - - description: Source Id - example: 2c91808b7c28b350017c2a2ec5790aa1 + - description: Non-Employee record id (UUID) + example: 2c91808b6ef1d43e016efba0ce470904 in: path - name: sourceId + name: id required: true schema: type: string @@ -20055,8 +20345,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeSource' - description: Non-Employee source object. + $ref: '#/components/schemas/NonEmployeeRecord' + description: Non-Employee record object "400": content: application/json: @@ -20116,18 +20406,17 @@ paths: security: - UserContextAuth: - idn:nelm:read - summary: Get a Non-Employee Source + summary: Get a Non-Employee Record tags: - Non-Employee Lifecycle Management patch: - description: "patch a non-employee source. (Partial Update) Patchable field:\ - \ **name, description, approvers, accountManagers**" - operationId: patchNonEmployeeSource + description: This request will patch a non-employee record. + operationId: patchNonEmployeeRecord parameters: - - description: Source Id + - description: Non-employee record id (UUID) example: 2c91808b6ef1d43e016efba0ce470904 in: path - name: sourceId + name: id required: true schema: type: string @@ -20136,112 +20425,25 @@ paths: application/json-patch+json: example: - op: replace - path: /name - value: - new name: null - - op: replace - path: /approvers + path: /endDate value: - - 2c91809f703bb37a017040a2fe8748c7 - - 48b1f463c9e8427db5a5071bd81914b8 + "2019-08-23T18:40:35.772Z": null schema: items: $ref: '#/components/schemas/JsonPatchOperation' type: array - description: "A list of non-employee source update operations according to\ - \ the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard." + description: "A list of non-employee update operations according to the [JSON\ + \ Patch](https://tools.ietf.org/html/rfc6902) standard. Attributes are restricted\ + \ by user type. Owner of source can update end date. Organization admins\ + \ can update all available fields." required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeSource' - description: A patched non-employee source object. - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": - content: - application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - idn:nelm:manage - summary: Patch a Non-Employee Source - tags: - - Non-Employee Lifecycle Management - /non-employee-sources/{id}/non-employees/download: - get: - description: This requests a CSV download for all non-employees from a provided - source. - operationId: exportNonEmployeeRecords - parameters: - - description: Source Id (UUID) - example: 2c918085842e69ae018432d22ccb212f - in: path - name: id - required: true - schema: - type: string - responses: - "200": - content: - text/csv: - example: | - accountName,firstName,lastName,phone,email,manager,startDate,endDate - Jon.Smith, Jon, Smith, 555-555-5555, jon@jon.doe.nope.com, Jim Smith, 2020-04-05T08:00:00-10:00,2020-08-07T19:00:00-10:00 - William.Chaffin, William, Chaffin, 555-555-5555, william@chaffins.nope.com, Bertram Chaffin, 2020-04-05T08:00:00-10:00,2020-08-07T19:00:00-10:00 - description: Exported CSV + $ref: '#/components/schemas/NonEmployeeRecord' + description: A patched non-employee record. "400": content: application/json: @@ -20318,21 +20520,16 @@ paths: error. security: - UserContextAuth: - - idn:nelm:read - idn:nelm:manage - summary: Exports Non-Employee Records to CSV + summary: Patch Non-Employee Record tags: - Non-Employee Lifecycle Management - /non-employee-sources/{id}/non-employee-bulk-upload: - post: - description: |- - This post will import, or update, Non-Employee records found in the CSV. - Request will need the following security scope: - 'idn:nesr:create' - operationId: importNonEmployeeRecordsInBulk + put: + description: This request will update a non-employee record. + operationId: updateNonEmployeeRecord parameters: - - description: Source Id (UUID) - example: e136567de87e4d029e60b3c3c55db56d + - description: Non-employee record id (UUID) + example: 2c91808b6ef1d43e016efba0ce470904 in: path name: id required: true @@ -20340,25 +20537,26 @@ paths: type: string requestBody: content: - multipart/form-data: + application/json: schema: - $ref: '#/components/schemas/importNonEmployeeRecordsInBulk_request' + $ref: '#/components/schemas/NonEmployeeRequestBody' + description: Non-employee record creation request body. Attributes are restricted + by user type. Owner of source can update end date. Organization admins can + update all available fields. + required: true responses: - "202": + "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeBulkUploadJob' - description: The CSV was accepted to be bulk inserted now or at a later - time. + $ref: '#/components/schemas/NonEmployeeRecord' + description: An updated non-employee record. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' - description: | - Client Error - Returned if the request body is invalid. - The response body will contain the list of specific errors with one on each line. + description: Client Error - Returned if the request body is invalid. "401": content: application/json: @@ -20430,113 +20628,27 @@ paths: security: - UserContextAuth: - idn:nelm:manage - summary: "Imports, or Updates, Non-Employee Records" - tags: - - Non-Employee Lifecycle Management - /non-employee-sources/{id}/non-employee-bulk-upload/status: - get: - description: | - The nonEmployeeBulkUploadStatus API returns the status of the newest bulk upload job for the specified source. - operationId: getNonEmployeeBulkUploadStatus - parameters: - - description: Source ID (UUID) - example: 2c918085842e69ae018432d22ccb212f - in: path - name: id - required: true - schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeBulkUploadStatus' - description: "Status of the newest bulk-upload job, if any." - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": - content: - application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - idn:nelm:read - summary: Bulk upload status on source + summary: Update Non-Employee Record tags: - Non-Employee Lifecycle Management - /non-employee-sources/{id}/schema-attributes-template/download: - get: + /non-employee-records/bulk-delete: + post: description: |- - This requests a download for the Source Schema Template for a provided source. - Request will require the following security scope: - idn:nesr:read' - operationId: exportNonEmployeeSourceSchemaTemplate - parameters: - - description: Source Id (UUID) - example: 2c918085842e69ae018432d22ccb212f - in: path - name: id + This request will delete multiple non-employee records based on the non-employee ids provided. + Request will require the following scope: + 'idn:nesr:delete' + operationId: deleteNonEmployeeRecordInBulk + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/deleteNonEmployeeRecordInBulk_request' + description: Non-Employee bulk delete request body. required: true - schema: - type: string responses: - "200": - content: - text/csv: - example: | - accountName,firstName,lastName,phone,email,manager,startDate,endDate - description: Exported Source Schema Template + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -20568,24 +20680,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -20613,23 +20707,15 @@ paths: error. security: - UserContextAuth: - - idn:nelm:read - summary: Exports Source Schema Template + - idn:nelm:manage + summary: Delete Multiple Non-Employee Records tags: - Non-Employee Lifecycle Management - /non-employee-approvals: + /non-employee-requests: get: - description: This gets a list of non-employee approval requests. - operationId: listNonEmployeeApproval + description: This gets a list of non-employee requests. + operationId: listNonEmployeeRequests parameters: - - description: The identity for whom the request was made. *me* indicates the - current user. - example: ac10d20a-841e-1e7d-8184-32d2e22c0179 - in: query - name: requested-for - required: false - schema: - type: string - 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. @@ -20668,36 +20754,46 @@ paths: schema: default: false type: boolean - - 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: - - **approvalStatus**: *eq* - example: approvalStatus eq "PENDING" + - description: The identity for whom the request was made. *me* indicates the + current user. + example: me in: query - name: filters + name: requested-for + required: true schema: type: string - 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, modified** - example: created + Sorting is supported for the following fields: **created, approvalStatus, firstName, lastName, email, phone, accountName, startDate, endDate** + example: "approvalStatus,firstName" in: query name: sorters + required: false schema: format: comma-separated type: string + - 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: + + **sourceId**: *eq* + example: sourceId eq "2c91808568c529c60168cca6f90c1313" + in: query + name: filters + required: false + schema: + type: string responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/NonEmployeeApprovalItem' + $ref: '#/components/schemas/NonEmployeeRequest' type: array - description: List of approval items. + description: List of non-employee request objects. "400": content: application/json: @@ -20757,40 +20853,50 @@ paths: security: - UserContextAuth: - idn:nelm:read - summary: Get List of Non-Employee Approval Requests + summary: List Non-Employee Requests tags: - Non-Employee Lifecycle Management - /non-employee-approvals/{id}: - get: - description: Approves a non-employee approval request and notifies the next - approver. - operationId: getNonEmployeeApproval - parameters: - - description: Non-Employee approval item id (UUID) - example: ac10d20a-841e-1e7d-8184-32d2e22c0179 - in: path - name: id + post: + description: This request will create a non-employee request and notify the + approver + operationId: createNonEmployeeRequest + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NonEmployeeRequestBody' + description: Non-Employee creation request body required: true - schema: - type: string - - description: The object nonEmployeeRequest will not be included detail when - set to false. *Default value is true* - example: include-detail=false - in: query - name: include-detail - required: false - schema: - type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeApprovalItemDetail' - description: Non-Employee approval item object. + $ref: '#/components/schemas/NonEmployeeRequest' + description: Non-Employee request creation object "400": content: application/json: + examples: + "400.1 Bad Request Content": + description: Response for bad request content + value: + detailCode: 400.1 Bad Request Content + trackingId: e7eab60924f64aa284175b9fa3309599 + messages: + - locale: en + localeOrigin: REQUEST + text: firstName is required; accountName is required; + "400.1.409 Reference conflict": + description: Response for reference conflict + value: + detailCode: 400.1.409 Reference conflict + trackingId: e7eab60924f64aa284175b9fa3309599 + messages: + - locale: en + localeOrigin: REQUEST + text: Unable to create Non-Employee because the accountName + "existed" is already being used. schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. @@ -20846,35 +20952,27 @@ paths: error. security: - UserContextAuth: - - idn:nelm:read - summary: Get a non-employee approval item detail + - idn:nelm:manage + summary: Create Non-Employee Request tags: - Non-Employee Lifecycle Management - /non-employee-approvals/{id}/approve: - post: - description: Approves a non-employee approval request and notifies the next - approver. - operationId: approveNonEmployeeRequest + /non-employee-requests/{id}: + delete: + description: This request will delete a non-employee request. + operationId: deleteNonEmployeeRequest parameters: - - description: Non-Employee approval item id (UUID) + - description: Non-Employee request id in the UUID format + example: 2c91808b6ef1d43e016efba0ce470904 in: path name: id required: true schema: + format: uuid type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeApprovalDecision' - required: true responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeApprovalItem' - description: Non-Employee approval item object. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -20906,6 +21004,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -20934,33 +21050,27 @@ paths: security: - UserContextAuth: - idn:nelm:manage - summary: Approve a Non-Employee Request + summary: Delete Non-Employee Request tags: - Non-Employee Lifecycle Management - /non-employee-approvals/{id}/reject: - post: - description: This endpoint will reject an approval item request and notify user. - operationId: rejectNonEmployeeRequest + get: + description: This gets a non-employee request. + operationId: getNonEmployeeRequest parameters: - - description: Non-Employee approval item id (UUID) + - description: Non-Employee request id (UUID) + example: 2c91808b6ef1d43e016efba0ce470904 in: path name: id required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeRejectApprovalDecision' - required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeApprovalItem' - description: Non-Employee approval item object. + $ref: '#/components/schemas/NonEmployeeRequest' + description: Non-Employee request object. "400": content: application/json: @@ -20992,6 +21102,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -21019,37 +21147,39 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Reject a Non-Employee Request + - idn:nelm:read + summary: Get a Non-Employee Request tags: - Non-Employee Lifecycle Management - /non-employee-approvals/summary/{requested-for}: + /non-employee-requests/summary/{requested-for}: get: - description: "This request will retrieve a summary of non-employee approval\ - \ requests. There are two contextual uses for the `requested-for` path parameter:\ - \ 1. The current user is the Org Admin, in which case he or she may request\ - \ a summary of all non-employee approval requests assigned to a particular\ - \ approver by passing in that approver's id. 2. The current user is an approver,\ - \ in which case \"me\" should be provided as the `requested-for` value. This\ - \ will provide the approver with a summary of the approval items assigned\ - \ to him or her." - operationId: getNonEmployeeApprovalSummary - parameters: - - description: The identity (UUID) of the approver for whom for whom the summary - is being retrieved. Use "me" instead to indicate the current user. + description: "This request will retrieve a summary of non-employee requests.\ + \ There are two contextual uses for the `requested-for` path parameter: 1.\ + \ The current user is the Org Admin, in which case he or she may request a\ + \ summary of all non-employee approval requests assigned to a particular account\ + \ manager by passing in that manager's id. 2. The current user is an account\ + \ manager, in which case \"me\" should be provided as the `requested-for`\ + \ value. This will provide the user with a summary of the non-employee requests\ + \ in the source(s) he or she manages." + operationId: getNonEmployeeRequestSummary + parameters: + - description: The identity (UUID) of the non-employee account manager for whom + the summary is being retrieved. Use "me" instead to indicate the current + user. example: ac10d20a-841e-1e7d-8184-32d2e22c0179 in: path name: requested-for required: true schema: + format: uuid (if user is Org Admin) type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/NonEmployeeApprovalSummary' - description: summary of non-employee approval requests + $ref: '#/components/schemas/NonEmployeeRequestSummary' + description: Non-Employee request summary object. "400": content: application/json: @@ -21109,26 +21239,88 @@ paths: security: - UserContextAuth: - idn:nelm:read - summary: Get Summary of Non-Employee Approval Requests + summary: Get Summary of Non-Employee Requests tags: - Non-Employee Lifecycle Management - /non-employee-sources/{sourceId}/schema-attributes: - delete: - description: This end-point deletes all custom schema attributes for a non-employee - source. - operationId: deleteNonEmployeeSourceSchemaAttributes + /non-employee-sources: + get: + description: This gets a list of non-employee sources. + operationId: listNonEmployeeSources parameters: - - description: The Source id - example: 2c91808b6ef1d43e016efba0ce470904 - in: path - name: sourceId + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - description: The identity for whom the request was made. *me* indicates the + current user. + example: me + in: query + name: requested-for required: true schema: type: string + - description: The flag to determine whether return a non-employee count associate + with source. + example: false + in: query + name: non-employee-count + required: true + schema: + type: boolean + - 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: **name, created, sourceId** + example: "name,created" + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NonEmployeeSourceWithNECount' + type: array + description: List of non-employee sources objects. "400": content: application/json: @@ -21187,42 +21379,30 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Delete all custom schema attributes + - idn:nelm:read + summary: List Non-Employee Sources tags: - Non-Employee Lifecycle Management - get: - description: "This API gets the list of schema attributes for the specified\ - \ Non-Employee SourceId. There are 8 mandatory attributes added to each new\ - \ Non-Employee Source automatically. Additionaly, user can add up to 10 custom\ - \ attributes. This interface returns all the mandatory attributes followed\ - \ by any custom attributes. At most, a total of 18 attributes will be returned." - operationId: getNonEmployeeSourceSchemaAttributes - parameters: - - description: The Source id - example: 2c918085842e69ae018432d22ccb212f - in: path - name: sourceId + post: + description: |- + This request will create a non-employee source. + Request will require the following security scope: + 'idn:nesr:create' + operationId: createNonEmployeeSource + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NonEmployeeSourceRequestBody' + description: Non-Employee source creation request body. required: true - schema: - type: string responses: "200": content: application/json: schema: - example: - - type: TEXT - label: string - technicalName: string - helpText: string - placeholder: string - required: true - items: - $ref: '#/components/schemas/NonEmployeeSchemaAttribute' - maxItems: 18 - type: array - description: A list of Schema Attributes + $ref: '#/components/schemas/NonEmployeeSourceWithCloudExternalId' + description: Created non-employee source. "400": content: application/json: @@ -21254,24 +21434,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -21298,39 +21460,27 @@ paths: description: Internal Server Error - Returned if there is an unexpected error. security: - - UserContextAuth: [] - summary: List Schema Attributes Non-Employee Source + - UserContextAuth: + - idn:nelm:manage + summary: Create Non-Employee Source tags: - Non-Employee Lifecycle Management - post: - description: "This API creates a new schema attribute for Non-Employee Source.\ - \ The schema technical name must be unique in the source. Attempts to create\ - \ a schema attribute with an existing name will result in a \"400.1.409 Reference\ - \ conflict\" response. At most, 10 custom attributes can be created per schema.\ - \ Attempts to create more than 10 will result in a \"400.1.4 Limit violation\"\ - \ response." - operationId: createNonEmployeeSourceSchemaAttributes + /non-employee-sources/{sourceId}: + delete: + description: This request will delete a non-employee source. + operationId: deleteNonEmployeeSource parameters: - - description: The Source id + - description: Source Id example: 2c91808b6ef1d43e016efba0ce470904 in: path name: sourceId required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeSchemaAttributeBody' - required: true responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeSchemaAttribute' - description: Schema Attribute created. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -21390,33 +21540,27 @@ paths: security: - UserContextAuth: - idn:nelm:manage - summary: Create Non-Employee Source Schema Attribute + summary: Delete Non-Employee Source tags: - Non-Employee Lifecycle Management - /non-employee-sources/{sourceId}/schema-attributes/{attributeId}: - delete: - description: | - This end-point deletes a specific schema attribute for a non-employee source. - operationId: deleteNonEmployeeSchemaAttribute + get: + description: This gets a non-employee source. + operationId: getNonEmployeeSource parameters: - - description: The Schema Attribute Id (UUID) - example: 2c91808b6ef1d43e016efba0ce470904 - in: path - name: attributeId - required: true - schema: - type: string - - description: The Source id - example: 2c91808b6ef1d43e016efba0ce470904 + - description: Source Id + example: 2c91808b7c28b350017c2a2ec5790aa1 in: path name: sourceId required: true schema: type: string responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/NonEmployeeSource' + description: Non-Employee source object. "400": content: application/json: @@ -21475,38 +21619,49 @@ paths: error. security: - UserContextAuth: - - idn:nelm:manage - summary: Delete Non-Employee Source's Schema Attribute + - idn:nelm:read + summary: Get a Non-Employee Source tags: - Non-Employee Lifecycle Management - get: - description: This API gets a schema attribute by Id for the specified Non-Employee - SourceId. - operationId: getNonEmployeeSchemaAttribute + patch: + description: "patch a non-employee source. (Partial Update) Patchable field:\ + \ **name, description, approvers, accountManagers**" + operationId: patchNonEmployeeSource parameters: - - description: The Schema Attribute Id (UUID) - example: 2c918085842e69ae018432d22ccb212f - in: path - name: attributeId - required: true - schema: - type: string - - description: The Source id - example: 2c918085842e69ae018432d22ccb212f + - description: Source Id + example: 2c91808b6ef1d43e016efba0ce470904 in: path name: sourceId required: true schema: type: string + requestBody: + content: + application/json-patch+json: + example: + - op: replace + path: /name + value: + new name: null + - op: replace + path: /approvers + value: + - 2c91809f703bb37a017040a2fe8748c7 + - 48b1f463c9e8427db5a5071bd81914b8 + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: "A list of non-employee source update operations according to\ + \ the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard." + required: true responses: "200": content: application/json: - example: | - id,system,modified,created,type,label,technicalName,helpText,placeholder,required schema: - $ref: '#/components/schemas/NonEmployeeSchemaAttribute' - description: The Schema Attribute + $ref: '#/components/schemas/NonEmployeeSource' + description: A patched non-employee source object. "400": content: application/json: @@ -21565,53 +21720,32 @@ paths: error. security: - UserContextAuth: - - idn:nelm:read - summary: Get Schema Attribute Non-Employee Source + - idn:nelm:manage + summary: Patch a Non-Employee Source tags: - Non-Employee Lifecycle Management - patch: - description: | - This end-point patches a specific schema attribute for a non-employee SourceId. - operationId: patchNonEmployeeSchemaAttribute + /non-employee-sources/{id}/non-employees/download: + get: + description: This requests a CSV download for all non-employees from a provided + source. + operationId: exportNonEmployeeRecords parameters: - - description: The Schema Attribute Id (UUID) - example: 2c91808b6ef1d43e016efba0ce470904 - in: path - name: attributeId - required: true - schema: - type: string - - description: The Source id - example: 2c91808b6ef1d43e016efba0ce470904 + - description: Source Id (UUID) + example: 2c918085842e69ae018432d22ccb212f in: path - name: sourceId + name: id required: true schema: type: string - requestBody: - content: - application/json-patch+json: - example: - - op: replace - path: /label - value: - new attribute label: null - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: "A list of schema attribute update operations according to the\ - \ [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following\ - \ properties are allowed for update ':' 'label', 'helpText', 'placeholder',\ - \ 'required'." - required: true responses: "200": content: - application/json: - schema: - $ref: '#/components/schemas/NonEmployeeSchemaAttribute' - description: The Schema Attribute was successfully patched. + text/csv: + example: | + accountName,firstName,lastName,phone,email,manager,startDate,endDate + Jon.Smith, Jon, Smith, 555-555-5555, jon@jon.doe.nope.com, Jim Smith, 2020-04-05T08:00:00-10:00,2020-08-07T19:00:00-10:00 + William.Chaffin, William, Chaffin, 555-555-5555, william@chaffins.nope.com, Bertram Chaffin, 2020-04-05T08:00:00-10:00,2020-08-07T19:00:00-10:00 + description: Exported CSV "400": content: application/json: @@ -21688,43 +21822,47 @@ paths: error. security: - UserContextAuth: + - idn:nelm:read - idn:nelm:manage - summary: Patch Non-Employee Source's Schema Attribute + summary: Exports Non-Employee Records to CSV tags: - Non-Employee Lifecycle Management - /managed-clients/{id}/status: - get: - deprecated: true - description: Retrieve Managed Client Status by ID. - operationId: getManagedClientStatus + /non-employee-sources/{id}/non-employee-bulk-upload: + post: + description: |- + This post will import, or update, Non-Employee records found in the CSV. + Request will need the following security scope: + 'idn:nesr:create' + operationId: importNonEmployeeRecordsInBulk parameters: - - description: ID of the Managed Client Status to get + - description: Source Id (UUID) + example: e136567de87e4d029e60b3c3c55db56d in: path name: id required: true schema: - example: aClientId type: string - - description: Type of the Managed Client Status to get - in: query - name: type - required: true - schema: - $ref: '#/components/schemas/ManagedClientType' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/importNonEmployeeRecordsInBulk_request' responses: - "200": + "202": content: application/json: schema: - $ref: '#/components/schemas/ManagedClientStatus' - description: Responds with Managed Client Status having the given ID and - Type. + $ref: '#/components/schemas/NonEmployeeBulkUploadJob' + description: The CSV was accepted to be bulk inserted now or at a later + time. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + description: | + Client Error - Returned if the request body is invalid. + The response body will contain the list of specific errors with one on each line. "401": content: application/json: @@ -21795,35 +21933,30 @@ paths: error. security: - UserContextAuth: - - idn:managed-client-status:read - summary: Specified Managed Client Status. + - idn:nelm:manage + summary: "Imports, or Updates, Non-Employee Records" tags: - - Managed Clients - post: - deprecated: true - description: Update a status detail passed in from the client - operationId: updateManagedClientStatus + - Non-Employee Lifecycle Management + /non-employee-sources/{id}/non-employee-bulk-upload/status: + get: + description: | + The nonEmployeeBulkUploadStatus API returns the status of the newest bulk upload job for the specified source. + operationId: getNonEmployeeBulkUploadStatus parameters: - - description: ID of the Managed Client Status to update + - description: Source ID (UUID) + example: 2c918085842e69ae018432d22ccb212f in: path name: id required: true schema: - example: aClientId type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManagedClientStatus' - required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ManagedClientStatusAggResponse' - description: Responds with the updated Managed Client Status. + $ref: '#/components/schemas/NonEmployeeBulkUploadStatus' + description: "Status of the newest bulk-upload job, if any." "400": content: application/json: @@ -21855,24 +21988,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -21900,32 +22015,32 @@ paths: error. security: - UserContextAuth: - - idn:managed-client-status:manage - summary: Handle status request from client + - idn:nelm:read + summary: Bulk upload status on source tags: - - Managed Clients - /managed-clusters/{id}: + - Non-Employee Lifecycle Management + /non-employee-sources/{id}/schema-attributes-template/download: get: - deprecated: true - description: Retrieve a ManagedCluster by ID. - operationId: getManagedCluster + description: |- + This requests a download for the Source Schema Template for a provided source. + Request will require the following security scope: + idn:nesr:read' + operationId: exportNonEmployeeSourceSchemaTemplate parameters: - - description: ID of the ManagedCluster to get - explode: false + - description: Source Id (UUID) + example: 2c918085842e69ae018432d22ccb212f in: path name: id required: true schema: - example: aClusterId type: string - style: simple responses: "200": content: - application/json: - schema: - $ref: '#/components/schemas/ManagedCluster' - description: Responds with ManagedCluster having the given ID. + text/csv: + example: | + accountName,firstName,lastName,phone,email,manager,startDate,endDate + description: Exported Source Schema Template "400": content: application/json: @@ -22002,34 +22117,91 @@ paths: error. security: - UserContextAuth: - - idn:remote-client:read - - idn:remote-client:manage - summary: Get a specified ManagedCluster. + - idn:nelm:read + summary: Exports Source Schema Template tags: - - Managed Clusters - /managed-clusters/{id}/log-config: + - Non-Employee Lifecycle Management + /non-employee-approvals: get: - deprecated: true - description: Get managed cluster's log configuration. - operationId: getClientLogConfiguration + description: This gets a list of non-employee approval requests. + operationId: listNonEmployeeApproval parameters: - - description: ID of ManagedCluster to get log configuration for - explode: false - in: path - name: id - required: true + - description: The identity for whom the request was made. *me* indicates the + current user. + example: ac10d20a-841e-1e7d-8184-32d2e22c0179 + in: query + name: requested-for + required: false schema: - example: aClusterId type: string - style: simple + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: + + **approvalStatus**: *eq* + example: approvalStatus eq "PENDING" + in: query + name: filters + schema: + type: string + - 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, modified** + example: created + in: query + name: sorters + schema: + format: comma-separated + type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ClientLogConfiguration' - description: Log configuration of ManagedCluster matching given cluster - ID + items: + $ref: '#/components/schemas/NonEmployeeApprovalItem' + type: array + description: List of approval items. "400": content: application/json: @@ -22061,24 +22233,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -22106,39 +22260,38 @@ paths: error. security: - UserContextAuth: - - idn:remote-client:read - - idn:remote-client:manage - summary: Get managed cluster's log configuration + - idn:nelm:read + summary: Get List of Non-Employee Approval Requests tags: - - Managed Clusters - put: - deprecated: true - description: Update managed cluster's log configuration - operationId: putClientLogConfiguration + - Non-Employee Lifecycle Management + /non-employee-approvals/{id}: + get: + description: Approves a non-employee approval request and notifies the next + approver. + operationId: getNonEmployeeApproval parameters: - - description: ID of ManagedCluster to update log configuration for - explode: false + - description: Non-Employee approval item id (UUID) + example: ac10d20a-841e-1e7d-8184-32d2e22c0179 in: path name: id required: true schema: - example: aClusterId type: string - style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ClientLogConfiguration' - description: ClientLogConfiguration for given ManagedCluster - required: true + - description: The object nonEmployeeRequest will not be included detail when + set to false. *Default value is true* + example: include-detail=false + in: query + name: include-detail + required: false + schema: + type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ClientLogConfiguration' - description: Responds with updated ClientLogConfiguration for given ManagedCluster + $ref: '#/components/schemas/NonEmployeeApprovalItemDetail' + description: Non-Employee approval item object. "400": content: application/json: @@ -22170,24 +22323,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -22215,75 +22350,35 @@ paths: error. security: - UserContextAuth: - - idn:remote-client:manage - summary: Update managed cluster's log configuration + - idn:nelm:read + summary: Get a non-employee approval item detail tags: - - Managed Clusters - /managed-clusters: - get: - deprecated: true - description: "Retrieve all Managed Clusters for the current Org, based on request\ - \ context." - operationId: getManagedClusters + - Non-Employee Lifecycle Management + /non-employee-approvals/{id}/approve: + post: + description: Approves a non-employee approval request and notifies the next + approver. + operationId: approveNonEmployeeRequest parameters: - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: - - **operational**: *eq* - example: operational eq operation - in: query - name: filters + - description: Non-Employee approval item id (UUID) + in: path + name: id + required: true schema: type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NonEmployeeApprovalDecision' + required: true responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/ManagedCluster' - type: array - description: Responds with a list of ManagedCluster. + $ref: '#/components/schemas/NonEmployeeApprovalItem' + description: Non-Employee approval item object. "400": content: application/json: @@ -22342,32 +22437,34 @@ paths: error. security: - UserContextAuth: - - idn:remote-client:read - - idn:remote-client:manage - summary: Retrieve all Managed Clusters. + - idn:nelm:manage + summary: Approve a Non-Employee Request tags: - - Managed Clusters - /mail-from-attributes: - put: - description: Change the MAIL FROM domain of an AWS SES email identity and provide - the MX and TXT records to be placed in the caller's DNS - operationId: putMailFromAttributes + - Non-Employee Lifecycle Management + /non-employee-approvals/{id}/reject: + post: + description: This endpoint will reject an approval item request and notify user. + operationId: rejectNonEmployeeRequest + parameters: + - description: Non-Employee approval item id (UUID) + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: - example: - identity: BobSmith@sailpoint.com - mailFromDomain: example.sailpoint.com schema: - $ref: '#/components/schemas/MailFromAttributesDto' + $ref: '#/components/schemas/NonEmployeeRejectApprovalDecision' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/MailFromAttributes' - description: MAIL FROM Attributes required to verify the change + $ref: '#/components/schemas/NonEmployeeApprovalItem' + description: Non-Employee approval item object. "400": content: application/json: @@ -22426,20 +22523,27 @@ paths: error. security: - UserContextAuth: - - sp:notification-mail-from-attributes:write - summary: Change MAIL FROM domain + - idn:nelm:manage + summary: Reject a Non-Employee Request tags: - - Notifications - /mail-from-attributes/{identity}: + - Non-Employee Lifecycle Management + /non-employee-approvals/summary/{requested-for}: get: - description: Retrieve MAIL FROM attributes for a given AWS SES identity. - operationId: getMailFromAttributes + description: "This request will retrieve a summary of non-employee approval\ + \ requests. There are two contextual uses for the `requested-for` path parameter:\ + \ 1. The current user is the Org Admin, in which case he or she may request\ + \ a summary of all non-employee approval requests assigned to a particular\ + \ approver by passing in that approver's id. 2. The current user is an approver,\ + \ in which case \"me\" should be provided as the `requested-for` value. This\ + \ will provide the approver with a summary of the approval items assigned\ + \ to him or her." + operationId: getNonEmployeeApprovalSummary parameters: - - description: "Returns the MX and TXT record to be put in your DNS, as well\ - \ as the MAIL FROM domain status" - example: bobsmith@sailpoint.com - in: query - name: id + - description: The identity (UUID) of the approver for whom for whom the summary + is being retrieved. Use "me" instead to indicate the current user. + example: ac10d20a-841e-1e7d-8184-32d2e22c0179 + in: path + name: requested-for required: true schema: type: string @@ -22448,8 +22552,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/MailFromAttributes' - description: MAIL FROM Attributes object + $ref: '#/components/schemas/NonEmployeeApprovalSummary' + description: summary of non-employee approval requests "400": content: application/json: @@ -22508,54 +22612,27 @@ paths: error. security: - UserContextAuth: - - sp:notification-mail-from-attributes:read - summary: Get MAIL FROM Attributes + - idn:nelm:read + summary: Get Summary of Non-Employee Approval Requests tags: - - Notifications - /generic-approvals: - get: - description: "Retrieve a list of approvals, which can be filtered by requester\ - \ ID, status, or reference type. \"Mine\" query parameter can be used and\ - \ it will return all approvals for the current approver. This endpoint is\ - \ for generic approvals, different than the access-request-approval endpoint\ - \ and does not include access-request-approvals. \nAbsence of all query parameters\ - \ will will default to mine=true." - operationId: getApprovals + - Non-Employee Lifecycle Management + /non-employee-sources/{sourceId}/schema-attributes: + delete: + description: This end-point deletes all custom schema attributes for a non-employee + source. + operationId: deleteNonEmployeeSourceSchemaAttributes parameters: - - description: Returns the list of approvals for the current caller - example: "true" - in: query - name: mine - schema: - type: boolean - - description: Returns the list of approvals for a given requester ID - example: 17e633e7d57e481569df76323169deb6a - in: query - name: requesterId - schema: - type: string - - 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: - - **status**: *eq* - - **referenceType**: *eq* - example: filters=status eq PENDING - in: query - name: filters + - description: The Source id + example: 2c91808b6ef1d43e016efba0ce470904 + in: path + name: sourceId + required: true schema: type: string responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/Approval' - type: array - description: List of Approvals + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -22614,21 +22691,22 @@ paths: error. security: - UserContextAuth: - - sp:approvals:read - summary: Get Approvals + - idn:nelm:manage + summary: Delete all custom schema attributes tags: - - Approvals - /generic-approvals/{id}: + - Non-Employee Lifecycle Management get: - description: "Retrieve a single approval for a given approval ID. This endpoint\ - \ is for generic approvals, different than the access-request-approval endpoint\ - \ and does not include access-request-approvals." - operationId: getApproval + description: "This API gets the list of schema attributes for the specified\ + \ Non-Employee SourceId. There are 8 mandatory attributes added to each new\ + \ Non-Employee Source automatically. Additionaly, user can add up to 10 custom\ + \ attributes. This interface returns all the mandatory attributes followed\ + \ by any custom attributes. At most, a total of 18 attributes will be returned." + operationId: getNonEmployeeSourceSchemaAttributes parameters: - - description: ID of the approval that is to be returned - example: 38453251-6be2-5f8f-df93-5ce19e295837 + - description: The Source id + example: 2c918085842e69ae018432d22ccb212f in: path - name: id + name: sourceId required: true schema: type: string @@ -22637,8 +22715,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Approval' - description: Approval object + example: + - type: TEXT + label: string + technicalName: string + helpText: string + placeholder: string + required: true + items: + $ref: '#/components/schemas/NonEmployeeSchemaAttribute' + maxItems: 18 + type: array + description: A list of Schema Attributes "400": content: application/json: @@ -22670,6 +22758,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -22696,29 +22802,39 @@ paths: description: Internal Server Error - Returned if there is an unexpected error. security: - - UserContextAuth: - - sp:approvals:read - summary: Get an approval + - UserContextAuth: [] + summary: List Schema Attributes Non-Employee Source tags: - - Approvals - /mfa/okta-verify/config: - get: - description: This API returns the configuration of an Okta MFA method. A token - with ORG_ADMIN authority is required to call this API. - operationId: getMFAOktaConfig + - Non-Employee Lifecycle Management + post: + description: "This API creates a new schema attribute for Non-Employee Source.\ + \ The schema technical name must be unique in the source. Attempts to create\ + \ a schema attribute with an existing name will result in a \"400.1.409 Reference\ + \ conflict\" response. At most, 10 custom attributes can be created per schema.\ + \ Attempts to create more than 10 will result in a \"400.1.4 Limit violation\"\ + \ response." + operationId: createNonEmployeeSourceSchemaAttributes + parameters: + - description: The Source id + example: 2c91808b6ef1d43e016efba0ce470904 + in: path + name: sourceId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NonEmployeeSchemaAttributeBody' + required: true responses: "200": content: application/json: - example: - mfaMethod: okta-verify - enabled: true - host: www.example.com - accessKey: d******Y - identityAttribute: email schema: - $ref: '#/components/schemas/MfaOktaConfig' - description: The configuration of an Okta MFA method. + $ref: '#/components/schemas/NonEmployeeSchemaAttribute' + description: Schema Attribute created. "400": content: application/json: @@ -22777,40 +22893,34 @@ paths: error. security: - UserContextAuth: - - idn:mfa-configuration:read - - idn:mfa-configuration:manage - summary: Configuration of Okta MFA method + - idn:nelm:manage + summary: Create Non-Employee Source Schema Attribute tags: - - MFA Configuration - put: - description: This API sets the configuration of an Okta MFA method. A token - with ORG_ADMIN authority is required to call this API. - operationId: setMFAOktaConfig - requestBody: - content: - application/json: - example: - mfaMethod: okta-verify - enabled: true - host: www.example.com - accessKey: dk778Y3QlA5UqocYpdU3rEkzrK2D497y - identityAttribute: email - schema: - $ref: '#/components/schemas/MfaOktaConfig' + - Non-Employee Lifecycle Management + /non-employee-sources/{sourceId}/schema-attributes/{attributeId}: + delete: + description: | + This end-point deletes a specific schema attribute for a non-employee source. + operationId: deleteNonEmployeeSchemaAttribute + parameters: + - description: The Schema Attribute Id (UUID) + example: 2c91808b6ef1d43e016efba0ce470904 + in: path + name: attributeId + required: true + schema: + type: string + - description: The Source id + example: 2c91808b6ef1d43e016efba0ce470904 + in: path + name: sourceId required: true + schema: + type: string responses: - "200": - content: - application/json: - example: - mfaMethod: okta-verify - enabled: true - host: www.example.com - accessKey: d******Y - identityAttribute: email - schema: - $ref: '#/components/schemas/MfaOktaConfig' - description: MFA configuration of an Okta MFA method. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -22869,31 +22979,38 @@ paths: error. security: - UserContextAuth: - - idn:mfa-configuration:manage - summary: Set Okta MFA configuration + - idn:nelm:manage + summary: Delete Non-Employee Source's Schema Attribute tags: - - MFA Configuration - /mfa/duo-web/config: + - Non-Employee Lifecycle Management get: - description: This API returns the configuration of an Duo MFA method. A token - with ORG_ADMIN authority is required to call this API. - operationId: getMFADuoConfig + description: This API gets a schema attribute by Id for the specified Non-Employee + SourceId. + operationId: getNonEmployeeSchemaAttribute + parameters: + - description: The Schema Attribute Id (UUID) + example: 2c918085842e69ae018432d22ccb212f + in: path + name: attributeId + required: true + schema: + type: string + - description: The Source id + example: 2c918085842e69ae018432d22ccb212f + in: path + name: sourceId + required: true + schema: + type: string responses: "200": content: application/json: - example: - mfaMethod: duo-web - enabled: true - host: www.example.com - accessKey: d******Y - identityAttribute: email - configProperties: - skey: 6******B - ikey: Q123WE45R6TY7890ZXCV + example: | + id,system,modified,created,type,label,technicalName,helpText,placeholder,required schema: - $ref: '#/components/schemas/MfaDuoConfig' - description: The configuration of an Duo MFA method. + $ref: '#/components/schemas/NonEmployeeSchemaAttribute' + description: The Schema Attribute "400": content: application/json: @@ -22952,46 +23069,53 @@ paths: error. security: - UserContextAuth: - - idn:mfa-configuration:read - - idn:mfa-configuration:manage - summary: Configuration of Duo MFA method + - idn:nelm:read + summary: Get Schema Attribute Non-Employee Source tags: - - MFA Configuration - put: - description: This API sets the configuration of an Duo MFA method. A token with - ORG_ADMIN authority is required to call this API. - operationId: setMFADuoConfig + - Non-Employee Lifecycle Management + patch: + description: | + This end-point patches a specific schema attribute for a non-employee SourceId. + operationId: patchNonEmployeeSchemaAttribute + parameters: + - description: The Schema Attribute Id (UUID) + example: 2c91808b6ef1d43e016efba0ce470904 + in: path + name: attributeId + required: true + schema: + type: string + - description: The Source id + example: 2c91808b6ef1d43e016efba0ce470904 + in: path + name: sourceId + required: true + schema: + type: string requestBody: content: - application/json: + application/json-patch+json: example: - mfaMethod: duo-web - enabled: true - host: www.example.com - accessKey: qw123Y3QlA5UqocYpdU3rEkzrK2D497y - identityAttribute: email - configProperties: - skey: 12q3WERlcUHWJmiMqyCXI3uOF7EaDJTbdeOp6E2B - ikey: Q123WE45R6TY7890ZXCV + - op: replace + path: /label + value: + new attribute label: null schema: - $ref: '#/components/schemas/MfaDuoConfig' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: "A list of schema attribute update operations according to the\ + \ [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following\ + \ properties are allowed for update ':' 'label', 'helpText', 'placeholder',\ + \ 'required'." required: true responses: "200": content: application/json: - example: - mfaMethod: duo-web - enabled: true - host: www.example.com - accessKey: q******y - identityAttribute: email - configProperties: - skey: 1******B - ikey: Q123WE45R6TY7890ZXCV schema: - $ref: '#/components/schemas/MfaDuoConfig' - description: MFA configuration of an Duo MFA method. + $ref: '#/components/schemas/NonEmployeeSchemaAttribute' + description: The Schema Attribute was successfully patched. "400": content: application/json: @@ -23023,6 +23147,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -23050,46 +23192,37 @@ paths: error. security: - UserContextAuth: - - idn:mfa-configuration:manage - summary: Set Duo MFA configuration + - idn:nelm:manage + summary: Patch Non-Employee Source's Schema Attribute tags: - - MFA Configuration - /mfa/kba/config: + - Non-Employee Lifecycle Management + /managed-clients/{id}/status: get: - description: This API returns the KBA configuration for MFA. A token with USER - or ORG_ADMIN authority is required to call this API. - operationId: getMFAKbaConfig + deprecated: true + description: Retrieve Managed Client Status by ID. + operationId: getManagedClientStatus parameters: - - description: "Indicator whether the question text should be returned in all\ - \ configured languages\n * If true, the question text is returned in all\ - \ languages that it is configured in.\n * If false, the question text\ - \ is returned in the user locale if available, else for the default locale.\ - \ \n * If not passed, it behaves the same way as passing this parameter\ - \ as false" - example: allLanguages=true + - description: ID of the Managed Client Status to get + in: path + name: id + required: true + schema: + example: aClientId + type: string + - description: Type of the Managed Client Status to get in: query - name: allLanguages - required: false + name: type + required: true schema: - type: boolean + $ref: '#/components/schemas/ManagedClientType' responses: "200": content: application/json: - example: - - id: 143cfd3b-c23f-426b-ae5f-d3db06fa5919 - text: MFA new question -1 ? - hasAnswer: false - numAnswers: 0 - - id: "173421" - text: What is your alphanumeric PIN? - hasAnswer: false - numAnswers: 3 schema: - items: - $ref: '#/components/schemas/KbaQuestion' - type: array - description: The configuration for KBA MFA method. + $ref: '#/components/schemas/ManagedClientStatus' + description: Responds with Managed Client Status having the given ID and + Type. "400": content: application/json: @@ -23121,6 +23254,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -23148,51 +23299,35 @@ paths: error. security: - UserContextAuth: - - idn:mfa-kba:read - summary: Configuration of KBA MFA method + - idn:managed-client-status:read + summary: Specified Managed Client Status. tags: - - MFA Configuration - /mfa/kba/config/answers: + - Managed Clients post: - description: |- - This API sets answers to challenge questions. Any configured questions omitted from the request are removed from user KBA configuration. - A token with USER authority is required to call this API. - operationId: setMFAKBAConfig + deprecated: true + description: Update a status detail passed in from the client + operationId: updateManagedClientStatus + parameters: + - description: ID of the Managed Client Status to update + in: path + name: id + required: true + schema: + example: aClientId + type: string requestBody: content: application/json: - example: - - id: "173423" - answer: 822cd15d6c15aa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a0859a2fea34 - - id: c54fee53-2d63-4fc5-9259-3e93b9994135 - answer: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 schema: - items: - $ref: '#/components/schemas/KbaAnswerRequestItem' - type: array + $ref: '#/components/schemas/ManagedClientStatus' required: true responses: "200": content: application/json: - example: - - id: 143cfd3b-c23f-426b-ae5f-d3db06fa5919 - question: "[{\"text\":\"Nouvelle question MFA -1 ?\",\"locale\":\"\ - fr\"},{\"text\":\"MFA new question -1 ?\",\"locale\":\"\"}]" - hasAnswer: false - - id: "173421" - question: "[{\"text\":\"What is your alphanumeric PIN?\",\"locale\"\ - :\"\"}]" - hasAnswer: true - - id: c54fee53-2d63-4fc5-9259-3e93b9994135 - question: "[{\"text\":\"Nouvelle question MFA - 2 ?\",\"locale\":\"\ - fr\"},{\"text\":\"MFA new question - 2 ?\",\"locale\":\"\"}]" - hasAnswer: true schema: - items: - $ref: '#/components/schemas/KbaAnswerResponseItem' - type: array - description: The new KBA configuration for the user. + $ref: '#/components/schemas/ManagedClientStatusAggResponse' + description: Responds with the updated Managed Client Status. "400": content: application/json: @@ -23224,6 +23359,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -23251,35 +23404,32 @@ paths: error. security: - UserContextAuth: - - idn:mfa-kba:authenticate - summary: Set MFA KBA configuration + - idn:managed-client-status:manage + summary: Handle status request from client tags: - - MFA Configuration - /mfa/{method}/test: + - Managed Clients + /managed-clusters/{id}: get: - description: |- - This API validates that the configuration is valid and will properly authenticate with the MFA provider identified by the method path parameter. - A token with ORG_ADMIN authority is required to call this API. - operationId: testMFAConfig + deprecated: true + description: Retrieve a ManagedCluster by ID. + operationId: getManagedCluster parameters: - - description: The name of the MFA method. The currently supported method names - are 'okta-verify' and 'duo-web'. + - description: ID of the ManagedCluster to get + explode: false in: path - name: method + name: id required: true schema: - example: okta-verify + example: aClusterId type: string + style: simple responses: "200": content: application/json: - example: - state: SUCCESS - error: null schema: - $ref: '#/components/schemas/MfaConfigTestResponse' - description: The result of configuration test for the MFA provider. + $ref: '#/components/schemas/ManagedCluster' + description: Responds with ManagedCluster having the given ID. "400": content: application/json: @@ -23311,6 +23461,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -23338,39 +23506,34 @@ paths: error. security: - UserContextAuth: - - idn:mfa-configuration:read - - idn:mfa-configuration:manage - summary: MFA method's test configuration + - idn:remote-client:read + - idn:remote-client:manage + summary: Get a specified ManagedCluster. tags: - - MFA Configuration - /mfa/{method}/delete: - delete: - description: |- - This API removes the configuration for the specified MFA method. - A token with ORG_ADMIN authority is required to call this API. - operationId: deleteMFAConfig + - Managed Clusters + /managed-clusters/{id}/log-config: + get: + deprecated: true + description: Get managed cluster's log configuration. + operationId: getClientLogConfiguration parameters: - - description: The name of the MFA method. The currently supported method names - are 'okta-verify' and 'duo-web'. + - description: ID of ManagedCluster to get log configuration for + explode: false in: path - name: method + name: id required: true schema: - example: okta-verify + example: aClusterId type: string + style: simple responses: "200": content: application/json: - example: - mfaMethod: okta-verify - enabled: true - host: www.example.com - accessKey: d******Y - identityAttribute: email schema: - $ref: '#/components/schemas/MfaOktaConfig' - description: MFA configuration of an MFA method. + $ref: '#/components/schemas/ClientLogConfiguration' + description: Log configuration of ManagedCluster matching given cluster + ID "400": content: application/json: @@ -23402,6 +23565,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -23429,35 +23610,39 @@ paths: error. security: - UserContextAuth: - - idn:mfa-configuration:manage - summary: Delete MFA method configuration + - idn:remote-client:read + - idn:remote-client:manage + summary: Get managed cluster's log configuration tags: - - MFA Configuration - /mfa/okta-verify/verify: - post: - description: "This API Authenticates the user via Okta-Verify MFA method. Request\ - \ requires a header called 'slpt-forwarding', and it must contain a remote\ - \ IP Address of caller." - operationId: sendOktaVerifyRequest + - Managed Clusters + put: + deprecated: true + description: Update managed cluster's log configuration + operationId: putClientLogConfiguration + parameters: + - description: ID of ManagedCluster to update log configuration for + explode: false + in: path + name: id + required: true + schema: + example: aClusterId + type: string + style: simple requestBody: content: application/json: - example: - userId: example@mail.com schema: - $ref: '#/components/schemas/OktaVerificationRequest' + $ref: '#/components/schemas/ClientLogConfiguration' + description: ClientLogConfiguration for given ManagedCluster required: true responses: "200": content: application/json: - example: - requestId: 089899f13a8f4da7824996191587bab9 - status: SUCCESS - error: "" schema: - $ref: '#/components/schemas/VerificationResponse' - description: The status of verification request. + $ref: '#/components/schemas/ClientLogConfiguration' + description: Responds with updated ClientLogConfiguration for given ManagedCluster "400": content: application/json: @@ -23489,92 +23674,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": - content: - application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - idn:mfa:verify - summary: Verifying authentication via Okta method - tags: - - MFA Controller - /mfa/duo-web/verify: - post: - description: This API Authenticates the user via Duo-Web MFA method. - operationId: sendDuoVerifyRequest - requestBody: - content: - application/json: - example: - userId: 2c9180947f0ef465017f215cbcfd004b - signedResponse: AUTH|d2lsbC5hbGJpbnxESTZNMFpHSThKQVRWTVpZN0M5VXwxNzAxMjUzMDg5|f1f5f8ced5b340f3d303b05d0efa0e43b6a8f970:APP|d2lsbC5hbGJpbnxESTZNMFpHSThKQVRWTVpZN0M5VXwxNzAxMjU2NjE5|cb44cf44353f5127edcae31b1da0355f87357db2 - schema: - $ref: '#/components/schemas/DuoVerificationRequest' - required: true - responses: - "200": - content: - application/json: - example: - requestId: 089899f13a8f4da7824996191587bab9 - status: SUCCESS - error: "" - schema: - $ref: '#/components/schemas/VerificationResponse' - description: The status of verification request. - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." - "403": + "404": content: application/json: examples: - "403": - summary: An example of a 403 response object + "404": + summary: An example of a 404 response object value: - detailCode: 403 Forbidden + detailCode: 404 Not found trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. + text: The server did not find a current representation for the + target resource. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -23602,43 +23719,75 @@ paths: error. security: - UserContextAuth: - - idn:mfa:verify - summary: Verifying authentication via Duo method + - idn:remote-client:manage + summary: Update managed cluster's log configuration tags: - - MFA Controller - /mfa/{method}/poll: - post: - description: This API poll the VerificationPollRequest for the specified MFA - method. A token with ORG_ADMIN authority is required to call this API. - operationId: pingVerificationStatus + - Managed Clusters + /managed-clusters: + get: + deprecated: true + description: "Retrieve all Managed Clusters for the current Org, based on request\ + \ context." + operationId: getManagedClusters parameters: - - description: "The name of the MFA method. The currently supported method names\ - \ are 'okta-verify', 'duo-web', 'kba','token', 'rsa'" - in: path - name: method - required: true + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: + + **operational**: *eq* + example: operational eq operation + in: query + name: filters schema: - example: okta-verify type: string - requestBody: - content: - application/json: - example: - requestId: 089899f13a8f4da7824996191587bab9 - schema: - $ref: '#/components/schemas/VerificationPollRequest' - required: true responses: "200": content: application/json: - example: - requestId: 089899f13a8f4da7824996191587bab9 - status: PENDING - error: "" schema: - $ref: '#/components/schemas/VerificationResponse' - description: MFA VerificationPollRequest status an MFA method. + items: + $ref: '#/components/schemas/ManagedCluster' + type: array + description: Responds with a list of ManagedCluster. "400": content: application/json: @@ -23697,41 +23846,32 @@ paths: error. security: - UserContextAuth: - - idn:mfa:poll - summary: Polling MFA method by VerificationPollRequest + - idn:remote-client:read + - idn:remote-client:manage + summary: Retrieve all Managed Clusters. tags: - - MFA Controller - /mfa/kba/authenticate: - post: - description: This API Authenticate user in KBA MFA method. - operationId: sendKbaAnswers + - Managed Clusters + /mail-from-attributes: + put: + description: Change the MAIL FROM domain of an AWS SES email identity and provide + the MX and TXT records to be placed in the caller's DNS + operationId: putMailFromAttributes requestBody: content: application/json: example: - - id: "173423" - answer: 822cd15d6c15aa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a0859a2fea34 - - id: c54fee53-2d63-4fc5-9259-3e93b9994135 - answer: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 + identity: BobSmith@sailpoint.com + mailFromDomain: example.sailpoint.com schema: - items: - $ref: '#/components/schemas/KbaAnswerRequestItem' - type: array + $ref: '#/components/schemas/MailFromAttributesDto' required: true responses: "200": content: application/json: - example: - kbaAuthResponseItem: - - questionId: 089899f13a8f4da7824996191587bab9 - IsVerified: false - - questionId: 089899f13a8f4da7824996191587bda8 - IsVerified: true - status: PENDING schema: - $ref: '#/components/schemas/KbaAuthResponse' - description: KBA authenticated status. + $ref: '#/components/schemas/MailFromAttributes' + description: MAIL FROM Attributes required to verify the change "400": content: application/json: @@ -23790,33 +23930,30 @@ paths: error. security: - UserContextAuth: - - idn:mfa-kba:authenticate - summary: Authenticate KBA provided MFA method + - sp:notification-mail-from-attributes:write + summary: Change MAIL FROM domain tags: - - MFA Controller - /mfa/token/authenticate: - post: - description: This API Authenticate user in Token MFA method. - operationId: sendTokenAuthRequest - requestBody: - content: - application/json: - example: - token: "12345" - userAlias: will.albin - deliveryType: EMAIL_WORK - schema: - $ref: '#/components/schemas/TokenAuthRequest' + - Notifications + /mail-from-attributes/{identity}: + get: + description: Retrieve MAIL FROM attributes for a given AWS SES identity. + operationId: getMailFromAttributes + parameters: + - description: "Returns the MX and TXT record to be put in your DNS, as well\ + \ as the MAIL FROM domain status" + example: bobsmith@sailpoint.com + in: query + name: id required: true + schema: + type: string responses: "200": content: application/json: - example: - status: PENDING schema: - $ref: '#/components/schemas/TokenAuthResponse' - description: Token authenticated status. + $ref: '#/components/schemas/MailFromAttributes' + description: MAIL FROM Attributes object "400": content: application/json: @@ -23875,34 +24012,54 @@ paths: error. security: - UserContextAuth: - - idn:mfa:verify - summary: Authenticate Token provided MFA method + - sp:notification-mail-from-attributes:read + summary: Get MAIL FROM Attributes tags: - - MFA Controller - /mfa/token/send: - post: - description: This API send token request. - operationId: createSendToken - requestBody: - content: - application/json: - example: - userAlias: will.albin - deliveryType: EMAIL_WORK - schema: - $ref: '#/components/schemas/SendTokenRequest' - required: true + - Notifications + /generic-approvals: + get: + description: "Retrieve a list of approvals, which can be filtered by requester\ + \ ID, status, or reference type. \"Mine\" query parameter can be used and\ + \ it will return all approvals for the current approver. This endpoint is\ + \ for generic approvals, different than the access-request-approval endpoint\ + \ and does not include access-request-approvals. \nAbsence of all query parameters\ + \ will will default to mine=true." + operationId: getApprovals + parameters: + - description: Returns the list of approvals for the current caller + example: "true" + in: query + name: mine + schema: + type: boolean + - description: Returns the list of approvals for a given requester ID + example: 17e633e7d57e481569df76323169deb6a + in: query + name: requesterId + schema: + type: string + - 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: + + **status**: *eq* + + **referenceType**: *eq* + example: filters=status eq PENDING + in: query + name: filters + schema: + type: string responses: "200": content: application/json: - example: - requestId: 089899f13a8f4da7824996191587bab9 - status: SUCCESS - errorMessage: "" schema: - $ref: '#/components/schemas/SendTokenResponse' - description: Token send status. + items: + $ref: '#/components/schemas/Approval' + type: array + description: List of Approvals "400": content: application/json: @@ -23961,65 +24118,31 @@ paths: error. security: - UserContextAuth: - - idn:mfa:send - summary: Create and send user token + - sp:approvals:read + summary: Get Approvals tags: - - MFA Controller - /notification-template-defaults: + - Approvals + /generic-approvals/{id}: get: - description: "This lists the default templates used for notifications, such\ - \ as emails from IdentityNow." - operationId: listNotificationTemplateDefaults + description: "Retrieve a single approval for a given approval ID. This endpoint\ + \ is for generic approvals, different than the access-request-approval endpoint\ + \ and does not include access-request-approvals." + operationId: getApproval parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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: - - **key**: *eq, in, sw* - - **medium**: *eq, sw* - - **locale**: *eq, sw* - in: query - name: filters + - description: ID of the approval that is to be returned + example: 38453251-6be2-5f8f-df93-5ce19e295837 + in: path + name: id + required: true schema: - example: key eq "cloud_manual_work_item_summary" type: string responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/TemplateDtoDefault' - type: array - description: A list of the default template objects + $ref: '#/components/schemas/Approval' + description: Approval object "400": content: application/json: @@ -24078,64 +24201,28 @@ paths: error. security: - UserContextAuth: - - idn:notification-template-defaults:read - summary: List Notification Template Defaults + - sp:approvals:read + summary: Get an approval tags: - - Notifications - /notification-templates: + - Approvals + /mfa/okta-verify/config: get: - description: This lists the templates that you have modified for your site. - operationId: listNotificationTemplates - parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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: - - **key**: *eq, in, sw* - - **medium**: *eq, sw* - - **locale**: *eq, sw* - example: medium eq "EMAIL" - in: query - name: filters - schema: - type: string + description: This API returns the configuration of an Okta MFA method. A token + with ORG_ADMIN authority is required to call this API. + operationId: getMFAOktaConfig responses: "200": content: application/json: + example: + mfaMethod: okta-verify + enabled: true + host: www.example.com + accessKey: d******Y + identityAttribute: email schema: - items: - $ref: '#/components/schemas/TemplateDto' - type: array - description: A list of template objects for your site + $ref: '#/components/schemas/MfaOktaConfig' + description: The configuration of an Okta MFA method. "400": content: application/json: @@ -24194,31 +24281,40 @@ paths: error. security: - UserContextAuth: - - idn:notification-templates:read - summary: List Notification Templates + - idn:mfa-configuration:read + - idn:mfa-configuration:manage + summary: Configuration of Okta MFA method tags: - - Notifications - post: - description: "This creates a template for your site. \n\nYou can also use this\ - \ endpoint to update a template. First, copy the response body from the [get\ - \ notification template endpoint](https://developer.sailpoint.com/idn/api/beta/get-notification-template)\ - \ for a template you wish to update and paste it into the request body for\ - \ this endpoint. Modify the fields you want to change and submit the POST\ - \ request when ready." - operationId: createNotificationTemplate + - MFA Configuration + put: + description: This API sets the configuration of an Okta MFA method. A token + with ORG_ADMIN authority is required to call this API. + operationId: setMFAOktaConfig requestBody: content: application/json: + example: + mfaMethod: okta-verify + enabled: true + host: www.example.com + accessKey: dk778Y3QlA5UqocYpdU3rEkzrK2D497y + identityAttribute: email schema: - $ref: '#/components/schemas/TemplateDto' + $ref: '#/components/schemas/MfaOktaConfig' required: true responses: "200": content: application/json: + example: + mfaMethod: okta-verify + enabled: true + host: www.example.com + accessKey: d******Y + identityAttribute: email schema: - $ref: '#/components/schemas/TemplateDto' - description: A template object for your site + $ref: '#/components/schemas/MfaOktaConfig' + description: MFA configuration of an Okta MFA method. "400": content: application/json: @@ -24277,33 +24373,31 @@ paths: error. security: - UserContextAuth: - - idn:notification-templates:create - summary: Create Notification Template + - idn:mfa-configuration:manage + summary: Set Okta MFA configuration tags: - - Notifications - /notification-templates/{id}: + - MFA Configuration + /mfa/duo-web/config: get: - description: This gets a template that you have modified for your site by Id. - operationId: getNotificationTemplate - parameters: - - description: Id of the Notification Template - explode: false - in: path - name: id - required: true - schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b - type: string - style: simple + description: This API returns the configuration of an Duo MFA method. A token + with ORG_ADMIN authority is required to call this API. + operationId: getMFADuoConfig responses: "200": content: application/json: + example: + mfaMethod: duo-web + enabled: true + host: www.example.com + accessKey: d******Y + identityAttribute: email + configProperties: + skey: 6******B + ikey: Q123WE45R6TY7890ZXCV schema: - items: - $ref: '#/components/schemas/TemplateDto' - type: array - description: A template object for your site + $ref: '#/components/schemas/MfaDuoConfig' + description: The configuration of an Duo MFA method. "400": content: application/json: @@ -24360,27 +24454,48 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get Notification Template By Id + security: + - UserContextAuth: + - idn:mfa-configuration:read + - idn:mfa-configuration:manage + summary: Configuration of Duo MFA method tags: - - Notifications - /notification-templates/bulk-delete: - post: - description: "This lets you bulk delete templates that you previously created\ - \ for your site. Since this is a beta feature, please contact support to enable\ - \ usage." - operationId: deleteNotificationTemplatesInBulk + - MFA Configuration + put: + description: This API sets the configuration of an Duo MFA method. A token with + ORG_ADMIN authority is required to call this API. + operationId: setMFADuoConfig requestBody: content: application/json: + example: + mfaMethod: duo-web + enabled: true + host: www.example.com + accessKey: qw123Y3QlA5UqocYpdU3rEkzrK2D497y + identityAttribute: email + configProperties: + skey: 12q3WERlcUHWJmiMqyCXI3uOF7EaDJTbdeOp6E2B + ikey: Q123WE45R6TY7890ZXCV schema: - items: - $ref: '#/components/schemas/TemplateBulkDeleteDto' - type: array + $ref: '#/components/schemas/MfaDuoConfig' required: true responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + example: + mfaMethod: duo-web + enabled: true + host: www.example.com + accessKey: q******y + identityAttribute: email + configProperties: + skey: 1******B + ikey: Q123WE45R6TY7890ZXCV + schema: + $ref: '#/components/schemas/MfaDuoConfig' + description: MFA configuration of an Duo MFA method. "400": content: application/json: @@ -24439,36 +24554,46 @@ paths: error. security: - UserContextAuth: - - idn:notification-templates:delete - summary: Bulk Delete Notification Templates + - idn:mfa-configuration:manage + summary: Set Duo MFA configuration tags: - - Notifications - /oauth-clients: + - MFA Configuration + /mfa/kba/config: get: - description: This gets a list of OAuth clients. - operationId: listOauthClients + description: This API returns the KBA configuration for MFA. A token with USER + or ORG_ADMIN authority is required to call this API. + operationId: getMFAKbaConfig parameters: - - 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: - - **lastUsed**: *le, isnull* - example: lastUsed le 2023-02-05T10:59:27.214Z + - description: "Indicator whether the question text should be returned in all\ + \ configured languages\n * If true, the question text is returned in all\ + \ languages that it is configured in.\n * If false, the question text\ + \ is returned in the user locale if available, else for the default locale.\ + \ \n * If not passed, it behaves the same way as passing this parameter\ + \ as false" + example: allLanguages=true in: query - name: filters + name: allLanguages required: false schema: - type: string + type: boolean responses: "200": content: application/json: + example: + - id: 143cfd3b-c23f-426b-ae5f-d3db06fa5919 + text: MFA new question -1 ? + hasAnswer: false + numAnswers: 0 + - id: "173421" + text: What is your alphanumeric PIN? + hasAnswer: false + numAnswers: 3 schema: items: - $ref: '#/components/schemas/GetOAuthClientResponse' + $ref: '#/components/schemas/KbaQuestion' type: array - description: List of OAuth clients. + description: The configuration for KBA MFA method. "400": content: application/json: @@ -24527,26 +24652,51 @@ paths: error. security: - UserContextAuth: - - sp:oauth-client:manage - summary: List OAuth Clients + - idn:mfa-kba:read + summary: Configuration of KBA MFA method tags: - - OAuth Clients + - MFA Configuration + /mfa/kba/config/answers: post: - description: This creates an OAuth client. - operationId: createOauthClient + description: |- + This API sets answers to challenge questions. Any configured questions omitted from the request are removed from user KBA configuration. + A token with USER authority is required to call this API. + operationId: setMFAKBAConfig requestBody: content: application/json: + example: + - id: "173423" + answer: 822cd15d6c15aa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a0859a2fea34 + - id: c54fee53-2d63-4fc5-9259-3e93b9994135 + answer: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 schema: - $ref: '#/components/schemas/CreateOAuthClientRequest' + items: + $ref: '#/components/schemas/KbaAnswerRequestItem' + type: array required: true responses: "200": content: application/json: + example: + - id: 143cfd3b-c23f-426b-ae5f-d3db06fa5919 + question: "[{\"text\":\"Nouvelle question MFA -1 ?\",\"locale\":\"\ + fr\"},{\"text\":\"MFA new question -1 ?\",\"locale\":\"\"}]" + hasAnswer: false + - id: "173421" + question: "[{\"text\":\"What is your alphanumeric PIN?\",\"locale\"\ + :\"\"}]" + hasAnswer: true + - id: c54fee53-2d63-4fc5-9259-3e93b9994135 + question: "[{\"text\":\"Nouvelle question MFA - 2 ?\",\"locale\":\"\ + fr\"},{\"text\":\"MFA new question - 2 ?\",\"locale\":\"\"}]" + hasAnswer: true schema: - $ref: '#/components/schemas/CreateOAuthClientResponse' - description: Request succeeded. + items: + $ref: '#/components/schemas/KbaAnswerResponseItem' + type: array + description: The new KBA configuration for the user. "400": content: application/json: @@ -24605,25 +24755,35 @@ paths: error. security: - UserContextAuth: - - sp:oauth-client:manage - summary: Create OAuth Client + - idn:mfa-kba:authenticate + summary: Set MFA KBA configuration tags: - - OAuth Clients - /oauth-clients/{id}: - delete: - description: This deletes an OAuth client. - operationId: deleteOauthClient + - MFA Configuration + /mfa/{method}/test: + get: + description: |- + This API validates that the configuration is valid and will properly authenticate with the MFA provider identified by the method path parameter. + A token with ORG_ADMIN authority is required to call this API. + operationId: testMFAConfig parameters: - - description: The OAuth client id - example: ef38f94347e94562b5bb8424a56397d8 + - description: The name of the MFA method. The currently supported method names + are 'okta-verify' and 'duo-web'. in: path - name: id + name: method required: true schema: + example: okta-verify type: string responses: - "204": - description: No content. + "200": + content: + application/json: + example: + state: SUCCESS + error: null + schema: + $ref: '#/components/schemas/MfaConfigTestResponse' + description: The result of configuration test for the MFA provider. "400": content: application/json: @@ -24655,24 +24815,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -24700,28 +24842,39 @@ paths: error. security: - UserContextAuth: - - sp:oauth-client:manage - summary: Delete OAuth Client + - idn:mfa-configuration:read + - idn:mfa-configuration:manage + summary: MFA method's test configuration tags: - - OAuth Clients - get: - description: This gets details of an OAuth client. - operationId: getOauthClient + - MFA Configuration + /mfa/{method}/delete: + delete: + description: |- + This API removes the configuration for the specified MFA method. + A token with ORG_ADMIN authority is required to call this API. + operationId: deleteMFAConfig parameters: - - description: The OAuth client id - example: ef38f94347e94562b5bb8424a56397d8 + - description: The name of the MFA method. The currently supported method names + are 'okta-verify' and 'duo-web'. in: path - name: id + name: method required: true schema: + example: okta-verify type: string responses: "200": content: application/json: + example: + mfaMethod: okta-verify + enabled: true + host: www.example.com + accessKey: d******Y + identityAttribute: email schema: - $ref: '#/components/schemas/GetOAuthClientResponse' - description: Request succeeded. + $ref: '#/components/schemas/MfaOktaConfig' + description: MFA configuration of an MFA method. "400": content: application/json: @@ -24753,24 +24906,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -24798,63 +24933,35 @@ paths: error. security: - UserContextAuth: - - sp:oauth-client:manage - - sp:oauth-client:read - summary: Get OAuth Client + - idn:mfa-configuration:manage + summary: Delete MFA method configuration tags: - - OAuth Clients - patch: - description: "This performs a targeted update to the field(s) of an OAuth client.\n\ - Request will require a security scope of \n- sp:oauth-client:manage" - operationId: patchOauthClient - parameters: - - description: The OAuth client id - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id - required: true - schema: - type: string + - MFA Configuration + /mfa/okta-verify/verify: + post: + description: "This API Authenticates the user via Okta-Verify MFA method. Request\ + \ requires a header called 'slpt-forwarding', and it must contain a remote\ + \ IP Address of caller." + operationId: sendOktaVerifyRequest requestBody: content: - application/json-patch+json: + application/json: example: - - op: replace - path: /strongAuthSupported - value: true - - op: replace - path: /businessName - value: acme-solar + userId: example@mail.com schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: | - A list of OAuth client update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. - - The following fields are patchable: - * tenant - * businessName - * homepageUrl - * name - * description - * accessTokenValiditySeconds - * refreshTokenValiditySeconds - * redirectUris - * grantTypes - * accessType - * enabled - * strongAuthSupported - * claimsSupported + $ref: '#/components/schemas/OktaVerificationRequest' required: true responses: "200": content: application/json: + example: + requestId: 089899f13a8f4da7824996191587bab9 + status: SUCCESS + error: "" schema: - $ref: '#/components/schemas/GetOAuthClientResponse' - description: "Indicates the PATCH operation succeeded, and returns the OAuth\ - \ client's new representation." + $ref: '#/components/schemas/VerificationResponse' + description: The status of verification request. "400": content: application/json: @@ -24886,24 +24993,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -24931,22 +25020,34 @@ paths: error. security: - UserContextAuth: - - sp:oauth-client:manage - summary: Patch OAuth Client + - idn:mfa:verify + summary: Verifying authentication via Okta method tags: - - OAuth Clients - /org-config: - get: - description: Get org configuration with only external (org admin) accessible - properties for the current org. - operationId: getOrgConfig + - MFA Controller + /mfa/duo-web/verify: + post: + description: This API Authenticates the user via Duo-Web MFA method. + operationId: sendDuoVerifyRequest + requestBody: + content: + application/json: + example: + userId: 2c9180947f0ef465017f215cbcfd004b + signedResponse: AUTH|d2lsbC5hbGJpbnxESTZNMFpHSThKQVRWTVpZN0M5VXwxNzAxMjUzMDg5|f1f5f8ced5b340f3d303b05d0efa0e43b6a8f970:APP|d2lsbC5hbGJpbnxESTZNMFpHSThKQVRWTVpZN0M5VXwxNzAxMjU2NjE5|cb44cf44353f5127edcae31b1da0355f87357db2 + schema: + $ref: '#/components/schemas/DuoVerificationRequest' + required: true responses: "200": content: application/json: + example: + requestId: 089899f13a8f4da7824996191587bab9 + status: SUCCESS + error: "" schema: - $ref: '#/components/schemas/OrgConfig' - description: Request succeeded. + $ref: '#/components/schemas/VerificationResponse' + description: The status of verification request. "400": content: application/json: @@ -24978,24 +25079,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -25023,36 +25106,43 @@ paths: error. security: - UserContextAuth: - - idn:org-configs:read - - idn:org-configs:manage - summary: Get Org configuration settings + - idn:mfa:verify + summary: Verifying authentication via Duo method tags: - - Org Config - patch: - description: Patch configuration of the current org using http://jsonpatch.com/ - syntax. Commonly used for changing the time zone of an org. - operationId: patchOrgConfig + - MFA Controller + /mfa/{method}/poll: + post: + description: This API poll the VerificationPollRequest for the specified MFA + method. A token with ORG_ADMIN authority is required to call this API. + operationId: pingVerificationStatus + parameters: + - description: "The name of the MFA method. The currently supported method names\ + \ are 'okta-verify', 'duo-web', 'kba','token', 'rsa'" + in: path + name: method + required: true + schema: + example: okta-verify + type: string requestBody: content: - application/json-patch+json: + application/json: example: - - op: replace - path: /timeZone - value: America/Toronto + requestId: 089899f13a8f4da7824996191587bab9 schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: "A list of schema attribute update operations according to the\ - \ [JSON Patch](https://tools.ietf.org/html/rfc6902) standard." + $ref: '#/components/schemas/VerificationPollRequest' required: true responses: "200": content: application/json: + example: + requestId: 089899f13a8f4da7824996191587bab9 + status: PENDING + error: "" schema: - $ref: '#/components/schemas/OrgConfig' - description: The Org was successfully patched. + $ref: '#/components/schemas/VerificationResponse' + description: MFA VerificationPollRequest status an MFA method. "400": content: application/json: @@ -25084,24 +25174,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -25129,32 +25201,41 @@ paths: error. security: - UserContextAuth: - - idn:org-configs:manage - summary: Patch an Org configuration property + - idn:mfa:poll + summary: Polling MFA method by VerificationPollRequest tags: - - Org Config - /org-config/valid-time-zones: - get: - description: Get a list of valid time zones that can be set in org configurations. - operationId: getValidTimeZones + - MFA Controller + /mfa/kba/authenticate: + post: + description: This API Authenticate user in KBA MFA method. + operationId: sendKbaAnswers + requestBody: + content: + application/json: + example: + - id: "173423" + answer: 822cd15d6c15aa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a0859a2fea34 + - id: c54fee53-2d63-4fc5-9259-3e93b9994135 + answer: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 + schema: + items: + $ref: '#/components/schemas/KbaAnswerRequestItem' + type: array + required: true responses: "200": content: application/json: example: - - Etc/GMT-6 - - Etc/GMT+8 - - EST - - America/Chicago - - America/Toronto - - Asia/Gaza - - Europe/Brussels - - Europe/Kiev + kbaAuthResponseItem: + - questionId: 089899f13a8f4da7824996191587bab9 + IsVerified: false + - questionId: 089899f13a8f4da7824996191587bda8 + IsVerified: true + status: PENDING schema: - items: - type: string - type: array - description: Request successful + $ref: '#/components/schemas/KbaAuthResponse' + description: KBA authenticated status. "400": content: application/json: @@ -25213,96 +25294,33 @@ paths: error. security: - UserContextAuth: - - idn:org-configs:read - - idn:org-configs-user:read - summary: Get list of time zones + - idn:mfa-kba:authenticate + summary: Authenticate KBA provided MFA method tags: - - Org Config - /outlier-summaries: - get: - description: |- - This API receives a summary containing: the number of identities that customer has, the number of outliers, and the type of outlier - Requires authorization scope of 'iai:outliers-management:read' - operationId: getIdentityOutlierSnapshots - parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - description: Type of the identity outliers snapshot to filter on - in: query - name: type - required: false - schema: - enum: - - LOW_SIMILARITY - - STRUCTURAL - type: string - - 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: - - **snapshotDate**: *ge, le* - example: snapshotDate ge "2022-02-07T20:13:29.356648026Z" - in: query - name: filters - schema: - type: string - - 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: **snapshotDate** - example: snapshotDate - in: query - name: sorters - required: false - schema: - format: comma-separated - type: string + - MFA Controller + /mfa/token/authenticate: + post: + description: This API Authenticate user in Token MFA method. + operationId: sendTokenAuthRequest + requestBody: + content: + application/json: + example: + token: "12345" + userAlias: will.albin + deliveryType: EMAIL_WORK + schema: + $ref: '#/components/schemas/TokenAuthRequest' + required: true responses: "200": content: application/json: + example: + status: PENDING schema: - items: - $ref: '#/components/schemas/OutlierSummary' - type: array - description: Succeeded. Returns list of objects. Each object is a summary - to give high level statistics/counts of outliers - headers: - X-Total-Count: - description: The total result count. - schema: - type: integer - "202": - content: - application/json: - schema: - type: object - description: Accepted - Returned if the request was successfully accepted - into the system. + $ref: '#/components/schemas/TokenAuthResponse' + description: Token authenticated status. "400": content: application/json: @@ -25359,42 +25377,36 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: IAI Identity Outliers Summary + security: + - UserContextAuth: + - idn:mfa:verify + summary: Authenticate Token provided MFA method tags: - - IAI Outliers - /outlier-summaries/latest: - get: - description: |- - This API returns a most recent snapshot of each outlier type, each containing: the number of identities that customer has, the number of outliers, and the type of outlier - Requires authorization scope of 'iai:outliers-management:read' - operationId: getLatestIdentityOutlierSnapshots - parameters: - - description: Type of the identity outliers snapshot to filter on - in: query - name: type - required: false - schema: - enum: - - LOW_SIMILARITY - - STRUCTURAL - type: string + - MFA Controller + /mfa/token/send: + post: + description: This API send token request. + operationId: createSendToken + requestBody: + content: + application/json: + example: + userAlias: will.albin + deliveryType: EMAIL_WORK + schema: + $ref: '#/components/schemas/SendTokenRequest' + required: true responses: "200": content: application/json: + example: + requestId: 089899f13a8f4da7824996191587bab9 + status: SUCCESS + errorMessage: "" schema: - items: - $ref: '#/components/schemas/LatestOutlierSummary' - type: array - description: Succeeded. Returns list of objects. Each object is a summary - to give high level statistics/counts of outliers - "202": - content: - application/json: - schema: - type: object - description: Accepted - Returned if the request was successfully accepted - into the system. + $ref: '#/components/schemas/SendTokenResponse' + description: Token send status. "400": content: application/json: @@ -25451,15 +25463,17 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: IAI Identity Outliers Latest Summary + security: + - UserContextAuth: + - idn:mfa:send + summary: Create and send user token tags: - - IAI Outliers - /outliers: + - MFA Controller + /notification-template-defaults: get: - description: |- - This API receives a list of outliers, containing data such as: identityId, outlier type, detection dates, identity attributes, if identity is ignore, and certification information - Requires authorization scope of 'iai:outliers-management:read' - operationId: getIdentityOutliers + description: "This lists the default templates used for notifications, such\ + \ as emails from IdentityNow." + operationId: listNotificationTemplateDefaults parameters: - description: |- Max number of results to return. @@ -25486,59 +25500,20 @@ paths: format: int32 minimum: 0 type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - description: Type of the identity outliers snapshot to filter on - in: query - name: type - required: false - schema: - enum: - - LOW_SIMILARITY - - STRUCTURAL - example: LOW_SIMILARITY - type: string - 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: - **attributes**: *eq, sw, co, in* - - **firstDetectionDate**: *ge, le* - - **certStatus**: *eq* + **key**: *eq, in, sw* - **ignored**: *eq* + **medium**: *eq, sw* - **score**: *ge, le* - example: attributes.displayName sw "John" and certStatus eq "false" + **locale**: *eq, sw* in: query name: filters - required: false - schema: - type: string - - 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: **firstDetectionDate, attributes, score** - example: "attributes.displayName,firstDetectionDate,-score" - in: query - name: sorters - required: false schema: - format: comma-separated + example: key eq "cloud_manual_work_item_summary" type: string responses: "200": @@ -25546,15 +25521,9 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/Outlier' + $ref: '#/components/schemas/TemplateDtoDefault' type: array - description: Succeeded. Returns list of objects. Each object contains information - about outliers - headers: - X-Total-Count: - description: The total result count. - schema: - type: integer + description: A list of the default template objects "400": content: application/json: @@ -25611,15 +25580,16 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: IAI Get Identity Outliers + security: + - UserContextAuth: + - idn:notification-template-defaults:read + summary: List Notification Template Defaults tags: - - IAI Outliers - /outliers/{outlierId}/contributing-features: + - Notifications + /notification-templates: get: - description: |- - This API returns a list of contributing feature objects for a single outlier. The object contains: feature name, feature value type, value, importance, display name (translated text or message key), description (translated text or message key), translation messages object - Requires authorization scope of 'iai:outliers-management:read' - operationId: getPeerGroupOutliersContributingFeatures + description: This lists the templates that you have modified for your site. + operationId: listNotificationTemplates parameters: - description: |- Max number of results to return. @@ -25647,43 +25617,19 @@ paths: minimum: 0 type: integer - 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. + Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) - Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. + Filtering is supported for the following fields and operators: - See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - description: Whether or not to include translation messages object in returned - response - in: query - name: include-translation-messages - required: false - schema: - example: include-translation-messages= - type: string - - description: The outlier id - example: 2c918085842e69ae018432d22ccb212f - in: path - name: outlierId - required: true - schema: - type: string - - 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) + **key**: *eq, in, sw* - Sorting is supported for the following fields: **importance** - example: importance + **medium**: *eq, sw* + + **locale**: *eq, sw* + example: medium eq "EMAIL" in: query - name: sorters - required: false + name: filters schema: - format: comma-separated type: string responses: "200": @@ -25691,20 +25637,9 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/OutlierContributingFeature' + $ref: '#/components/schemas/TemplateDto' type: array - description: Succeeded. Returns list of objects. Each object contains a - feature and metadata about that feature - headers: - X-Total-Count: - description: The total result count. - schema: - type: integer - accept-language: - description: The locale to use for translations for displayName and - description text - schema: - type: string + description: A list of template objects for your site "400": content: application/json: @@ -25736,24 +25671,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -25779,103 +25696,33 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get identity outlier's contibuting features + security: + - UserContextAuth: + - idn:notification-templates:read + summary: List Notification Templates tags: - - IAI Outliers - /outliers/{outlierId}/feature-details/{contributingFeatureName}/access-items: - get: - description: |- - This API returns a list of the enriched access items associated with each feature filtered by the access item type The object contains: accessItemId, display name (translated text or message key), description (translated text or message key), accessType, sourceName, extremelyRare - Requires authorization scope of 'iai:outliers-management:read' - operationId: listOutliersContributingFeatureAccessItems - parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - description: The outlier id - example: 2c918085842e69ae018432d22ccb212f - in: path - name: outlierId - required: true - schema: - type: string - - description: The name of contributing feature - example: entitlement_count - in: path - name: contributingFeatureName + - Notifications + post: + description: "This creates a template for your site. \n\nYou can also use this\ + \ endpoint to update a template. First, copy the response body from the [get\ + \ notification template endpoint](https://developer.sailpoint.com/idn/api/beta/get-notification-template)\ + \ for a template you wish to update and paste it into the request body for\ + \ this endpoint. Modify the fields you want to change and submit the POST\ + \ request when ready." + operationId: createNotificationTemplate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateDto' required: true - schema: - enum: - - radical_entitlement_count - - entitlement_count - - max_jaccard_similarity - - mean_max_bundle_concurrency - - single_entitlement_bundle_count - - peerless_score - type: string - - description: "The type of access item for the identity outlier contributing\ - \ feature. If not provided, it returns all" - example: ENTITLEMENT - in: query - name: accessType - required: false - schema: - type: string - - 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: **displayName** - example: displayName - in: query - name: sorters - required: false - schema: - format: comma-separated - type: string responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/OutliersContributingFeatureAccessItems' - type: array - description: The list of access items. + $ref: '#/components/schemas/TemplateDto' + description: A template object for your site "400": content: application/json: @@ -25907,24 +25754,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -25952,33 +25781,33 @@ paths: error. security: - UserContextAuth: - - iai:outliers-management:read - summary: Gets a list of access items associated with each identity outlier contributing - feature + - idn:notification-templates:create + summary: Create Notification Template tags: - - IAI Outliers - /outliers/ignore: - post: - description: |- - This API receives a list of IdentityIDs in the request, changes the outliers to be ignored--returning a 204 if successful. - Requires authorization scope of 'iai:outliers-management:update' - operationId: ignoreIdentityOutliers - requestBody: - content: - application/json: - schema: - description: List of identity IDs to ignore from outlier listing - example: - - abc123def456 - - ghi789jkl012 - items: - type: string - type: array + - Notifications + /notification-templates/{id}: + get: + description: This gets a template that you have modified for your site by Id. + operationId: getNotificationTemplate + parameters: + - description: Id of the Notification Template + explode: false + in: path + name: id required: true + schema: + example: c17bea3a-574d-453c-9e04-4365fbf5af0b + type: string + style: simple responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/TemplateDto' + type: array + description: A template object for your site "400": content: application/json: @@ -26035,25 +25864,21 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: IAI Identity Outliers Ignore + summary: Get Notification Template By Id tags: - - IAI Outliers - /outliers/unignore: + - Notifications + /notification-templates/bulk-delete: post: - description: |- - This API receives a list of IdentityIDs in the request, changes the outliers to be un-ignored--returning a 204 if successful. - Requires authorization scope of 'iai:outliers-management:update' - operationId: unIgnoreIdentityOutliers + description: "This lets you bulk delete templates that you previously created\ + \ for your site. Since this is a beta feature, please contact support to enable\ + \ usage." + operationId: deleteNotificationTemplatesInBulk requestBody: content: application/json: schema: - description: List of identity IDs to un-ignore from outlier listing - example: - - abc123def456 - - ghi789jkl012 items: - type: string + $ref: '#/components/schemas/TemplateBulkDeleteDto' type: array required: true responses: @@ -26116,35 +25941,39 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: IAI Identity Outliers Unignore + security: + - UserContextAuth: + - idn:notification-templates:delete + summary: Bulk Delete Notification Templates tags: - - IAI Outliers - /outliers/export: + - Notifications + /oauth-clients: get: - description: |- - This API exports a list of ignored outliers to a CSV as well as list of non-ignored outliers to a CSV. These two CSVs will be zipped and exported Columns will include: identityID, type, firstDetectionDate, latestDetectionDate, ignored, & attributes (defined set of identity attributes) - Requires authorization scope of 'iai:outliers-management:read' - operationId: exportOutliersZip + description: This gets a list of OAuth clients. + operationId: listOauthClients parameters: - - description: Type of the identity outliers snapshot to filter on + - 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: + + **lastUsed**: *le, isnull* + example: lastUsed le 2023-02-05T10:59:27.214Z in: query - name: type + name: filters required: false schema: - enum: - - LOW_SIMILARITY - - STRUCTURAL type: string responses: "200": content: - application/zip: + application/json: schema: - format: binary - type: string - description: Succeeded. Returns zip of 2 CSVs to download. 1 CSV for ignored - outliers and 1 for non-ignored outliers - "400": + items: + $ref: '#/components/schemas/GetOAuthClientResponse' + type: array + description: List of OAuth clients. + "400": content: application/json: schema: @@ -26200,36 +26029,28 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: IAI Identity Outliers Export + security: + - UserContextAuth: + - sp:oauth-client:manage + summary: List OAuth Clients tags: - - IAI Outliers - /outlier-feature-summaries/{outlierFeatureId}: - get: - description: |- - This API returns a summary of a contributing feature for an identity outlier. The object contains: contributing feature name (translated text or message key), identity outlier display name, feature values, feature definition and explanation (translated text or message key), peer display name and identityId, access item reference, translation messages object - Requires authorization scope of 'iai:outliers-management:read' - operationId: getOutlierContributingFeatureSummary - parameters: - - description: Contributing feature id - example: 04654b66-7561-4090-94f9-abee0722a1af - in: path - name: outlierFeatureId + - OAuth Clients + post: + description: This creates an OAuth client. + operationId: createOauthClient + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateOAuthClientRequest' required: true - schema: - type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/OutlierFeatureSummary' - description: Succeeded. Returns selected contributing feature summary for - an outlier - headers: - accept-language: - description: The locale to use for translations - schema: - type: string + $ref: '#/components/schemas/CreateOAuthClientResponse' + description: Request succeeded. "400": content: application/json: @@ -26261,24 +26082,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -26306,51 +26109,25 @@ paths: error. security: - UserContextAuth: - - iai:outliers-management:read - summary: Get identity outlier contibuting feature summary + - sp:oauth-client:manage + summary: Create OAuth Client tags: - - IAI Outliers - /password-dictionary: - get: - description: |- - This gets password dictionary for the organization. - A token with ORG_ADMIN authority is required to call this API. - The password dictionary file can contain lines that are: - 1. comment lines - the first character is '#', can be 128 Unicode codepoints in length, and are ignored during processing - 2. empty lines - 3. locale line - the first line that starts with "locale=" is considered to be locale line, the rest are treated as normal content lines - 4. line containing the password dictionary word - it must start with non-whitespace character and only non-whitespace characters are allowed; - maximum length of the line is 128 Unicode codepoints - - - Password dictionary file may not contain more than 2,500 lines (not counting whitespace lines, comment lines and locale line). - Password dict file must contain UTF-8 characters only. - - # Sample password text file - - ``` - - # Password dictionary small test file - - locale=en_US - - # Password dictionary prohibited words - - qwerty - abcd - aaaaa - password - qazxsws - - ``` - operationId: getPasswordDictionary + - OAuth Clients + /oauth-clients/{id}: + delete: + description: This deletes an OAuth client. + operationId: deleteOauthClient + parameters: + - description: The OAuth client id + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true + schema: + type: string responses: - "200": - content: - text/plain: - schema: - type: string - description: A password dictionary response + "204": + description: No content. "400": content: application/json: @@ -26427,55 +26204,28 @@ paths: error. security: - UserContextAuth: - - idn:password-dictionary-management:read - summary: Get Password Dictionary + - sp:oauth-client:manage + summary: Delete OAuth Client tags: - - Password Dictionary - put: - description: |- - This updates password dictionary for the organization. - A token with ORG_ADMIN authority is required to call this API. - The password dictionary file can contain lines that are: - 1. comment lines - the first character is '#', can be 128 Unicode codepoints in length, and are ignored during processing - 2. empty lines - 3. locale line - the first line that starts with "locale=" is considered to be locale line, the rest are treated as normal content lines - 4. line containing the password dictionary word - it must start with non-whitespace character and only non-whitespace characters are allowed; - maximum length of the line is 128 Unicode codepoints - - - Password dictionary file may not contain more than 2,500 lines (not counting whitespace lines, comment lines and locale line). - Password dict file must contain UTF-8 characters only. - - # Sample password text file - - ``` - - # Password dictionary small test file - - locale=en_US - - # Password dictionary prohibited words - - qwerty - abcd - aaaaa - password - qazxsws - - ``` - operationId: putPasswordDictionary - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/putPasswordDictionary_request' - description: The password dictionary file to be uploaded. + - OAuth Clients + get: + description: This gets details of an OAuth client. + operationId: getOauthClient + parameters: + - description: The OAuth client id + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id required: true + schema: + type: string responses: "200": - description: Successfully updated. - "201": - description: Created. + content: + application/json: + schema: + $ref: '#/components/schemas/GetOAuthClientResponse' + description: Request succeeded. "400": content: application/json: @@ -26552,50 +26302,63 @@ paths: error. security: - UserContextAuth: - - idn:password-dictionary:manage - summary: Update Password Dictionary + - sp:oauth-client:manage + - sp:oauth-client:read + summary: Get OAuth Client tags: - - Password Dictionary - /query-password-info: - post: - description: "This API is used to query password related information. \n\nA\ - \ token with [API authority](https://developer.sailpoint.com/idn/api/authentication#client-credentials-grant-flow)\ - \ \nis required to call this API. \"API authority\" refers to a token that\ - \ only has the \"client_credentials\" \ngrant type, and therefore no user\ - \ context. A [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens)\ - \ \nor a token generated with the [authorization_code](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow)\ - \ \ngrant type will **NOT** work on this endpoint, and a `403 Forbidden` response\ - \ \nwill be returned.\n" - operationId: queryPasswordInfo + - OAuth Clients + patch: + description: "This performs a targeted update to the field(s) of an OAuth client.\n\ + Request will require a security scope of \n- sp:oauth-client:manage" + operationId: patchOauthClient + parameters: + - description: The OAuth client id + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true + schema: + type: string requestBody: content: - application/json: + application/json-patch+json: example: - userName: Abby.Smith - sourceName: My-AD + - op: replace + path: /strongAuthSupported + value: true + - op: replace + path: /businessName + value: acme-solar schema: - $ref: '#/components/schemas/PasswordInfoQueryDTO' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: | + A list of OAuth client update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + + The following fields are patchable: + * tenant + * businessName + * homepageUrl + * name + * description + * accessTokenValiditySeconds + * refreshTokenValiditySeconds + * redirectUris + * grantTypes + * accessType + * enabled + * strongAuthSupported + * claimsSupported required: true responses: "200": content: application/json: - example: - identityId: 2c918085744fec4301746f9a5bce4611 - sourceId: 2c918083746f642c01746f9908840111 - publicKeyId: N2M1OTJiMGEtMDJlZS00ZWU3LTkyYTEtNjA5YmI5NWE3ZWVA - publicKey: AIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuGFkWi2J75TztpbaPKd36bJnIB3J8gZ6UcoS9oSDYsqBzPpTsfZXYaEf4Y4BKGgJIXmE/lwhwuj7mU1itdZ2qTSNFtnXA8Fn75c3UUkk+h+wdZbkuSmqlsJo3R1OnJkwkJggcAy9Jvk9jlcrNLWorpQ1w9raUvxtvfgkSdq153KxotenQ1HciSyZ0nA/Kw0UaucLnho8xdRowZs11afXGXA9IT9H6D8T6zUdtSxm0nAyH+mluma5LdTfaM50W3l/L8q56Vrqmx2pZIiwdx/0+g3Y++jV70zom0ZBkC1MmSoLMrQYG5OICNjr72f78B2PaGXfarQHqARLjKpMVt9YIQIDAQAB - accounts: - - accountId: "CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com" - accountName: Abby.Smith - policies: - - passwordRepeatedChar is 3 - - passwordMinAlpha is 1 - - passwordMinLength is 5 - - passwordMinNumeric is 1 schema: - $ref: '#/components/schemas/PasswordInfo' - description: Reference to the password info. + $ref: '#/components/schemas/GetOAuthClientResponse' + description: "Indicates the PATCH operation succeeded, and returns the OAuth\ + \ client's new representation." "400": content: application/json: @@ -26627,6 +26390,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -26652,71 +26433,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Query Password Info + security: + - UserContextAuth: + - sp:oauth-client:manage + summary: Patch OAuth Client tags: - - Password Management - /set-password: - post: - description: "This API is used to set a password for an identity. \n\nAn identity\ - \ can change their own password (as well as any of their accounts' passwords)\ - \ if they use a token generated by their ISC user, such as a [personal access\ - \ token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens)\ - \ or [\"authorization_code\" derived OAuth token](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow).\n\ - \nA token with [API authority](https://developer.sailpoint.com/idn/api/authentication#client-credentials-grant-flow)\ - \ can be used to change **any** identity's password or the password of any\ - \ of the identity's accounts. \n\"API authority\" refers to a token that only\ - \ has the \"client_credentials\" grant type.\n\n>**Note: If you want to set\ - \ an identity's source account password, you must enable `PASSWORD` as one\ - \ of the source's features. You can use the [PATCH Source endpoint](https://developer.sailpoint.com/docs/api/v3/update-source)\ - \ to add the `PASSWORD` feature.**\n\nYou can use this endpoint to generate\ - \ an `encryptedPassword` (RSA encrypted using publicKey). \nTo do so, follow\ - \ these steps:\n\n1. Use [Query Password Info](https://developer.sailpoint.com/idn/api/v3/query-password-info)\ - \ to get the following information: `identityId`, `sourceId`, `publicKeyId`,\ - \ `publicKey`, `accounts`, and `policies`. \n\n2. Choose an account from the\ - \ previous response that you will provide as an `accountId` in your request\ - \ to set an encrypted password. \n\n3. Use [Set Identity's Password](https://developer.sailpoint.com/idn/api/v3/set-password)\ - \ and provide the information you got from your earlier query. Then add this\ - \ code to your request to get the encrypted password:\n\n```java\nimport javax.crypto.Cipher;\n\ - import java.security.KeyFactory;\nimport java.security.PublicKey;\nimport\ - \ java.security.spec.X509EncodedKeySpec;\nimport java util.Base64;\n\nString\ - \ encrypt(String publicKey, String toEncrypt) throws Exception {\n byte[]\ - \ publicKeyBytes = Base64.getDecoder().decode(publicKey);\n byte[] encryptedBytes\ - \ = encryptRsa(publicKeyBytes, toEncrypt.getBytes(\"UTF-8\"));\n return Base64.getEncoder().encodeToString(encryptedBytes);\n\ - }\n\nprivate byte[] encryptRsa(byte[] publicKeyBytes, byte[] toEncryptBytes)\ - \ throws Exception {\n PublicKey key = KeyFactory.getInstance(\"RSA\").generatePublic(new\ - \ X509EncodedKeySpec(publicKeyBytes));\n String transformation = \"RSA/ECB/PKCS1Padding\"\ - ;\n Cipher cipher = Cipher.getInstance(transformation);\n cipher.init(1,\ - \ key);\n return cipher.doFinal(toEncryptBytes);\n}\n``` \n\nIn this example,\ - \ `toEncrypt` refers to the plain text password you are setting and then encrypting,\ - \ and the `publicKey` refers to the publicKey you got from the first request\ - \ you sent. \n\nYou can then use [Get Password Change Request Status](https://developer.sailpoint.com/idn/api/v3/get-password-change-status)\ - \ to check the password change request status. To do so, you must provide\ - \ the `requestId` from your earlier request to set the password. \n" - operationId: setIdentityPassword - requestBody: - content: - application/json: - example: - identityId: 8a807d4c73c545510173c545f0a002ff - encryptedPassword: GIAP7TaAg7Y2EJtFojokBDvHQ/iXF3qk0z0+eLusqXMSkEhAfr34GydFLy+BM2uZB94cwbTYKi9rRrCRRdh8610VeqpRDjhuc28nOPYqTJOx09IGJdr8dl4mbhC1f21JCqMBBrFSA4VQQvd6OMVsceoXTjDI0aKahRYNjlMlsOuaIUZeNQxWBydLuR6vYG3qAKEPCzYZbvyYuBUylUWArfqwV4dgwKGDgDkTLBkQU9LVu3rssc+BXaex6l6JcBDiPg7wvKD1G3lZ+BaGrMknbx3j0T2Uivg+HxwTf7PmtAua6O9M7F984c79KM+sYFTU37MAdlWZu/cy+w2DdHVdCg== - publicKeyId: YWQ2NjQ4MTItZjY0NC00MWExLWFjMjktOGNmMzU3Y2VlNjk2 - accountId: "CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com" - sourceId: 8a807d4c73c545510173c545d4b60246 - schema: - $ref: '#/components/schemas/PasswordChangeRequest' - required: true + - OAuth Clients + /org-config: + get: + description: Get org configuration with only external (org admin) accessible + properties for the current org. + operationId: getOrgConfig responses: - "202": + "200": content: application/json: - examples: - Password change is in progress: - value: - state: IN_PROGRESS - requestId: 089899f13a8f4da7824996191587bab9 schema: - $ref: '#/components/schemas/PasswordChangeResponse' - description: Reference to the password change. + $ref: '#/components/schemas/OrgConfig' + description: Request succeeded. "400": content: application/json: @@ -26748,6 +26482,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -26775,33 +26527,36 @@ paths: error. security: - UserContextAuth: - - idn:password-change:manage - summary: Set Identity's Password + - idn:org-configs:read + - idn:org-configs:manage + summary: Get Org configuration settings tags: - - Password Management - /password-change-status/{id}: - get: - description: This API returns the status of a password change request. A token - with identity owner or trusted API client application authority is required - to call this API. - operationId: getIdentityPasswordChangeStatus - parameters: - - in: path - name: id + - Org Config + patch: + description: Patch configuration of the current org using http://jsonpatch.com/ + syntax. Commonly used for changing the time zone of an org. + operationId: patchOrgConfig + requestBody: + content: + application/json-patch+json: + example: + - op: replace + path: /timeZone + value: America/Toronto + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: "A list of schema attribute update operations according to the\ + \ [JSON Patch](https://tools.ietf.org/html/rfc6902) standard." required: true - schema: - type: string responses: "200": content: application/json: - example: - status: IN_PROCESS - reqeustId: 089899f13a8f4da7824996191587bab9 - error: null schema: - $ref: '#/components/schemas/PasswordStatus' - description: Status of the password change request + $ref: '#/components/schemas/OrgConfig' + description: The Org was successfully patched. "400": content: application/json: @@ -26851,6 +26606,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -26868,62 +26631,34 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get Password Change Request Status + security: + - UserContextAuth: + - idn:org-configs:manage + summary: Patch an Org configuration property tags: - - Password Management - /password-sync-groups: + - Org Config + /org-config/valid-time-zones: get: - description: This API returns a list of password sync groups. A token with ORG_ADMIN - authority is required to call this API. - operationId: getPasswordSyncGroups - parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean + description: Get a list of valid time zones that can be set in org configurations. + operationId: getValidTimeZones responses: "200": content: application/json: + example: + - Etc/GMT-6 + - Etc/GMT+8 + - EST + - America/Chicago + - America/Toronto + - Asia/Gaza + - Europe/Brussels + - Europe/Kiev schema: items: - $ref: '#/components/schemas/PasswordSyncGroup' + type: string type: array - description: A list of password sync groups. + description: Request successful "400": content: application/json: @@ -26982,40 +26717,96 @@ paths: error. security: - UserContextAuth: - - idn:password-sync-group-management:read - summary: Get Password Sync Group List + - idn:org-configs:read + - idn:org-configs-user:read + summary: Get list of time zones tags: - - Password Sync Groups - post: - description: This API creates a password sync group based on the specifications - provided. A token with ORG_ADMIN authority is required to call this API. - operationId: createPasswordSyncGroup - requestBody: - content: - application/json: - example: - name: Password Sync Group 2 - passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 - sourceIds: - - 2c918084660f45d6016617daa9210584 - - 2c918084660f45d6016617daa9210500 - schema: - $ref: '#/components/schemas/PasswordSyncGroup' - required: true - responses: + - Org Config + /outlier-summaries: + get: + description: |- + This API receives a summary containing: the number of identities that customer has, the number of outliers, and the type of outlier + Requires authorization scope of 'iai:outliers-management:read' + operationId: getIdentityOutlierSnapshots + parameters: + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - description: Type of the identity outliers snapshot to filter on + in: query + name: type + required: false + schema: + enum: + - LOW_SIMILARITY + - STRUCTURAL + type: string + - 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: + + **snapshotDate**: *ge, le* + example: snapshotDate ge "2022-02-07T20:13:29.356648026Z" + in: query + name: filters + schema: + type: string + - 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: **snapshotDate** + example: snapshotDate + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string + responses: "200": content: application/json: - example: - id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd - name: Password Sync Group 2 - passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 - sourceIds: - - 2c918084660f45d6016617daa9210584 - - 2c918084660f45d6016617daa9210500 schema: - $ref: '#/components/schemas/PasswordSyncGroup' - description: Reference to the password sync group. + items: + $ref: '#/components/schemas/OutlierSummary' + type: array + description: Succeeded. Returns list of objects. Each object is a summary + to give high level statistics/counts of outliers + headers: + X-Total-Count: + description: The total result count. + schema: + type: integer + "202": + content: + application/json: + schema: + type: object + description: Accepted - Returned if the request was successfully accepted + into the system. "400": content: application/json: @@ -27072,29 +26863,42 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:password-sync-group-management:write - summary: Create Password Sync Group + summary: IAI Identity Outliers Summary tags: - - Password Sync Groups - /password-sync-groups/{id}: - delete: - description: This API deletes the specified password sync group. A token with - ORG_ADMIN authority is required to call this API. - operationId: deletePasswordSyncGroup + - IAI Outliers + /outlier-summaries/latest: + get: + description: |- + This API returns a most recent snapshot of each outlier type, each containing: the number of identities that customer has, the number of outliers, and the type of outlier + Requires authorization scope of 'iai:outliers-management:read' + operationId: getLatestIdentityOutlierSnapshots parameters: - - description: The ID of password sync group to delete. - example: 6881f631-3bd5-4213-9c75-8e05cc3e35dd - in: path - name: id - required: true + - description: Type of the identity outliers snapshot to filter on + in: query + name: type + required: false schema: + enum: + - LOW_SIMILARITY + - STRUCTURAL type: string responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/LatestOutlierSummary' + type: array + description: Succeeded. Returns list of objects. Each object is a summary + to give high level statistics/counts of outliers + "202": + content: + application/json: + schema: + type: object + description: Accepted - Returned if the request was successfully accepted + into the system. "400": content: application/json: @@ -27151,38 +26955,110 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:password-sync-group-management:write - summary: Delete Password Sync Group by ID + summary: IAI Identity Outliers Latest Summary tags: - - Password Sync Groups + - IAI Outliers + /outliers: get: - description: This API returns the sync group for the specified ID. A token with - ORG_ADMIN authority is required to call this API. - operationId: getPasswordSyncGroup + description: |- + This API receives a list of outliers, containing data such as: identityId, outlier type, detection dates, identity attributes, if identity is ignore, and certification information + Requires authorization scope of 'iai:outliers-management:read' + operationId: getIdentityOutliers parameters: - - description: The ID of password sync group to retrieve. - example: 6881f631-3bd5-4213-9c75-8e05cc3e35dd - in: path - name: id - required: true + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - description: Type of the identity outliers snapshot to filter on + in: query + name: type + required: false + schema: + enum: + - LOW_SIMILARITY + - STRUCTURAL + example: LOW_SIMILARITY + type: string + - 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: + + **attributes**: *eq, sw, co, in* + + **firstDetectionDate**: *ge, le* + + **certStatus**: *eq* + + **ignored**: *eq* + + **score**: *ge, le* + example: attributes.displayName sw "John" and certStatus eq "false" + in: query + name: filters + required: false + schema: + type: string + - 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: **firstDetectionDate, attributes, score** + example: "attributes.displayName,firstDetectionDate,-score" + in: query + name: sorters + required: false schema: + format: comma-separated type: string responses: "200": content: application/json: - example: - id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd - name: Password Sync Group 1 - passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 - sourceIds: - - 2c918084660f45d6016617daa9210584 - - 2c918084660f45d6016617daa9210500 schema: - $ref: '#/components/schemas/PasswordSyncGroup' - description: Reference to the password sync group. + items: + $ref: '#/components/schemas/Outlier' + type: array + description: Succeeded. Returns list of objects. Each object contains information + about outliers + headers: + X-Total-Count: + description: The total result count. + schema: + type: integer "400": content: application/json: @@ -27214,24 +27090,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -27257,51 +27115,100 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:password-sync-group-management:read - summary: Get Password Sync Group by ID + summary: IAI Get Identity Outliers tags: - - Password Sync Groups - put: - description: This API updates the specified password sync group. A token with - ORG_ADMIN authority is required to call this API. - operationId: updatePasswordSyncGroup + - IAI Outliers + /outliers/{outlierId}/contributing-features: + get: + description: |- + This API returns a list of contributing feature objects for a single outlier. The object contains: feature name, feature value type, value, importance, display name (translated text or message key), description (translated text or message key), translation messages object + Requires authorization scope of 'iai:outliers-management:read' + operationId: getPeerGroupOutliersContributingFeatures parameters: - - description: The ID of password sync group to update. - example: 6881f631-3bd5-4213-9c75-8e05cc3e35dd + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - description: Whether or not to include translation messages object in returned + response + in: query + name: include-translation-messages + required: false + schema: + example: include-translation-messages= + type: string + - description: The outlier id + example: 2c918085842e69ae018432d22ccb212f in: path - name: id + name: outlierId required: true schema: type: string - requestBody: - content: - application/json: - example: - id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd - name: Password Sync Group 2 - passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 - sourceIds: - - 2c918084660f45d6016617daa9210584 - - 2c918084660f45d6016617daa9210500 - schema: - $ref: '#/components/schemas/PasswordSyncGroup' - required: true + - 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: **importance** + example: importance + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string responses: "200": content: application/json: - example: - id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd - name: Password Sync Group 2 - passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 - sourceIds: - - 2c918084660f45d6016617daa9210584 - - 2c918084660f45d6016617daa9210500 schema: - $ref: '#/components/schemas/PasswordSyncGroup' - description: Reference to the password sync group. + items: + $ref: '#/components/schemas/OutlierContributingFeature' + type: array + description: Succeeded. Returns list of objects. Each object contains a + feature and metadata about that feature + headers: + X-Total-Count: + description: The total result count. + schema: + type: integer + accept-language: + description: The locale to use for translations for displayName and + description text + schema: + type: string "400": content: application/json: @@ -27376,29 +27283,103 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:password-sync-group-management:write - summary: Update Password Sync Group by ID + summary: Get identity outlier's contibuting features tags: - - Password Sync Groups - /password-policies/{id}: - delete: - description: This API deletes the specified password policy. A token with ORG_ADMIN - authority is required to call this API. - operationId: deletePasswordPolicy + - IAI Outliers + /outliers/{outlierId}/feature-details/{contributingFeatureName}/access-items: + get: + description: |- + This API returns a list of the enriched access items associated with each feature filtered by the access item type The object contains: accessItemId, display name (translated text or message key), description (translated text or message key), accessType, sourceName, extremelyRare + Requires authorization scope of 'iai:outliers-management:read' + operationId: listOutliersContributingFeatureAccessItems parameters: - - description: The ID of password policy to delete. - example: ff808081838d9e9d01838da6a03e0002 + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - description: The outlier id + example: 2c918085842e69ae018432d22ccb212f in: path - name: id + name: outlierId + required: true + schema: + type: string + - description: The name of contributing feature + example: entitlement_count + in: path + name: contributingFeatureName required: true schema: + enum: + - radical_entitlement_count + - entitlement_count + - max_jaccard_similarity + - mean_max_bundle_concurrency + - single_entitlement_bundle_count + - peerless_score + type: string + - description: "The type of access item for the identity outlier contributing\ + \ feature. If not provided, it returns all" + example: ENTITLEMENT + in: query + name: accessType + required: false + schema: + type: string + - 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: **displayName** + example: displayName + in: query + name: sorters + required: false + schema: + format: comma-separated type: string responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/OutliersContributingFeatureAccessItems' + type: array + description: The list of access items. "400": content: application/json: @@ -27475,61 +27456,33 @@ paths: error. security: - UserContextAuth: - - idn:password-policy:write - summary: Delete Password Policy by ID + - iai:outliers-management:read + summary: Gets a list of access items associated with each identity outlier contributing + feature tags: - - Password Policies - get: - description: This API returns the password policy for the specified ID. A token - with ORG_ADMIN authority is required to call this API. - operationId: getPasswordPolicyById - parameters: - - description: The ID of password policy to retrieve. - example: ff808081838d9e9d01838da6a03e0005 - in: path - name: id + - IAI Outliers + /outliers/ignore: + post: + description: |- + This API receives a list of IdentityIDs in the request, changes the outliers to be ignored--returning a 204 if successful. + Requires authorization scope of 'iai:outliers-management:update' + operationId: ignoreIdentityOutliers + requestBody: + content: + application/json: + schema: + description: List of identity IDs to ignore from outlier listing + example: + - abc123def456 + - ghi789jkl012 + items: + type: string + type: array required: true - schema: - type: string responses: - "200": - content: - application/json: - example: - description: Default Password Policy - id: 2c91808e7d976f3b017d9f5ceae440c8 - name: Example PP - dateCreated: 1639056206564 - lastUpdated: 1662385430753 - firstExpirationReminder: 90 - accountIdMinWordLength: 3 - accountNameMinWordLength: 3 - maxLength: 0 - maxRepeatedChars: 4 - minAlpha: 1 - minCharacterTypes: -1 - minLength: 8 - minLower: 0 - minNumeric: 1 - minSpecial: 0 - minUpper: 0 - passwordExpiration: 90 - defaultPolicy: true - enablePasswdExpiration: false - requireStrongAuthn: false - requireStrongAuthOffNetwork: false - requireStrongAuthUntrustedGeographies: false - useAccountAttributes: false - useDictionary: false - useIdentityAttributes: false - validateAgainstAccountId: true - validateAgainstAccountName: true - sourceIds: - - 2c91808382ffee0b01830de154f14034 - - 2c91808582ffee0c01830de36511405f - schema: - $ref: '#/components/schemas/PasswordPolicyV3Dto' - description: Reference to the password policy. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -27561,24 +27514,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -27604,101 +27539,31 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:password-policy:read - summary: Get Password Policy by ID + summary: IAI Identity Outliers Ignore tags: - - Password Policies - put: - description: This API updates the specified password policy. A token with ORG_ADMIN - authority is required to call this API. - operationId: setPasswordPolicy - parameters: - - description: The ID of password policy to update. - example: ff808081838d9e9d01838da6a03e0007 - in: path - name: id - required: true - schema: - type: string + - IAI Outliers + /outliers/unignore: + post: + description: |- + This API receives a list of IdentityIDs in the request, changes the outliers to be un-ignored--returning a 204 if successful. + Requires authorization scope of 'iai:outliers-management:update' + operationId: unIgnoreIdentityOutliers requestBody: content: application/json: - example: - description: Password Policy after update. - id: 2c91808e7d976f3b017d9f5ceae440c8 - name: Improved Password Policy - dateCreated: 1639056206564 - lastUpdated: 1662385430753 - firstExpirationReminder: 90 - accountIdMinWordLength: 3 - accountNameMinWordLength: 3 - maxLength: 0 - maxRepeatedChars: 4 - minAlpha: 1 - minCharacterTypes: -1 - minLength: 8 - minLower: 0 - minNumeric: 1 - minSpecial: 0 - minUpper: 0 - passwordExpiration: 90 - defaultPolicy: false - enablePasswdExpiration: false - requireStrongAuthn: false - requireStrongAuthOffNetwork: false - requireStrongAuthUntrustedGeographies: false - useAccountAttributes: false - useDictionary: false - useIdentityAttributes: false - validateAgainstAccountId: true - validateAgainstAccountName: true - sourceIds: - - 2c91808382ffee0b01830de154f14034 - - 2c91808582ffee0c01830de36511405f schema: - $ref: '#/components/schemas/PasswordPolicyV3Dto' + description: List of identity IDs to un-ignore from outlier listing + example: + - abc123def456 + - ghi789jkl012 + items: + type: string + type: array required: true responses: - "200": - content: - application/json: - example: - description: Password Policy after update. - id: 2c91808e7d976f3b017d9f5ceae440c8 - name: Improved Password Policy - dateCreated: 1639056206564 - lastUpdated: 1662385430753 - firstExpirationReminder: 90 - accountIdMinWordLength: 3 - accountNameMinWordLength: 3 - maxLength: 0 - maxRepeatedChars: 4 - minAlpha: 1 - minCharacterTypes: -1 - minLength: 8 - minLower: 0 - minNumeric: 1 - minSpecial: 0 - minUpper: 0 - passwordExpiration: 90 - defaultPolicy: false - enablePasswdExpiration: false - requireStrongAuthn: false - requireStrongAuthOffNetwork: false - requireStrongAuthUntrustedGeographies: false - useAccountAttributes: false - useDictionary: false - useIdentityAttributes: false - validateAgainstAccountId: true - validateAgainstAccountName: true - sourceIds: - - 2c91808382ffee0b01830de154f14034 - - 2c91808582ffee0c01830de36511405f - schema: - $ref: '#/components/schemas/PasswordPolicyV3Dto' - description: Reference to the password policy. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -27730,24 +27595,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -27773,127 +27620,34 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:password-policy:write - summary: Update Password Policy by ID + summary: IAI Identity Outliers Unignore tags: - - Password Policies - /password-policies: + - IAI Outliers + /outliers/export: get: description: |- - This gets list of all Password Policies. - Requires role of ORG_ADMIN - operationId: listPasswordPolicies + This API exports a list of ignored outliers to a CSV as well as list of non-ignored outliers to a CSV. These two CSVs will be zipped and exported Columns will include: identityID, type, firstDetectionDate, latestDetectionDate, ignored, & attributes (defined set of identity attributes) + Requires authorization scope of 'iai:outliers-management:read' + operationId: exportOutliersZip parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true + - description: Type of the identity outliers snapshot to filter on in: query - name: count + name: type required: false schema: - default: false - type: boolean + enum: + - LOW_SIMILARITY + - STRUCTURAL + type: string responses: "200": content: - application/json: - example: - - description: Example Password Policy - id: 2c91808e7d976f3b017d9f5ceae440c8 - name: Example PP - dateCreated: 1639056206564 - lastUpdated: 1662385430753 - firstExpirationReminder: 90 - accountIdMinWordLength: 3 - accountNameMinWordLength: 3 - maxLength: 0 - maxRepeatedChars: 4 - minAlpha: 1 - minCharacterTypes: -1 - minLength: 8 - minLower: 0 - minNumeric: 1 - minSpecial: 0 - minUpper: 0 - passwordExpiration: 90 - defaultPolicy: false - enablePasswdExpiration: false - requireStrongAuthn: false - requireStrongAuthOffNetwork: false - requireStrongAuthUntrustedGeographies: false - useAccountAttributes: false - useDictionary: false - useIdentityAttributes: false - validateAgainstAccountId: true - validateAgainstAccountName: true - sourceIds: - - 2c91808382ffee0b01830de154f14034 - - 2c91808582ffee0c01830de36511405f - - description: null - id: 2c91808780b8b8430180ff7a093f3bf2 - name: Password Policy 1 test - dateCreated: 1653553629503 - lastUpdated: null - firstExpirationReminder: null - accountIdMinWordLength: -1 - accountNameMinWordLength: -1 - maxLength: 0 - maxRepeatedChars: -1 - minAlpha: 1 - minCharacterTypes: -1 - minLength: 8 - minLower: 0 - minNumeric: 1 - minSpecial: 0 - minUpper: 0 - passwordExpiration: 90 - defaultPolicy: false - enablePasswdExpiration: false - requireStrongAuthn: false - requireStrongAuthOffNetwork: false - requireStrongAuthUntrustedGeographies: false - useAccountAttributes: false - useDictionary: false - useIdentityAttributes: true - validateAgainstAccountId: false - validateAgainstAccountName: false - sourceIds: [] + application/zip: schema: - items: - $ref: '#/components/schemas/PasswordPolicyV3Dto' - type: array - description: List of all Password Policies. + format: binary + type: string + description: Succeeded. Returns zip of 2 CSVs to download. 1 CSV for ignored + outliers and 1 for non-ignored outliers "400": content: application/json: @@ -27950,62 +27704,36 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:password-policy:read - summary: List Password Policies + summary: IAI Identity Outliers Export tags: - - Password Policies - post: - description: This API creates the specified password policy. A token with ORG_ADMIN - authority is required to call this API. - operationId: createPasswordPolicy - requestBody: - content: - application/json: - example: - description: New Password Policy with high requirements to password - complexity. - id: null - name: High security Password Policy - dateCreated: 1639056206564 - lastUpdated: 1662385430753 - firstExpirationReminder: 90 - accountIdMinWordLength: 3 - accountNameMinWordLength: 3 - maxLength: 0 - maxRepeatedChars: 4 - minAlpha: 1 - minCharacterTypes: -1 - minLength: 8 - minLower: 0 - minNumeric: 1 - minSpecial: 0 - minUpper: 0 - passwordExpiration: 90 - defaultPolicy: false - enablePasswdExpiration: false - requireStrongAuthn: false - requireStrongAuthOffNetwork: false - requireStrongAuthUntrustedGeographies: false - useAccountAttributes: false - useDictionary: false - useIdentityAttributes: false - validateAgainstAccountId: true - validateAgainstAccountName: true - sourceIds: - - 2c91808382ffee0b01830de154f14034 - - 2c91808582ffee0c01830de36511405f - schema: - $ref: '#/components/schemas/PasswordPolicyV3Dto' + - IAI Outliers + /outlier-feature-summaries/{outlierFeatureId}: + get: + description: |- + This API returns a summary of a contributing feature for an identity outlier. The object contains: contributing feature name (translated text or message key), identity outlier display name, feature values, feature definition and explanation (translated text or message key), peer display name and identityId, access item reference, translation messages object + Requires authorization scope of 'iai:outliers-management:read' + operationId: getOutlierContributingFeatureSummary + parameters: + - description: Contributing feature id + example: 04654b66-7561-4090-94f9-abee0722a1af + in: path + name: outlierFeatureId required: true + schema: + type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/PasswordPolicyV3Dto' - description: Reference to the password policy. + $ref: '#/components/schemas/OutlierFeatureSummary' + description: Succeeded. Returns selected contributing feature summary for + an outlier + headers: + accept-language: + description: The locale to use for translations + schema: + type: string "400": content: application/json: @@ -28082,27 +27810,51 @@ paths: error. security: - UserContextAuth: - - idn:password-policy:write - summary: Create Password Policy + - iai:outliers-management:read + summary: Get identity outlier contibuting feature summary tags: - - Password Policies - /password-org-config: + - IAI Outliers + /password-dictionary: get: - description: "This API returns the password org config . Requires ORG_ADMIN,\ - \ API role or authorization scope of 'idn:password-org-config:read'" - operationId: getPasswordOrgConfig + description: |- + This gets password dictionary for the organization. + A token with ORG_ADMIN authority is required to call this API. + The password dictionary file can contain lines that are: + 1. comment lines - the first character is '#', can be 128 Unicode codepoints in length, and are ignored during processing + 2. empty lines + 3. locale line - the first line that starts with "locale=" is considered to be locale line, the rest are treated as normal content lines + 4. line containing the password dictionary word - it must start with non-whitespace character and only non-whitespace characters are allowed; + maximum length of the line is 128 Unicode codepoints + + + Password dictionary file may not contain more than 2,500 lines (not counting whitespace lines, comment lines and locale line). + Password dict file must contain UTF-8 characters only. + + # Sample password text file + + ``` + + # Password dictionary small test file + + locale=en_US + + # Password dictionary prohibited words + + qwerty + abcd + aaaaa + password + qazxsws + + ``` + operationId: getPasswordDictionary responses: "200": content: - application/json: - example: - customInstructionsEnabled: true - digitTokenDurationMinutes: 9 - digitTokenEnabled: false - digitTokenLength: 6 + text/plain: schema: - $ref: '#/components/schemas/PasswordOrgConfig' - description: Reference to the password org config. + type: string + description: A password dictionary response "400": content: application/json: @@ -28134,6 +27886,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -28161,42 +27931,58 @@ paths: error. security: - UserContextAuth: - - idn:password-org-config:read - summary: Get Password Org Config + - idn:password-dictionary-management:read + summary: Get Password Dictionary tags: - - Password Configuration - post: + - Password Dictionary + put: description: |- - This API creates the password org config. Unspecified fields will use default value. - To be able to use the custom password instructions, you must set the `customInstructionsEnabled` field to "true". - Requires ORG_ADMIN, API role or authorization scope of 'idn:password-org-config:write' - operationId: createPasswordOrgConfig - requestBody: - content: - application/json: - example: - customInstructionsEnabled: true - digitTokenEnabled: true - digitTokenDurationMinutes: 12 - digitTokenLength: 9 - schema: - $ref: '#/components/schemas/PasswordOrgConfig' - required: true - responses: - "200": - content: - application/json: - example: - customInstructionsEnabled: true - digitTokenDurationMinutes: 9 - digitTokenEnabled: true - digitTokenLength: 12 - schema: - $ref: '#/components/schemas/PasswordOrgConfig' - description: Reference to the password org config. - "400": - content: - application/json: + This updates password dictionary for the organization. + A token with ORG_ADMIN authority is required to call this API. + The password dictionary file can contain lines that are: + 1. comment lines - the first character is '#', can be 128 Unicode codepoints in length, and are ignored during processing + 2. empty lines + 3. locale line - the first line that starts with "locale=" is considered to be locale line, the rest are treated as normal content lines + 4. line containing the password dictionary word - it must start with non-whitespace character and only non-whitespace characters are allowed; + maximum length of the line is 128 Unicode codepoints + + + Password dictionary file may not contain more than 2,500 lines (not counting whitespace lines, comment lines and locale line). + Password dict file must contain UTF-8 characters only. + + # Sample password text file + + ``` + + # Password dictionary small test file + + locale=en_US + + # Password dictionary prohibited words + + qwerty + abcd + aaaaa + password + qazxsws + + ``` + operationId: putPasswordDictionary + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/putPasswordDictionary_request' + description: The password dictionary file to be uploaded. + required: true + responses: + "200": + description: Successfully updated. + "201": + description: Created. + "400": + content: + application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. @@ -28225,6 +28011,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -28252,37 +28056,171 @@ paths: error. security: - UserContextAuth: - - idn:password-org-config:write - summary: Create Password Org Config + - idn:password-dictionary:manage + summary: Update Password Dictionary tags: - - Password Configuration - put: - description: "This API updates the password org config for specified fields.\ - \ Other fields will keep original value.\nYou must set the `customInstructionsEnabled`\ - \ field to \"true\" to be able to use custom password instructions. \nRequires\ - \ ORG_ADMIN, API role or authorization scope of 'idn:password-org-config:write'" - operationId: putPasswordOrgConfig + - Password Dictionary + /query-password-info: + post: + description: "This API is used to query password related information. \n\nA\ + \ token with [API authority](https://developer.sailpoint.com/idn/api/authentication#client-credentials-grant-flow)\ + \ \nis required to call this API. \"API authority\" refers to a token that\ + \ only has the \"client_credentials\" \ngrant type, and therefore no user\ + \ context. A [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens)\ + \ \nor a token generated with the [authorization_code](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow)\ + \ \ngrant type will **NOT** work on this endpoint, and a `403 Forbidden` response\ + \ \nwill be returned.\n" + operationId: queryPasswordInfo requestBody: content: application/json: example: - digitTokenEnabled: true - digitTokenDurationMinutes: 12 + userName: Abby.Smith + sourceName: My-AD schema: - $ref: '#/components/schemas/PasswordOrgConfig' + $ref: '#/components/schemas/PasswordInfoQueryDTO' required: true responses: "200": content: application/json: example: - customInstructionsEnabled: true - digitTokenDurationMinutes: 12 - digitTokenEnabled: true - digitTokenLength: 6 + identityId: 2c918085744fec4301746f9a5bce4611 + sourceId: 2c918083746f642c01746f9908840111 + publicKeyId: N2M1OTJiMGEtMDJlZS00ZWU3LTkyYTEtNjA5YmI5NWE3ZWVA + publicKey: AIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuGFkWi2J75TztpbaPKd36bJnIB3J8gZ6UcoS9oSDYsqBzPpTsfZXYaEf4Y4BKGgJIXmE/lwhwuj7mU1itdZ2qTSNFtnXA8Fn75c3UUkk+h+wdZbkuSmqlsJo3R1OnJkwkJggcAy9Jvk9jlcrNLWorpQ1w9raUvxtvfgkSdq153KxotenQ1HciSyZ0nA/Kw0UaucLnho8xdRowZs11afXGXA9IT9H6D8T6zUdtSxm0nAyH+mluma5LdTfaM50W3l/L8q56Vrqmx2pZIiwdx/0+g3Y++jV70zom0ZBkC1MmSoLMrQYG5OICNjr72f78B2PaGXfarQHqARLjKpMVt9YIQIDAQAB + accounts: + - accountId: "CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com" + accountName: Abby.Smith + policies: + - passwordRepeatedChar is 3 + - passwordMinAlpha is 1 + - passwordMinLength is 5 + - passwordMinNumeric is 1 schema: - $ref: '#/components/schemas/PasswordOrgConfig' - description: Reference to the password org config. + $ref: '#/components/schemas/PasswordInfo' + description: Reference to the password info. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + summary: Query Password Info + tags: + - Password Management + /set-password: + post: + description: "This API is used to set a password for an identity. \n\nAn identity\ + \ can change their own password (as well as any of their accounts' passwords)\ + \ if they use a token generated by their ISC user, such as a [personal access\ + \ token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens)\ + \ or [\"authorization_code\" derived OAuth token](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow).\n\ + \nA token with [API authority](https://developer.sailpoint.com/idn/api/authentication#client-credentials-grant-flow)\ + \ can be used to change **any** identity's password or the password of any\ + \ of the identity's accounts. \n\"API authority\" refers to a token that only\ + \ has the \"client_credentials\" grant type.\n\n>**Note: If you want to set\ + \ an identity's source account password, you must enable `PASSWORD` as one\ + \ of the source's features. You can use the [PATCH Source endpoint](https://developer.sailpoint.com/docs/api/v3/update-source)\ + \ to add the `PASSWORD` feature.**\n\nYou can use this endpoint to generate\ + \ an `encryptedPassword` (RSA encrypted using publicKey). \nTo do so, follow\ + \ these steps:\n\n1. Use [Query Password Info](https://developer.sailpoint.com/idn/api/v3/query-password-info)\ + \ to get the following information: `identityId`, `sourceId`, `publicKeyId`,\ + \ `publicKey`, `accounts`, and `policies`. \n\n2. Choose an account from the\ + \ previous response that you will provide as an `accountId` in your request\ + \ to set an encrypted password. \n\n3. Use [Set Identity's Password](https://developer.sailpoint.com/idn/api/v3/set-password)\ + \ and provide the information you got from your earlier query. Then add this\ + \ code to your request to get the encrypted password:\n\n```java\nimport javax.crypto.Cipher;\n\ + import java.security.KeyFactory;\nimport java.security.PublicKey;\nimport\ + \ java.security.spec.X509EncodedKeySpec;\nimport java util.Base64;\n\nString\ + \ encrypt(String publicKey, String toEncrypt) throws Exception {\n byte[]\ + \ publicKeyBytes = Base64.getDecoder().decode(publicKey);\n byte[] encryptedBytes\ + \ = encryptRsa(publicKeyBytes, toEncrypt.getBytes(\"UTF-8\"));\n return Base64.getEncoder().encodeToString(encryptedBytes);\n\ + }\n\nprivate byte[] encryptRsa(byte[] publicKeyBytes, byte[] toEncryptBytes)\ + \ throws Exception {\n PublicKey key = KeyFactory.getInstance(\"RSA\").generatePublic(new\ + \ X509EncodedKeySpec(publicKeyBytes));\n String transformation = \"RSA/ECB/PKCS1Padding\"\ + ;\n Cipher cipher = Cipher.getInstance(transformation);\n cipher.init(1,\ + \ key);\n return cipher.doFinal(toEncryptBytes);\n}\n``` \n\nIn this example,\ + \ `toEncrypt` refers to the plain text password you are setting and then encrypting,\ + \ and the `publicKey` refers to the publicKey you got from the first request\ + \ you sent. \n\nYou can then use [Get Password Change Request Status](https://developer.sailpoint.com/idn/api/v3/get-password-change-status)\ + \ to check the password change request status. To do so, you must provide\ + \ the `requestId` from your earlier request to set the password. \n" + operationId: setIdentityPassword + requestBody: + content: + application/json: + example: + identityId: 8a807d4c73c545510173c545f0a002ff + encryptedPassword: GIAP7TaAg7Y2EJtFojokBDvHQ/iXF3qk0z0+eLusqXMSkEhAfr34GydFLy+BM2uZB94cwbTYKi9rRrCRRdh8610VeqpRDjhuc28nOPYqTJOx09IGJdr8dl4mbhC1f21JCqMBBrFSA4VQQvd6OMVsceoXTjDI0aKahRYNjlMlsOuaIUZeNQxWBydLuR6vYG3qAKEPCzYZbvyYuBUylUWArfqwV4dgwKGDgDkTLBkQU9LVu3rssc+BXaex6l6JcBDiPg7wvKD1G3lZ+BaGrMknbx3j0T2Uivg+HxwTf7PmtAua6O9M7F984c79KM+sYFTU37MAdlWZu/cy+w2DdHVdCg== + publicKeyId: YWQ2NjQ4MTItZjY0NC00MWExLWFjMjktOGNmMzU3Y2VlNjk2 + accountId: "CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com" + sourceId: 8a807d4c73c545510173c545d4b60246 + schema: + $ref: '#/components/schemas/PasswordChangeRequest' + required: true + responses: + "202": + content: + application/json: + examples: + Password change is in progress: + value: + state: IN_PROGRESS + requestId: 089899f13a8f4da7824996191587bab9 + schema: + $ref: '#/components/schemas/PasswordChangeResponse' + description: Reference to the password change. "400": content: application/json: @@ -28341,27 +28279,108 @@ paths: error. security: - UserContextAuth: - - idn:password-org-config:write - summary: Update Password Org Config + - idn:password-change:manage + summary: Set Identity's Password tags: - - Password Configuration - /peer-group-strategies/{strategy}/identity-outliers: + - Password Management + /password-change-status/{id}: get: - deprecated: true - description: "-- Deprecated : See 'IAI Outliers' This API will be used by Identity\ - \ Governance systems to identify identities that are not included in an organization's\ - \ peer groups. By default, 250 identities are returned. You can specify between\ - \ 1 and 1000 number of identities that can be returned." - operationId: getPeerGroupOutliers + description: This API returns the status of a password change request. A token + with identity owner or trusted API client application authority is required + to call this API. + operationId: getIdentityPasswordChangeStatus parameters: - - description: "The strategy used to create peer groups. Currently, 'entitlement'\ - \ is supported." - example: entitlement - in: path - name: strategy + - in: path + name: id required: true schema: type: string + responses: + "200": + content: + application/json: + example: + status: IN_PROCESS + reqeustId: 089899f13a8f4da7824996191587bab9 + error: null + schema: + $ref: '#/components/schemas/PasswordStatus' + description: Status of the password change request + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + summary: Get Password Change Request Status + tags: + - Password Management + /password-sync-groups: + get: + description: This API returns a list of password sync groups. A token with ORG_ADMIN + authority is required to call this API. + operationId: getPasswordSyncGroups + parameters: - 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. @@ -28406,9 +28425,9 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/PeerGroupMember' + $ref: '#/components/schemas/PasswordSyncGroup' type: array - description: List of identities that are not included in peer groups. + description: A list of password sync groups. "400": content: application/json: @@ -28466,51 +28485,41 @@ paths: description: Internal Server Error - Returned if there is an unexpected error. security: - - UserContextAuth: [] - summary: Identity Outliers List + - UserContextAuth: + - idn:password-sync-group-management:read + summary: Get Password Sync Group List tags: - - IAI Peer Group Strategies - /personal-access-tokens: - get: - description: "This gets a collection of personal access tokens associated with\ - \ the optional `owner-id`. query parameter. If the `owner-id` query parameter\ - \ is omitted, all personal access tokens for a tenant will be retrieved,\ - \ but the caller must have the 'idn:all-personal-access-tokens:read' right." - operationId: listPersonalAccessTokens - parameters: - - description: "The identity ID of the owner whose personal access tokens should\ - \ be listed. If \"me\", the caller should have the following right: 'idn:my-personal-access-tokens:read'\n\ - If an actual owner ID or if the `owner-id` parameter is omitted in the request,\ - \ the caller should have the following right: 'idn:all-personal-access-tokens:read'.\ - \ \nIf the caller has the following right, then managed personal access\ - \ tokens associated with `owner-id` will be retrieved: 'idn:managed-personal-access-tokens:read'" - in: query - name: owner-id - required: false - schema: - example: 2c9180867b50d088017b554662fb281e - type: string - - 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: - - **lastUsed**: *le, isnull* - example: lastUsed le 2023-02-05T10:59:27.214Z - in: query - name: filters - required: false - schema: - type: string + - Password Sync Groups + post: + description: This API creates a password sync group based on the specifications + provided. A token with ORG_ADMIN authority is required to call this API. + operationId: createPasswordSyncGroup + requestBody: + content: + application/json: + example: + name: Password Sync Group 2 + passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 + sourceIds: + - 2c918084660f45d6016617daa9210584 + - 2c918084660f45d6016617daa9210500 + schema: + $ref: '#/components/schemas/PasswordSyncGroup' + required: true responses: "200": content: application/json: + example: + id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd + name: Password Sync Group 2 + passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 + sourceIds: + - 2c918084660f45d6016617daa9210584 + - 2c918084660f45d6016617daa9210500 schema: - items: - $ref: '#/components/schemas/GetPersonalAccessTokenResponse' - type: array - description: List of personal access tokens. + $ref: '#/components/schemas/PasswordSyncGroup' + description: Reference to the password sync group. "400": content: application/json: @@ -28569,31 +28578,27 @@ paths: error. security: - UserContextAuth: - - sp:my-personal-access-tokens:read - - sp:my-personal-access-tokens:manage - - sp:all-personal-access-tokens:read - - sp:all-personal-access-tokens:manage - summary: List Personal Access Tokens + - idn:password-sync-group-management:write + summary: Create Password Sync Group tags: - - Personal Access Tokens - post: - description: This creates a personal access token. - operationId: createPersonalAccessToken - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePersonalAccessTokenRequest' - description: Name and scope of personal access token. + - Password Sync Groups + /password-sync-groups/{id}: + delete: + description: This API deletes the specified password sync group. A token with + ORG_ADMIN authority is required to call this API. + operationId: deletePasswordSyncGroup + parameters: + - description: The ID of password sync group to delete. + example: 6881f631-3bd5-4213-9c75-8e05cc3e35dd + in: path + name: id required: true + schema: + type: string responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePersonalAccessTokenResponse' - description: Created. Note - this is the only time Personal Access Tokens' - secret attribute will be displayed. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -28652,26 +28657,36 @@ paths: error. security: - UserContextAuth: - - sp:my-personal-access-tokens:manage - - sp:all-personal-access-tokens:manage - summary: Create Personal Access Token + - idn:password-sync-group-management:write + summary: Delete Password Sync Group by ID tags: - - Personal Access Tokens - /personal-access-tokens/{id}: - delete: - description: This deletes a personal access token. - operationId: deletePersonalAccessToken + - Password Sync Groups + get: + description: This API returns the sync group for the specified ID. A token with + ORG_ADMIN authority is required to call this API. + operationId: getPasswordSyncGroup parameters: - - description: The personal access token id - example: ef38f94347e94562b5bb8424a56397d8 + - description: The ID of password sync group to retrieve. + example: 6881f631-3bd5-4213-9c75-8e05cc3e35dd in: path name: id required: true schema: type: string responses: - "204": - description: No content. + "200": + content: + application/json: + example: + id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd + name: Password Sync Group 1 + passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 + sourceIds: + - 2c918084660f45d6016617daa9210584 + - 2c918084660f45d6016617daa9210500 + schema: + $ref: '#/components/schemas/PasswordSyncGroup' + description: Reference to the password sync group. "400": content: application/json: @@ -28748,18 +28763,17 @@ paths: error. security: - UserContextAuth: - - sp:my-personal-access-tokens:manage - - sp:all-personal-access-tokens:manage - summary: Delete Personal Access Token + - idn:password-sync-group-management:read + summary: Get Password Sync Group by ID tags: - - Personal Access Tokens - patch: - description: This performs a targeted update to the field(s) of a Personal Access - Token. - operationId: patchPersonalAccessToken + - Password Sync Groups + put: + description: This API updates the specified password sync group. A token with + ORG_ADMIN authority is required to call this API. + operationId: updatePasswordSyncGroup parameters: - - description: The Personal Access Token id - example: ef38f94347e94562b5bb8424a56397d8 + - description: The ID of password sync group to update. + example: 6881f631-3bd5-4213-9c75-8e05cc3e35dd in: path name: id required: true @@ -28767,34 +28781,31 @@ paths: type: string requestBody: content: - application/json-patch+json: + application/json: example: - - op: replace - path: /name - value: New name - - op: replace - path: /scope - value: - - sp:scopes:all + id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd + name: Password Sync Group 2 + passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 + sourceIds: + - 2c918084660f45d6016617daa9210584 + - 2c918084660f45d6016617daa9210500 schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: | - A list of OAuth client update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. - - The following fields are patchable: - * name - * scope + $ref: '#/components/schemas/PasswordSyncGroup' required: true responses: "200": content: application/json: + example: + id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd + name: Password Sync Group 2 + passwordPolicyId: 2c91808d744ba0ce01746f93b6204501 + sourceIds: + - 2c918084660f45d6016617daa9210584 + - 2c918084660f45d6016617daa9210500 schema: - $ref: '#/components/schemas/GetPersonalAccessTokenResponse' - description: "Indicates the PATCH operation succeeded, and returns the PAT's\ - \ new representation." + $ref: '#/components/schemas/PasswordSyncGroup' + description: Reference to the password sync group. "400": content: application/json: @@ -28871,21 +28882,27 @@ paths: error. security: - UserContextAuth: - - sp:my-personal-access-tokens:manage - summary: Patch Personal Access Token + - idn:password-sync-group-management:write + summary: Update Password Sync Group by ID tags: - - Personal Access Tokens - /public-identities-config: - get: - description: This gets details of public identity config. - operationId: getPublicIdentityConfig + - Password Sync Groups + /password-policies/{id}: + delete: + description: This API deletes the specified password policy. A token with ORG_ADMIN + authority is required to call this API. + operationId: deletePasswordPolicy + parameters: + - description: The ID of password policy to delete. + example: ff808081838d9e9d01838da6a03e0002 + in: path + name: id + required: true + schema: + type: string responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PublicIdentityConfig' - description: Request succeeded. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -28917,81 +28934,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": - content: - application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - summary: Get Public Identity Config - tags: - - Public Identities Config - put: - description: This updates the details of public identity config. - operationId: updatePublicIdentityConfig - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PublicIdentityConfig' - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PublicIdentityConfig' - description: Request succeeded. - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." - "403": + "404": content: application/json: examples: - "403": - summary: An example of a 403 response object + "404": + summary: An example of a 404 response object value: - detailCode: 403 Forbidden + detailCode: 404 Not found trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. + text: The server did not find a current representation for the + target resource. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -29017,22 +28977,63 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Update Public Identity Config + security: + - UserContextAuth: + - idn:password-policy:write + summary: Delete Password Policy by ID tags: - - Public Identities Config - /notification-template-context: + - Password Policies get: - description: |- - The notification service maintains metadata to construct the notification templates or supply any information during the event propagation. The data-store where this information is retrieved is called "Global Context" (a.k.a. notification template context). It defines a set of attributes - that will be available per tenant (organization). - operationId: getNotificationsTemplateContext + description: This API returns the password policy for the specified ID. A token + with ORG_ADMIN authority is required to call this API. + operationId: getPasswordPolicyById + parameters: + - description: The ID of password policy to retrieve. + example: ff808081838d9e9d01838da6a03e0005 + in: path + name: id + required: true + schema: + type: string responses: "200": content: application/json: + example: + description: Default Password Policy + id: 2c91808e7d976f3b017d9f5ceae440c8 + name: Example PP + dateCreated: 1639056206564 + lastUpdated: 1662385430753 + firstExpirationReminder: 90 + accountIdMinWordLength: 3 + accountNameMinWordLength: 3 + maxLength: 0 + maxRepeatedChars: 4 + minAlpha: 1 + minCharacterTypes: -1 + minLength: 8 + minLower: 0 + minNumeric: 1 + minSpecial: 0 + minUpper: 0 + passwordExpiration: 90 + defaultPolicy: true + enablePasswdExpiration: false + requireStrongAuthn: false + requireStrongAuthOffNetwork: false + requireStrongAuthUntrustedGeographies: false + useAccountAttributes: false + useDictionary: false + useIdentityAttributes: false + validateAgainstAccountId: true + validateAgainstAccountName: true + sourceIds: + - 2c91808382ffee0b01830de154f14034 + - 2c91808582ffee0c01830de36511405f schema: - $ref: '#/components/schemas/NotificationTemplateContext' - description: Notification template context attributes for a specific tenant. + $ref: '#/components/schemas/PasswordPolicyV3Dto' + description: Reference to the password policy. "400": content: application/json: @@ -29064,6 +29065,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -29091,23 +29110,99 @@ paths: error. security: - UserContextAuth: - - idn:notification-templates:read - summary: Get Notification Template Context + - idn:password-policy:read + summary: Get Password Policy by ID tags: - - Notifications - /notification-preferences/{key}: - get: - description: Returns a list of notification preferences for tenant. - operationId: listNotificationPreferences + - Password Policies + put: + description: This API updates the specified password policy. A token with ORG_ADMIN + authority is required to call this API. + operationId: setPasswordPolicy + parameters: + - description: The ID of password policy to update. + example: ff808081838d9e9d01838da6a03e0007 + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + example: + description: Password Policy after update. + id: 2c91808e7d976f3b017d9f5ceae440c8 + name: Improved Password Policy + dateCreated: 1639056206564 + lastUpdated: 1662385430753 + firstExpirationReminder: 90 + accountIdMinWordLength: 3 + accountNameMinWordLength: 3 + maxLength: 0 + maxRepeatedChars: 4 + minAlpha: 1 + minCharacterTypes: -1 + minLength: 8 + minLower: 0 + minNumeric: 1 + minSpecial: 0 + minUpper: 0 + passwordExpiration: 90 + defaultPolicy: false + enablePasswdExpiration: false + requireStrongAuthn: false + requireStrongAuthOffNetwork: false + requireStrongAuthUntrustedGeographies: false + useAccountAttributes: false + useDictionary: false + useIdentityAttributes: false + validateAgainstAccountId: true + validateAgainstAccountName: true + sourceIds: + - 2c91808382ffee0b01830de154f14034 + - 2c91808582ffee0c01830de36511405f + schema: + $ref: '#/components/schemas/PasswordPolicyV3Dto' + required: true responses: "200": content: application/json: + example: + description: Password Policy after update. + id: 2c91808e7d976f3b017d9f5ceae440c8 + name: Improved Password Policy + dateCreated: 1639056206564 + lastUpdated: 1662385430753 + firstExpirationReminder: 90 + accountIdMinWordLength: 3 + accountNameMinWordLength: 3 + maxLength: 0 + maxRepeatedChars: 4 + minAlpha: 1 + minCharacterTypes: -1 + minLength: 8 + minLower: 0 + minNumeric: 1 + minSpecial: 0 + minUpper: 0 + passwordExpiration: 90 + defaultPolicy: false + enablePasswdExpiration: false + requireStrongAuthn: false + requireStrongAuthOffNetwork: false + requireStrongAuthUntrustedGeographies: false + useAccountAttributes: false + useDictionary: false + useIdentityAttributes: false + validateAgainstAccountId: true + validateAgainstAccountName: true + sourceIds: + - 2c91808382ffee0b01830de154f14034 + - 2c91808582ffee0c01830de36511405f schema: - items: - $ref: '#/components/schemas/PreferencesDto' - type: array - description: Return preference for the given notification key. + $ref: '#/components/schemas/PasswordPolicyV3Dto' + description: Reference to the password policy. "400": content: application/json: @@ -29184,24 +29279,125 @@ paths: error. security: - UserContextAuth: - - idn:notification-preferences:read - summary: List Notification Preferences for tenant. + - idn:password-policy:write + summary: Update Password Policy by ID tags: - - Notifications - /reassignment-configurations/types: + - Password Policies + /password-policies: get: - description: Gets a collection of types which are available in the Reassignment - Configuration UI. - operationId: getReassignmentConfigTypes + description: |- + This gets list of all Password Policies. + Requires role of ORG_ADMIN + operationId: listPasswordPolicies + parameters: + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: "200": content: application/json: + example: + - description: Example Password Policy + id: 2c91808e7d976f3b017d9f5ceae440c8 + name: Example PP + dateCreated: 1639056206564 + lastUpdated: 1662385430753 + firstExpirationReminder: 90 + accountIdMinWordLength: 3 + accountNameMinWordLength: 3 + maxLength: 0 + maxRepeatedChars: 4 + minAlpha: 1 + minCharacterTypes: -1 + minLength: 8 + minLower: 0 + minNumeric: 1 + minSpecial: 0 + minUpper: 0 + passwordExpiration: 90 + defaultPolicy: false + enablePasswdExpiration: false + requireStrongAuthn: false + requireStrongAuthOffNetwork: false + requireStrongAuthUntrustedGeographies: false + useAccountAttributes: false + useDictionary: false + useIdentityAttributes: false + validateAgainstAccountId: true + validateAgainstAccountName: true + sourceIds: + - 2c91808382ffee0b01830de154f14034 + - 2c91808582ffee0c01830de36511405f + - description: null + id: 2c91808780b8b8430180ff7a093f3bf2 + name: Password Policy 1 test + dateCreated: 1653553629503 + lastUpdated: null + firstExpirationReminder: null + accountIdMinWordLength: -1 + accountNameMinWordLength: -1 + maxLength: 0 + maxRepeatedChars: -1 + minAlpha: 1 + minCharacterTypes: -1 + minLength: 8 + minLower: 0 + minNumeric: 1 + minSpecial: 0 + minUpper: 0 + passwordExpiration: 90 + defaultPolicy: false + enablePasswdExpiration: false + requireStrongAuthn: false + requireStrongAuthOffNetwork: false + requireStrongAuthUntrustedGeographies: false + useAccountAttributes: false + useDictionary: false + useIdentityAttributes: true + validateAgainstAccountId: false + validateAgainstAccountName: false + sourceIds: [] schema: items: - $ref: '#/components/schemas/ConfigType' + $ref: '#/components/schemas/PasswordPolicyV3Dto' type: array - description: List of Reassignment Configuration Types + description: List of all Password Policies. "400": content: application/json: @@ -29260,23 +29456,60 @@ paths: error. security: - UserContextAuth: - - idn:reassignment-configuration:read - summary: List Reassignment Config Types + - idn:password-policy:read + summary: List Password Policies tags: - - Work Reassignment - /reassignment-configurations: - get: - description: Gets all Reassignment configuration for the current org. - operationId: listReassignmentConfigurations + - Password Policies + post: + description: This API creates the specified password policy. A token with ORG_ADMIN + authority is required to call this API. + operationId: createPasswordPolicy + requestBody: + content: + application/json: + example: + description: New Password Policy with high requirements to password + complexity. + id: null + name: High security Password Policy + dateCreated: 1639056206564 + lastUpdated: 1662385430753 + firstExpirationReminder: 90 + accountIdMinWordLength: 3 + accountNameMinWordLength: 3 + maxLength: 0 + maxRepeatedChars: 4 + minAlpha: 1 + minCharacterTypes: -1 + minLength: 8 + minLower: 0 + minNumeric: 1 + minSpecial: 0 + minUpper: 0 + passwordExpiration: 90 + defaultPolicy: false + enablePasswdExpiration: false + requireStrongAuthn: false + requireStrongAuthOffNetwork: false + requireStrongAuthUntrustedGeographies: false + useAccountAttributes: false + useDictionary: false + useIdentityAttributes: false + validateAgainstAccountId: true + validateAgainstAccountName: true + sourceIds: + - 2c91808382ffee0b01830de154f14034 + - 2c91808582ffee0c01830de36511405f + schema: + $ref: '#/components/schemas/PasswordPolicyV3Dto' + required: true responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/ConfigurationResponse' - type: array - description: A list of Reassignment Configurations for an org + $ref: '#/components/schemas/PasswordPolicyV3Dto' + description: Reference to the password policy. "400": content: application/json: @@ -29353,26 +29586,27 @@ paths: error. security: - UserContextAuth: - - idn:reassignment-configuration:read - summary: List Reassignment Configurations + - idn:password-policy:write + summary: Create Password Policy tags: - - Work Reassignment - post: - description: Creates a new Reassignment Configuration for the specified identity. - operationId: createReassignmentConfiguration - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ConfigurationItemRequest' - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/ConfigurationItemResponse' - description: The newly created Reassignment Configuration object + - Password Policies + /password-org-config: + get: + description: "This API returns the password org config . Requires ORG_ADMIN,\ + \ API role or authorization scope of 'idn:password-org-config:read'" + operationId: getPasswordOrgConfig + responses: + "200": + content: + application/json: + example: + customInstructionsEnabled: true + digitTokenDurationMinutes: 9 + digitTokenEnabled: false + digitTokenLength: 6 + schema: + $ref: '#/components/schemas/PasswordOrgConfig' + description: Reference to the password org config. "400": content: application/json: @@ -29431,25 +29665,39 @@ paths: error. security: - UserContextAuth: - - idn:reassignment-configuration:create - summary: Create a Reassignment Configuration + - idn:password-org-config:read + summary: Get Password Org Config tags: - - Work Reassignment - /reassignment-configurations/{identityId}: - delete: - description: Deletes all Reassignment Configuration for the specified identity - operationId: deleteReassignmentConfiguration - parameters: - - description: unique identity id - example: 2c91808781a71ddb0181b9090b5c504e - in: path - name: identityId + - Password Configuration + post: + description: |- + This API creates the password org config. Unspecified fields will use default value. + To be able to use the custom password instructions, you must set the `customInstructionsEnabled` field to "true". + Requires ORG_ADMIN, API role or authorization scope of 'idn:password-org-config:write' + operationId: createPasswordOrgConfig + requestBody: + content: + application/json: + example: + customInstructionsEnabled: true + digitTokenEnabled: true + digitTokenDurationMinutes: 12 + digitTokenLength: 9 + schema: + $ref: '#/components/schemas/PasswordOrgConfig' required: true - schema: - type: string responses: - "204": - description: Reassignment Configuration deleted + "200": + content: + application/json: + example: + customInstructionsEnabled: true + digitTokenDurationMinutes: 9 + digitTokenEnabled: true + digitTokenLength: 12 + schema: + $ref: '#/components/schemas/PasswordOrgConfig' + description: Reference to the password org config. "400": content: application/json: @@ -29508,28 +29756,37 @@ paths: error. security: - UserContextAuth: - - idn:reassignment-configuration:delete - summary: Delete Reassignment Configuration + - idn:password-org-config:write + summary: Create Password Org Config tags: - - Work Reassignment - get: - description: Gets the Reassignment Configuration for an identity. - operationId: getReassignmentConfiguration - parameters: - - description: unique identity id - example: 2c91808781a71ddb0181b9090b5c504f - in: path - name: identityId + - Password Configuration + put: + description: "This API updates the password org config for specified fields.\ + \ Other fields will keep original value.\nYou must set the `customInstructionsEnabled`\ + \ field to \"true\" to be able to use custom password instructions. \nRequires\ + \ ORG_ADMIN, API role or authorization scope of 'idn:password-org-config:write'" + operationId: putPasswordOrgConfig + requestBody: + content: + application/json: + example: + digitTokenEnabled: true + digitTokenDurationMinutes: 12 + schema: + $ref: '#/components/schemas/PasswordOrgConfig' required: true - schema: - type: string responses: "200": content: application/json: + example: + customInstructionsEnabled: true + digitTokenDurationMinutes: 12 + digitTokenEnabled: true + digitTokenLength: 6 schema: - $ref: '#/components/schemas/ConfigurationResponse' - description: Reassignment Configuration for an identity + $ref: '#/components/schemas/PasswordOrgConfig' + description: Reference to the password org config. "400": content: application/json: @@ -29561,24 +29818,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -29606,35 +29845,74 @@ paths: error. security: - UserContextAuth: - - idn:reassignment-configuration:read - summary: Get Reassignment Configuration + - idn:password-org-config:write + summary: Update Password Org Config tags: - - Work Reassignment - put: - description: Replaces existing Reassignment configuration for an identity with - the newly provided configuration. - operationId: putReassignmentConfig + - Password Configuration + /peer-group-strategies/{strategy}/identity-outliers: + get: + deprecated: true + description: "-- Deprecated : See 'IAI Outliers' This API will be used by Identity\ + \ Governance systems to identify identities that are not included in an organization's\ + \ peer groups. By default, 250 identities are returned. You can specify between\ + \ 1 and 1000 number of identities that can be returned." + operationId: getPeerGroupOutliers parameters: - - description: unique identity id - example: 2c91808781a71ddb0181b9090b5c504e + - description: "The strategy used to create peer groups. Currently, 'entitlement'\ + \ is supported." + example: entitlement in: path - name: identityId + name: strategy required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ConfigurationItemRequest' - required: true + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ConfigurationItemResponse' - description: Reassignment Configuration updated + items: + $ref: '#/components/schemas/PeerGroupMember' + type: array + description: List of identities that are not included in peer groups. "400": content: application/json: @@ -29692,66 +29970,51 @@ paths: description: Internal Server Error - Returned if there is an unexpected error. security: - - UserContextAuth: - - idn:reassignment-configuration:update - summary: Update Reassignment Configuration + - UserContextAuth: [] + summary: Identity Outliers List tags: - - Work Reassignment - /reassignment-configurations/{identityId}/evaluate/{configType}: + - IAI Peer Group Strategies + /personal-access-tokens: get: - description: "Evaluates the Reassignment Configuration for an `Identity` to\ - \ determine if work items for the specified type should be reassigned. If\ - \ a valid Reassignment Configuration is found for the identity & work type,\ - \ then a lookup is initiated which recursively fetches the Reassignment Configuration\ - \ for the next `TargetIdentity` until no more results are found or a max depth\ - \ of 5. That lookup trail is provided in the response and the final reassigned\ - \ identity in the lookup list is returned as the `reassignToId` property.\ - \ If no Reassignment Configuration is found for the specified identity & config\ - \ type then the requested Identity ID will be used as the `reassignToId` value\ - \ and the lookupTrail node will be empty." - operationId: getEvaluateReassignmentConfiguration + description: "This gets a collection of personal access tokens associated with\ + \ the optional `owner-id`. query parameter. If the `owner-id` query parameter\ + \ is omitted, all personal access tokens for a tenant will be retrieved,\ + \ but the caller must have the 'idn:all-personal-access-tokens:read' right." + operationId: listPersonalAccessTokens parameters: - - description: unique identity id - example: 2c91808781a71ddb0181b9090b5c504e - in: path - name: identityId - required: true + - description: "The identity ID of the owner whose personal access tokens should\ + \ be listed. If \"me\", the caller should have the following right: 'idn:my-personal-access-tokens:read'\n\ + If an actual owner ID or if the `owner-id` parameter is omitted in the request,\ + \ the caller should have the following right: 'idn:all-personal-access-tokens:read'.\ + \ \nIf the caller has the following right, then managed personal access\ + \ tokens associated with `owner-id` will be retrieved: 'idn:managed-personal-access-tokens:read'" + in: query + name: owner-id + required: false schema: + example: 2c9180867b50d088017b554662fb281e type: string - - description: Reassignment work type - example: accessRequests - in: path - name: configType - required: true - schema: - $ref: '#/components/schemas/ConfigTypeEnum' - - description: "Exclusion filters that disable parts of the reassignment evaluation.\ - \ Possible values are listed below: - `SELF_REVIEW_DELEGATION`: This will\ - \ exclude delegations of self-review reassignments" - example: SELF_REVIEW_DELEGATION + - 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: + + **lastUsed**: *le, isnull* + example: lastUsed le 2023-02-05T10:59:27.214Z in: query - name: exclusionFilters + name: filters required: false schema: - items: - type: string - type: array + type: string responses: "200": content: application/json: - examples: - empty: - $ref: '#/components/examples/evaluateEmpty' - longTrail: - $ref: '#/components/examples/evaluateLong' - selfReview: - $ref: '#/components/examples/evaluateSelfReview' schema: items: - $ref: '#/components/schemas/EvaluateResponse' + $ref: '#/components/schemas/GetPersonalAccessTokenResponse' type: array - description: Evaluated Reassignment Configuration + description: List of personal access tokens. "400": content: application/json: @@ -29810,22 +30073,31 @@ paths: error. security: - UserContextAuth: - - idn:reassignment-configuration:evaluate - summary: Evaluate Reassignment Configuration + - sp:my-personal-access-tokens:read + - sp:my-personal-access-tokens:manage + - sp:all-personal-access-tokens:read + - sp:all-personal-access-tokens:manage + summary: List Personal Access Tokens tags: - - Work Reassignment - /reassignment-configurations/tenant-config: - get: - description: Gets the global Reassignment Configuration settings for the requestor's - tenant. - operationId: getTenantConfigConfiguration + - Personal Access Tokens + post: + description: This creates a personal access token. + operationId: createPersonalAccessToken + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePersonalAccessTokenRequest' + description: Name and scope of personal access token. + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/TenantConfigurationResponse' - description: Tenant-wide Reassignment Configuration settings + $ref: '#/components/schemas/CreatePersonalAccessTokenResponse' + description: Created. Note - this is the only time Personal Access Tokens' + secret attribute will be displayed. "400": content: application/json: @@ -29857,24 +30129,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -29902,27 +30156,26 @@ paths: error. security: - UserContextAuth: - - idn:reassignment-tenant-configuration:read - summary: Get Tenant-wide Reassignment Configuration settings + - sp:my-personal-access-tokens:manage + - sp:all-personal-access-tokens:manage + summary: Create Personal Access Token tags: - - Work Reassignment - put: - description: Replaces existing Tenant-wide Reassignment Configuration settings - with the newly provided settings. - operationId: putTenantConfiguration - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TenantConfigurationRequest' + - Personal Access Tokens + /personal-access-tokens/{id}: + delete: + description: This deletes a personal access token. + operationId: deletePersonalAccessToken + parameters: + - description: The personal access token id + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id required: true + schema: + type: string responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/TenantConfigurationResponse' - description: Tenant-wide Reassignment Configuration settings + "204": + description: No content. "400": content: application/json: @@ -29954,6 +30207,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -29981,29 +30252,53 @@ paths: error. security: - UserContextAuth: - - idn:reassignment-tenant-configuration:update - summary: Update Tenant-wide Reassignment Configuration settings + - sp:my-personal-access-tokens:manage + - sp:all-personal-access-tokens:manage + summary: Delete Personal Access Token tags: - - Work Reassignment - /recommendations/request: - post: - description: The getRecommendations API returns recommendations based on the - requested object. The recommendations are invoked by IdentityIQ and IdentityNow - plug-ins that retrieve recommendations based on the performed calculations. - operationId: getRecommendations + - Personal Access Tokens + patch: + description: This performs a targeted update to the field(s) of a Personal Access + Token. + operationId: patchPersonalAccessToken + parameters: + - description: The Personal Access Token id + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true + schema: + type: string requestBody: content: - application/json: + application/json-patch+json: + example: + - op: replace + path: /name + value: New name + - op: replace + path: /scope + value: + - sp:scopes:all schema: - $ref: '#/components/schemas/RecommendationRequestDto' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: | + A list of OAuth client update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + + The following fields are patchable: + * name + * scope required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/RecommendationResponseDto' - description: The recommendations for a customer + $ref: '#/components/schemas/GetPersonalAccessTokenResponse' + description: "Indicates the PATCH operation succeeded, and returns the PAT's\ + \ new representation." "400": content: application/json: @@ -30035,6 +30330,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -30061,21 +30374,22 @@ paths: description: Internal Server Error - Returned if there is an unexpected error. security: - - UserContextAuth: [] - summary: Returns a Recommendation Based on Object + - UserContextAuth: + - sp:my-personal-access-tokens:manage + summary: Patch Personal Access Token tags: - - IAI Recommendations - /recommendations/config: + - Personal Access Tokens + /public-identities-config: get: - description: Retrieves configuration attributes used by certification recommendations. - operationId: getRecommendationsConfig + description: This gets details of public identity config. + operationId: getPublicIdentityConfig responses: "200": content: application/json: schema: - $ref: '#/components/schemas/RecommendationConfigDto' - description: Cert recommendation configuration attributes + $ref: '#/components/schemas/PublicIdentityConfig' + description: Request succeeded. "400": content: application/json: @@ -30107,6 +30421,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -30124,27 +30446,25 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: [] - summary: Get certification recommendation config values + summary: Get Public Identity Config tags: - - IAI Recommendations + - Public Identities Config put: - description: Updates configuration attributes used by certification recommendations. - operationId: updateRecommendationsConfig + description: This updates the details of public identity config. + operationId: updatePublicIdentityConfig requestBody: content: application/json: schema: - $ref: '#/components/schemas/RecommendationConfigDto' + $ref: '#/components/schemas/PublicIdentityConfig' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/RecommendationConfigDto' - description: Cert recommendation configuration attributes after update + $ref: '#/components/schemas/PublicIdentityConfig' + description: Request succeeded. "400": content: application/json: @@ -30176,6 +30496,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -30193,137 +30521,22 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: [] - summary: Update certification recommendation config values + summary: Update Public Identity Config tags: - - IAI Recommendations - /requestable-objects: + - Public Identities Config + /notification-template-context: get: description: |- - This endpoint returns a list of acccess items that that can be requested through the Access Request endpoints. Access items are marked with AVAILABLE, PENDING or ASSIGNED with respect to the identity provided using *identity-id* query param. - Any authenticated token can call this endpoint to see their requestable access items. A token with ORG_ADMIN authority is required to call this endpoint to return a list of all of the requestable access items for the org or for another identity. - operationId: listRequestableObjects - parameters: - - description: |- - If present, the value returns only requestable objects for the specified identity. - * Admin users can call this with any identity ID value. - * Non-admin users can only specify *me* or pass their own identity ID value. - * If absent, returns a list of all requestable objects for the tenant. Only admin users can make such a call. In this case, the available, pending, assigned accesses will not be annotated in the result. - example: e7eab60924f64aa284175b9fa3309599 - in: query - name: identity-id - required: false - schema: - type: string - - description: "Filters the results to the specified type/types, where each\ - \ type is one of ROLE or ACCESS_PROFILE. If absent, all types are returned.\ - \ Support for additional types may be added in the future without notice." - example: "ROLE,ACCESS_PROFILE" - explode: false - in: query - name: types - required: false - schema: - items: - $ref: '#/components/schemas/RequestableObjectType' - type: array - - description: "It allows searching requestable access items with a partial\ - \ match on the name or description. If term is provided, then the *filter*\ - \ query parameter will be ignored." - example: Finance Role - in: query - name: term - required: false - schema: - type: string - - description: "Filters the result to the specified status/statuses, where each\ - \ status is one of AVAILABLE, ASSIGNED, or PENDING. It is an error to specify\ - \ this parameter without also specifying an *identity-id* parameter. Additional\ - \ statuses may be added in the future without notice." - example: - - ASSIGNED - - PENDING - explode: false - in: query - name: statuses - required: false - schema: - items: - $ref: '#/components/schemas/RequestableObjectRequestStatus' - type: array - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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* - - **name**: *eq, in, sw* - example: name sw "bob" - in: query - name: filters - required: false - schema: - type: string - - 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: **name** - example: name - in: query - name: sorters - required: false - schema: - format: comma-separated - type: string + The notification service maintains metadata to construct the notification templates or supply any information during the event propagation. The data-store where this information is retrieved is called "Global Context" (a.k.a. notification template context). It defines a set of attributes + that will be available per tenant (organization). + operationId: getNotificationsTemplateContext responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/RequestableObject' - type: array - description: List of requestable objects + $ref: '#/components/schemas/NotificationTemplateContext' + description: Notification template context attributes for a specific tenant. "400": content: application/json: @@ -30380,23 +30593,25 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Requestable Objects List + security: + - UserContextAuth: + - idn:notification-templates:read + summary: Get Notification Template Context tags: - - Requestable Objects - /role-insights/requests: - post: - deprecated: true - description: Submits a create role insights request to the role insights application. - At this time there are no parameters. All business roles will be processed - for the customer. - operationId: createRoleInsightRequests + - Notifications + /notification-preferences/{key}: + get: + description: Returns a list of notification preferences for tenant. + operationId: listNotificationPreferences responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/RoleInsightsResponse' - description: Submitted a role insights generation request + items: + $ref: '#/components/schemas/PreferencesDto' + type: array + description: Return preference for the given notification key. "400": content: application/json: @@ -30428,6 +30643,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -30453,29 +30686,26 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Generate insights for roles + security: + - UserContextAuth: + - idn:notification-preferences:read + summary: List Notification Preferences for tenant. tags: - - Role Insights - /role-insights/requests/{id}: + - Notifications + /reassignment-configurations/types: get: - deprecated: true - description: 'This endpoint returns details of a prior role insights request. ' - operationId: getRoleInsightsRequests - parameters: - - description: The role insights request id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: id - required: true - schema: - type: string + description: Gets a collection of types which are available in the Reassignment + Configuration UI. + operationId: getReassignmentConfigTypes responses: "200": content: application/json: schema: - $ref: '#/components/schemas/RoleInsightsResponse' - description: Succeeded. Returns details of an earlier role insights request. + items: + $ref: '#/components/schemas/ConfigType' + type: array + description: List of Reassignment Configuration Types "400": content: application/json: @@ -30532,21 +30762,25 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Returns metadata from prior request. + security: + - UserContextAuth: + - idn:reassignment-configuration:read + summary: List Reassignment Config Types tags: - - Role Insights - /role-insights/summary: + - Work Reassignment + /reassignment-configurations: get: - description: This method returns high level summary information for role insights - for a customer. - operationId: getRoleInsightsSummary + description: Gets all Reassignment configuration for the current org. + operationId: listReassignmentConfigurations responses: "200": content: application/json: schema: - $ref: '#/components/schemas/RoleInsightsSummary' - description: Succeeded. Returns high level counts. + items: + $ref: '#/components/schemas/ConfigurationResponse' + type: array + description: A list of Reassignment Configurations for an org "400": content: application/json: @@ -30578,6 +30812,32 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -30595,92 +30855,28 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get role insights summary information + security: + - UserContextAuth: + - idn:reassignment-configuration:read + summary: List Reassignment Configurations tags: - - Role Insights - /role-insights: - get: - description: This method returns detailed role insights for each role. - operationId: getRoleInsights - parameters: - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: **numberOfUpdates, identitiesWithAccess, totalNumberOfIdentities** - example: numberOfUpdates - explode: true - in: query - name: sorters - required: false - schema: - type: string - style: form - - 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: - - **name**: *sw* - - **ownerName**: *sw* - - **description**: *sw* - example: name sw "John" - explode: true - in: query - name: filters - required: false - schema: - type: string - style: form + - Work Reassignment + post: + description: Creates a new Reassignment Configuration for the specified identity. + operationId: createReassignmentConfiguration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigurationItemRequest' + required: true responses: - "200": + "201": content: application/json: schema: - items: - $ref: '#/components/schemas/RoleInsight' - type: array - description: Succeeded. Returns a list of roles with information about insights - for each role. + $ref: '#/components/schemas/ConfigurationItemResponse' + description: The newly created Reassignment Configuration object "400": content: application/json: @@ -30712,6 +30908,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -30729,29 +30933,27 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get role insights + security: + - UserContextAuth: + - idn:reassignment-configuration:create + summary: Create a Reassignment Configuration tags: - - Role Insights - /role-insights/{insightId}: - get: - description: This endpoint gets role insights information for a role. - operationId: getRoleInsight + - Work Reassignment + /reassignment-configurations/{identityId}: + delete: + description: Deletes all Reassignment Configuration for the specified identity + operationId: deleteReassignmentConfiguration parameters: - - description: The role insight id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + - description: unique identity id + example: 2c91808781a71ddb0181b9090b5c504e in: path - name: insightId + name: identityId required: true schema: type: string responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/RoleInsight' - description: Succeeded. Returns information about insights for a single - role. + "204": + description: Reassignment Configuration deleted "400": content: application/json: @@ -30783,6 +30985,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -30800,58 +31010,30 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get a single role insight + security: + - UserContextAuth: + - idn:reassignment-configuration:delete + summary: Delete Reassignment Configuration tags: - - Role Insights - /role-insights/{insightId}/entitlement-changes: + - Work Reassignment get: - description: This endpoint returns entitlement insights for a role. - operationId: getRoleInsightsEntitlementsChanges + description: Gets the Reassignment Configuration for an identity. + operationId: getReassignmentConfiguration parameters: - - description: The role insight id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + - description: unique identity id + example: 2c91808781a71ddb0181b9090b5c504f in: path - name: insightId + name: identityId required: true schema: type: string - - 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: **identitiesWithAccess, name** - explode: true - in: query - name: sorters - required: false - schema: - type: string - style: form - - 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: - - **name**: *sw* - - **description**: *sw* - example: name sw "Admin" - explode: true - in: query - name: filters - required: false - schema: - type: string - style: form responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/RoleInsightsEntitlementChanges' - type: array - description: Succeeded. Returns a list of entitlements to be added for a - role. + $ref: '#/components/schemas/ConfigurationResponse' + description: Reassignment Configuration for an identity "400": content: application/json: @@ -30883,6 +31065,32 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -30900,59 +31108,37 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get entitlement insights for a role + security: + - UserContextAuth: + - idn:reassignment-configuration:read + summary: Get Reassignment Configuration tags: - - Role Insights - /role-insights/{insightId}/entitlement-changes/download: - get: - description: This endpoint returns the entitlement insights for a role. - operationId: downloadRoleInsightsEntitlementsChanges + - Work Reassignment + put: + description: Replaces existing Reassignment configuration for an identity with + the newly provided configuration. + operationId: putReassignmentConfig parameters: - - description: The role insight id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + - description: unique identity id + example: 2c91808781a71ddb0181b9090b5c504e in: path - name: insightId + name: identityId required: true schema: type: string - - 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: **identitiesWithAccess** - - The default sort is **identitiesWithAccess** in descending order. - example: identitiesWithAccess - explode: true - in: query - name: sorters - required: false - schema: - type: string - style: form - - 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: - - **name**: *sw* - - **description**: *sw* - example: name sw "r" - explode: true - in: query - name: filters - required: false - schema: - type: string - style: form + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigurationItemRequest' + required: true responses: "200": content: - text/csv: + application/json: schema: - type: string - description: Succeeded. Returns a csv file containing a list of entitlements - to be added for a role. + $ref: '#/components/schemas/ConfigurationItemResponse' + description: Reassignment Configuration updated "400": content: application/json: @@ -30984,6 +31170,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -31001,48 +31195,67 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Download entitlement insights for a role + security: + - UserContextAuth: + - idn:reassignment-configuration:update + summary: Update Reassignment Configuration tags: - - Role Insights - /role-insights/{insightId}/current-entitlements: + - Work Reassignment + /reassignment-configurations/{identityId}/evaluate/{configType}: get: - description: This endpoint gets the entitlements for a role. The term "current" - is to distinguish from the entitlement(s) an insight might recommend adding. - operationId: getRoleInsightsCurrentEntitlements + description: "Evaluates the Reassignment Configuration for an `Identity` to\ + \ determine if work items for the specified type should be reassigned. If\ + \ a valid Reassignment Configuration is found for the identity & work type,\ + \ then a lookup is initiated which recursively fetches the Reassignment Configuration\ + \ for the next `TargetIdentity` until no more results are found or a max depth\ + \ of 5. That lookup trail is provided in the response and the final reassigned\ + \ identity in the lookup list is returned as the `reassignToId` property.\ + \ If no Reassignment Configuration is found for the specified identity & config\ + \ type then the requested Identity ID will be used as the `reassignToId` value\ + \ and the lookupTrail node will be empty." + operationId: getEvaluateReassignmentConfiguration parameters: - - description: The role insight id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + - description: unique identity id + example: 2c91808781a71ddb0181b9090b5c504e in: path - name: insightId + name: identityId required: true schema: type: string - - 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: - - **name**: *sw* - - **description**: *sw* - example: name sw "r" - explode: true + - description: Reassignment work type + example: accessRequests + in: path + name: configType + required: true + schema: + $ref: '#/components/schemas/ConfigTypeEnum' + - description: "Exclusion filters that disable parts of the reassignment evaluation.\ + \ Possible values are listed below: - `SELF_REVIEW_DELEGATION`: This will\ + \ exclude delegations of self-review reassignments" + example: SELF_REVIEW_DELEGATION in: query - name: filters + name: exclusionFilters required: false schema: - type: string - style: form + items: + type: string + type: array responses: "200": content: application/json: + examples: + empty: + $ref: '#/components/examples/evaluateEmpty' + longTrail: + $ref: '#/components/examples/evaluateLong' + selfReview: + $ref: '#/components/examples/evaluateSelfReview' schema: items: - $ref: '#/components/schemas/RoleInsightsEntitlement' + $ref: '#/components/schemas/EvaluateResponse' type: array - description: Succeeded. Returns a list of current or pre-existing entitlements - for a role. + description: Evaluated Reassignment Configuration "400": content: application/json: @@ -31074,6 +31287,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -31091,114 +31312,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get current entitlement for a role + security: + - UserContextAuth: + - idn:reassignment-configuration:evaluate + summary: Evaluate Reassignment Configuration tags: - - Role Insights - /role-insights/{insightId}/entitlement-changes/{entitlementId}/identities: + - Work Reassignment + /reassignment-configurations/tenant-config: get: - description: "Role insights suggests entitlements to be added for a role. This\ - \ endpoint returns a list of identities in the role, with or without the entitlements,\ - \ for a suggested entitlement so that the user can see which identities would\ - \ be affected if the suggested entitlement were to be added to the role." - operationId: getEntitlementChangesIdentities - parameters: - - description: The role insight id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: insightId - required: true - schema: - type: string - - description: The entitlement id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: entitlementId - required: true - schema: - type: string - - description: Identity has this entitlement or not - explode: true - in: query - name: hasEntitlement - required: false - schema: - default: false - type: boolean - style: form - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: **name** - example: name - explode: true - in: query - name: sorters - required: false - schema: - type: string - style: form - - 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: - - **name**: *sw* - example: name sw "Jan" - explode: true - in: query - name: filters - required: false - schema: - type: string - style: form + description: Gets the global Reassignment Configuration settings for the requestor's + tenant. + operationId: getTenantConfigConfiguration responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/RoleInsightsIdentities' - type: array - description: Succeeded. Returns a list of identities with or without the - entitlement. + $ref: '#/components/schemas/TenantConfigurationResponse' + description: Tenant-wide Reassignment Configuration settings "400": content: application/json: @@ -31230,6 +31361,32 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -31247,85 +31404,29 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get identities for a suggested entitlement (for a role) + security: + - UserContextAuth: + - idn:reassignment-tenant-configuration:read + summary: Get Tenant-wide Reassignment Configuration settings tags: - - Role Insights - /role-mining-sessions: - get: - description: Returns all role mining sessions that match the query parameters - operationId: getRoleMiningSessions - parameters: - - 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: - - **saved**: *eq* - - **name**: *eq, sw* - example: saved eq "true" and name sw "RM Session" - in: query - name: filters - schema: - type: string - - 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: **createdBy, createdDate** - example: "createdBy,createdDate" - in: query - name: sorters - schema: - format: comma-separated - type: string - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean + - Work Reassignment + put: + description: Replaces existing Tenant-wide Reassignment Configuration settings + with the newly provided settings. + operationId: putTenantConfiguration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TenantConfigurationRequest' + required: true responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/RoleMiningSessionResponse' - type: array - description: Succeeded. Returns all role mining sessions that match the - query parameters. + $ref: '#/components/schemas/TenantConfigurationResponse' + description: Tenant-wide Reassignment Configuration settings "400": content: application/json: @@ -31382,27 +31483,31 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Retrieves all role mining sessions + security: + - UserContextAuth: + - idn:reassignment-tenant-configuration:update + summary: Update Tenant-wide Reassignment Configuration settings tags: - - IAI Role Mining + - Work Reassignment + /recommendations/request: post: - description: This submits a create role mining session request to the role mining - application. - operationId: createRoleMiningSessions + description: The getRecommendations API returns recommendations based on the + requested object. The recommendations are invoked by IdentityIQ and IdentityNow + plug-ins that retrieve recommendations based on the performed calculations. + operationId: getRecommendations requestBody: content: application/json: schema: - $ref: '#/components/schemas/RoleMiningSessionDto' - description: Role mining session parameters + $ref: '#/components/schemas/RecommendationRequestDto' required: true responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/RoleMiningSessionResponse' - description: Submitted a role mining session request + $ref: '#/components/schemas/RecommendationResponseDto' + description: The recommendations for a customer "400": content: application/json: @@ -31459,28 +31564,22 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Create a role mining session + security: + - UserContextAuth: [] + summary: Returns a Recommendation Based on Object tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}: + - IAI Recommendations + /recommendations/config: get: - description: The method retrieves a role mining session. - operationId: getRoleMiningSession - parameters: - - description: The role mining session id to be retrieved. - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true - schema: - type: string + description: Retrieves configuration attributes used by certification recommendations. + operationId: getRecommendationsConfig responses: "200": content: application/json: schema: - $ref: '#/components/schemas/RoleMiningSessionResponse' - description: Returns a role mining session + $ref: '#/components/schemas/RecommendationConfigDto' + description: Cert recommendation configuration attributes "400": content: application/json: @@ -31491,8 +31590,9 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -31511,32 +31611,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -31554,57 +31628,27 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get a role mining session + security: + - UserContextAuth: [] + summary: Get certification recommendation config values tags: - - IAI Role Mining - patch: - description: "The method updates an existing role mining session using PATCH.\ - \ Supports op in {\"replace\"} and changes to pruneThreshold and/or minNumIdentitiesInPotentialRole.\ - \ The potential roles in this role mining session is then re-calculated." - operationId: patchRoleMiningSession - parameters: - - description: The role mining session id to be patched - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true - schema: - type: string + - IAI Recommendations + put: + description: Updates configuration attributes used by certification recommendations. + operationId: updateRecommendationsConfig requestBody: content: - application/json-patch+json: - example: - - op: replace - path: /pruneThreshold - value: "83" - - op: replace - path: /minNumIdentitiesInPotentialRole - value: "10" - - op: replace - path: /saved - value: "false" - - op: replace - path: /name - value: RM Session - 07/10/22 - - op: add - path: /name - value: RM Session - 07/10/22 + application/json: schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: Replace pruneThreshold and/or minNumIdentitiesInPotentialRole - in role mining session. Update saved status or saved name for a role mining - session. + $ref: '#/components/schemas/RecommendationConfigDto' required: true responses: - "202": + "200": content: application/json: schema: - type: object - description: Accepted - Returned if the request was successfully accepted - into the system. + $ref: '#/components/schemas/RecommendationConfigDto' + description: Cert recommendation configuration attributes after update "400": content: application/json: @@ -31636,32 +31680,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -31679,161 +31697,88 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Patch a role mining session + security: + - UserContextAuth: [] + summary: Update certification recommendation config values tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/status: + - IAI Recommendations + /requestable-objects: get: - description: This method returns a role mining session status for a customer. - operationId: getRoleMiningSessionStatus + description: |- + This endpoint returns a list of acccess items that that can be requested through the Access Request endpoints. Access items are marked with AVAILABLE, PENDING or ASSIGNED with respect to the identity provided using *identity-id* query param. + Any authenticated token can call this endpoint to see their requestable access items. A token with ORG_ADMIN authority is required to call this endpoint to return a list of all of the requestable access items for the org or for another identity. + operationId: listRequestableObjects parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true + - description: |- + If present, the value returns only requestable objects for the specified identity. + * Admin users can call this with any identity ID value. + * Non-admin users can only specify *me* or pass their own identity ID value. + * If absent, returns a list of all requestable objects for the tenant. Only admin users can make such a call. In this case, the available, pending, assigned accesses will not be annotated in the result. + example: e7eab60924f64aa284175b9fa3309599 + in: query + name: identity-id + required: false schema: type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/RoleMiningSessionStatus' - description: Succeeded. Returns session status - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "500": - content: - application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - summary: Get role mining session status state - tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-role-summaries: - get: - description: This method returns the potential role summaries for a role mining - session. - operationId: getPotentialRoleSummaries - parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true + - description: "Filters the results to the specified type/types, where each\ + \ type is one of ROLE or ACCESS_PROFILE. If absent, all types are returned.\ + \ Support for additional types may be added in the future without notice." + example: "ROLE,ACCESS_PROFILE" + explode: false + in: query + name: types + required: false schema: - type: string - - 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: **createdDate** - example: createdDate - explode: true + items: + $ref: '#/components/schemas/RequestableObjectType' + type: array + - description: "It allows searching requestable access items with a partial\ + \ match on the name or description. If term is provided, then the *filter*\ + \ query parameter will be ignored." + example: Finance Role in: query - name: sorters + name: term required: false schema: - format: comma-separated type: string - style: form - - 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: - - **createdById**: *eq, sw, co* - - **createdByName**: *eq, sw, co* - - **description**: *sw, co* - - **endDate**: *le, lt* - - **freshness**: *eq, ge, gt, le, lt* - - **name**: *eq, sw, co* - - **quality**: *eq, ge, gt, le, lt* - - **startDate**: *ge, gt* - - **saved**: *eq* - - **type**: *eq* - example: (createdByName co "int")and (createdById sw "2c9180907")and (type - eq "COMMON")and ((name co "entt")or (saved eq true)) - explode: true + - description: "Filters the result to the specified status/statuses, where each\ + \ status is one of AVAILABLE, ASSIGNED, or PENDING. It is an error to specify\ + \ this parameter without also specifying an *identity-id* parameter. Additional\ + \ statuses may be added in the future without notice." + example: + - ASSIGNED + - PENDING + explode: false in: query - name: filters + name: statuses required: false schema: - type: string - style: form + items: + $ref: '#/components/schemas/RequestableObjectRequestStatus' + type: array - description: |- - Offset into the full result set. Usually specified with *limit* to paginate through the results. + Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: 0 + example: 250 in: query - name: offset + name: limit required: false schema: - default: 0 + default: 250 format: int32 + maximum: 250 minimum: 0 type: integer - description: |- - Max number of results to return. + Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: 250 + example: 0 in: query - name: limit + name: offset required: false schema: - default: 250 + default: 0 format: int32 - maximum: 250 minimum: 0 type: integer - description: |- @@ -31849,16 +31794,40 @@ paths: schema: default: false type: boolean + - 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* + + **name**: *eq, in, sw* + example: name sw "bob" + in: query + name: filters + required: false + schema: + type: string + - 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: **name** + example: name + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/RoleMiningPotentialRoleSummary' + $ref: '#/components/schemas/RequestableObject' type: array - description: Succeeded. Returns a list of potential role summaries for a - role mining session. + description: List of requestable objects "400": content: application/json: @@ -31915,37 +31884,23 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Retrieve session's potential role summaries + summary: Requestable Objects List tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-role-summaries/{potentialRoleId}: - get: - description: This method returns a specific potential role for a role mining - session. - operationId: getPotentialRole - parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true - schema: - type: string - - description: A potential role id in a role mining session - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: potentialRoleId - required: true - schema: - type: string + - Requestable Objects + /role-insights/requests: + post: + deprecated: true + description: Submits a create role insights request to the role insights application. + At this time there are no parameters. All business roles will be processed + for the customer. + operationId: createRoleInsightRequests responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/RoleMiningPotentialRole' - description: Succeeded. Returns a list of potential roles for a role mining - session. + $ref: '#/components/schemas/RoleInsightsResponse' + description: Submitted a role insights generation request "400": content: application/json: @@ -32002,73 +31957,29 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Retrieve potential role in session + summary: Generate insights for roles tags: - - IAI Role Mining - patch: - description: | - This method updates an existing potential role using the role mining session id and the potential role summary id. - - The following fields can be modified: - - * `description` - - * `name` - - * `saved` - - - >**NOTE: All other fields cannot be modified.** - operationId: patchPotentialRole + - Role Insights + /role-insights/requests/{id}: + get: + deprecated: true + description: 'This endpoint returns details of a prior role insights request. ' + operationId: getRoleInsightsRequests parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true - schema: - type: string - - description: The potential role summary id + - description: The role insights request id example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: potentialRoleId + name: id required: true schema: type: string - requestBody: - content: - application/json-patch+json: - example: - - op: remove - path: /description - - op: replace - path: /description - value: Acct I - Potential Role - - op: remove - path: /saved - - op: replace - path: /saved - value: "false" - - op: remove - path: /name - - op: replace - path: /name - value: Potential Role Accounting - schema: - items: - $ref: '#/components/schemas/patchPotentialRole_request_inner' - type: array - required: true responses: "200": content: application/json: schema: - items: - $ref: ../schemas/RoleMiningPotentialRole.yaml - type: object - description: Succeeded. Returns the potential role summary based on the - potentialRoleId provided. + $ref: '#/components/schemas/RoleInsightsResponse' + description: Succeeded. Returns details of an earlier role insights request. "400": content: application/json: @@ -32100,24 +32011,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -32143,77 +32036,21 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Update a potential role in session + summary: Returns metadata from prior request. tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-role-summaries/{potentialRoleId}/applications: + - Role Insights + /role-insights/summary: get: - description: This method returns the applications of a potential role for a - role mining session. - operationId: getPotentialRoleApplications - parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true - schema: - type: string - - description: A potential role id in a role mining session - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: potentialRoleId - required: true - schema: - type: string - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean + description: This method returns high level summary information for role insights + for a customer. + operationId: getRoleInsightsSummary responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/RoleMiningPotentialRoleApplication' - type: array - description: Succeeded. Returns a list of potential roles for a role mining - session. + $ref: '#/components/schemas/RoleInsightsSummary' + description: Succeeded. Returns high level counts. "400": content: application/json: @@ -32262,69 +32099,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Retrieves the applications of a potential role for a role mining session + summary: Get role insights summary information tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/entitlement-popularities: + - Role Insights + /role-insights: get: - description: This method returns entitlements for a potential role in a role - mining session. - operationId: getEntitlementsPotentialRole + description: This method returns detailed role insights for each role. + operationId: getRoleInsights parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true - schema: - type: string - - description: A potential role id in a role mining session - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: potentialRoleId - required: true - schema: - type: string - - description: Boolean determining whether common access entitlements will be - included or not - example: true - explode: true - in: query - name: includeCommonAccess - required: false - schema: - default: true - type: boolean - style: form - - 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)\n\ - \nSorting is supported for the following fields: **popularity, entitlementName,\ - \ applicationName**\n\nThe default sort is **popularity** in descending\ - \ order. " - example: popularity - explode: true - in: query - name: sorters - required: false - schema: - type: string - style: form - - 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: - - **applicationName**: *sw* - - **entitlementRef.name**: *sw* - example: applicationName sw "AD" - explode: true - in: query - name: filters - required: false - schema: - type: string - style: form - 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. @@ -32363,15 +32145,46 @@ paths: schema: default: false type: boolean + - 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: **numberOfUpdates, identitiesWithAccess, totalNumberOfIdentities** + example: numberOfUpdates + explode: true + in: query + name: sorters + required: false + schema: + type: string + style: form + - 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: + + **name**: *sw* + + **ownerName**: *sw* + + **description**: *sw* + example: name sw "John" + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/RoleMiningEntitlement' + $ref: '#/components/schemas/RoleInsight' type: array - description: Succeeded. Returns a list of entitlements for a potential role. + description: Succeeded. Returns a list of roles with information about insights + for each role. "400": content: application/json: @@ -32403,14 +32216,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -32428,50 +32233,29 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: [] - summary: Retrieves entitlements for a potential role in a role mining session + summary: Get role insights tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/entitlement-popularity-distribution: + - Role Insights + /role-insights/{insightId}: get: - description: This method returns entitlement popularity distribution for a potential - role in a role mining session. - operationId: getEntitlementDistributionPotentialRole + description: This endpoint gets role insights information for a role. + operationId: getRoleInsight parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true - schema: - type: string - - description: A potential role id in a role mining session + - description: The role insight id example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: potentialRoleId + name: insightId required: true schema: type: string - - description: Boolean determining whether common access entitlements will be - included or not - explode: true - in: query - name: includeCommonAccess - required: false - schema: - type: boolean - style: form responses: "200": content: application/json: schema: - additionalProperties: - type: integer - type: object - description: Succeeded. Returns a map containing entitlement popularity - distribution for a potential role. + $ref: '#/components/schemas/RoleInsight' + description: Succeeded. Returns information about insights for a single + role. "400": content: application/json: @@ -32520,45 +32304,58 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Retrieves entitlement popularity distribution for a potential role - in a role mining session + summary: Get a single role insight tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/edit-entitlements: - post: - description: This endpoint adds or removes entitlements from an exclusion list - for a potential role. - operationId: updateEntitlementsPotentialRole + - Role Insights + /role-insights/{insightId}/entitlement-changes: + get: + description: This endpoint returns entitlement insights for a role. + operationId: getRoleInsightsEntitlementsChanges parameters: - - description: The role mining session id + - description: The role insight id example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: sessionId + name: insightId required: true schema: type: string - - description: A potential role id in a role mining session - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: potentialRoleId - required: true + - 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: **identitiesWithAccess, name** + explode: true + in: query + name: sorters + required: false schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RoleMiningPotentialRoleEditEntitlements' - description: Role mining session parameters - required: true + style: form + - 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: + + **name**: *sw* + + **description**: *sw* + example: name sw "Admin" + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/RoleMiningPotentialRole' - description: Adds or removes entitlements from a potential role's entitlement - exclusion list. + items: + $ref: '#/components/schemas/RoleInsightsEntitlementChanges' + type: array + description: Succeeded. Returns a list of entitlements to be added for a + role. "400": content: application/json: @@ -32607,34 +32404,28 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Edit entitlements for a potential role to exclude some entitlements + summary: Get entitlement insights for a role tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/identities: + - Role Insights + /role-insights/{insightId}/entitlement-changes/download: get: - description: This method returns identities for a potential role in a role mining - session. - operationId: getIdentitiesPotentialRole + description: This endpoint returns the entitlement insights for a role. + operationId: downloadRoleInsightsEntitlementsChanges parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true - schema: - type: string - - description: A potential role id in a role mining session + - description: The role insight id example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: potentialRoleId + name: insightId required: true schema: type: string - 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: **name** - example: name + Sorting is supported for the following fields: **identitiesWithAccess** + + The default sort is **identitiesWithAccess** in descending order. + example: identitiesWithAccess explode: true in: query name: sorters @@ -32648,6 +32439,9 @@ paths: Filtering is supported for the following fields and operators: **name**: *sw* + + **description**: *sw* + example: name sw "r" explode: true in: query name: filters @@ -32655,53 +32449,14 @@ paths: schema: type: string style: form - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean responses: "200": content: - application/json: + text/csv: schema: - items: - $ref: '#/components/schemas/RoleMiningIdentity' - type: array - description: Succeeded. Returns a list of identities for a potential role. + type: string + description: Succeeded. Returns a csv file containing a list of entitlements + to be added for a role. "400": content: application/json: @@ -32750,39 +32505,48 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Retrieves identities for a potential role in a role mining session + summary: Download entitlement insights for a role tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export: + - Role Insights + /role-insights/{insightId}/current-entitlements: get: - description: This endpoint downloads all the information for a potential role - in a role mining session. Includes identities and entitlements in the potential - role. - operationId: exportRoleMiningPotentialRole + description: This endpoint gets the entitlements for a role. The term "current" + is to distinguish from the entitlement(s) an insight might recommend adding. + operationId: getRoleInsightsCurrentEntitlements parameters: - - description: The role mining session id + - description: The role insight id example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: sessionId + name: insightId required: true schema: type: string - - description: A potential role id in a role mining session - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: potentialRoleId - required: true + - 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: + + **name**: *sw* + + **description**: *sw* + example: name sw "r" + explode: true + in: query + name: filters + required: false schema: type: string + style: form responses: "200": content: - application/zip: + application/json: schema: - format: binary - type: string - description: Succeeded. Returns a zip file containing csv files for identities - and entitlements for the potential role. + items: + $ref: '#/components/schemas/RoleInsightsEntitlement' + type: array + description: Succeeded. Returns a list of current or pre-existing entitlements + for a role. "400": content: application/json: @@ -32831,43 +32595,114 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Export (download) details for a potential role in a role mining session + summary: Get current entitlement for a role tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export-async: - post: - description: This endpoint uploads all the information for a potential role - in a role mining session to S3 as a downloadable zip archive. Includes identities - and entitlements in the potential role. - operationId: exportRoleMiningPotentialRoleAsync + - Role Insights + /role-insights/{insightId}/entitlement-changes/{entitlementId}/identities: + get: + description: "Role insights suggests entitlements to be added for a role. This\ + \ endpoint returns a list of identities in the role, with or without the entitlements,\ + \ for a suggested entitlement so that the user can see which identities would\ + \ be affected if the suggested entitlement were to be added to the role." + operationId: getEntitlementChangesIdentities parameters: - - description: The role mining session id + - description: The role insight id example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: sessionId + name: insightId required: true schema: type: string - - description: A potential role id in a role mining session - example: 278359a6-04b7-4669-9468-924cf580964a + - description: The entitlement id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: potentialRoleId + name: entitlementId required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RoleMiningPotentialRoleExportRequest' + - description: Identity has this entitlement or not + explode: true + in: query + name: hasEntitlement + required: false + schema: + default: false + type: boolean + style: form + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: **name** + example: name + explode: true + in: query + name: sorters + required: false + schema: + type: string + style: form + - 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: + + **name**: *sw* + example: name sw "Jan" + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form responses: - "202": + "200": content: application/json: schema: - $ref: '#/components/schemas/RoleMiningPotentialRoleExportResponse' - description: Job Submitted. Returns a reportId that can be used to download - the zip once complete + items: + $ref: '#/components/schemas/RoleInsightsIdentities' + type: array + description: Succeeded. Returns a list of identities with or without the + entitlement. "400": content: application/json: @@ -32916,47 +32751,85 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Asynchronously export details for a potential role in a role mining - session and upload to S3 + summary: Get identities for a suggested entitlement (for a role) tags: - - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export-async/{exportId}: + - Role Insights + /role-mining-sessions: get: - description: This endpoint retrieves information about the current status of - a potential role export. - operationId: exportRoleMiningPotentialRoleStatus + description: Returns all role mining sessions that match the query parameters + operationId: getRoleMiningSessions parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true + - 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: + + **saved**: *eq* + + **name**: *eq, sw* + example: saved eq "true" and name sw "RM Session" + in: query + name: filters schema: - format: uuid type: string - - description: A potential role id in a role mining session - example: 278359a6-04b7-4669-9468-924cf580964a - in: path - name: potentialRoleId - required: true + - 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: **createdBy, createdDate** + example: "createdBy,createdDate" + in: query + name: sorters schema: - format: uuid + format: comma-separated type: string - - description: The id of a previously run export job for this potential role - example: 4940ffd4-836f-48a3-b2b0-6d498c3fdf40 - in: path - name: exportId - required: true + - 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. + example: 0 + in: query + name: offset + required: false schema: - format: uuid - type: string + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: "200": content: application/json: schema: - $ref: '#/components/schemas/RoleMiningPotentialRoleExportResponse' - description: Success. Returns the current status of this export + items: + $ref: '#/components/schemas/RoleMiningSessionResponse' + type: array + description: Succeeded. Returns all role mining sessions that match the + query parameters. "400": content: application/json: @@ -32988,6 +32861,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -33005,48 +32886,27 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Retrieve status of a potential role export job + summary: Retrieves all role mining sessions tags: - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export-async/{exportId}/download: - get: - description: This endpoint downloads a completed export of information for a - potential role in a role mining session. - operationId: downloadRoleMiningPotentialRoleZip - parameters: - - description: The role mining session id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: sessionId - required: true - schema: - format: uuid - type: string - - description: A potential role id in a role mining session - example: 278359a6-04b7-4669-9468-924cf580964a - in: path - name: potentialRoleId - required: true - schema: - format: uuid - type: string - - description: The id of a previously run export job for this potential role - example: 4940ffd4-836f-48a3-b2b0-6d498c3fdf40 - in: path - name: exportId + post: + description: This submits a create role mining session request to the role mining + application. + operationId: createRoleMiningSessions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleMiningSessionDto' + description: Role mining session parameters required: true - schema: - format: uuid - type: string responses: - "200": + "201": content: - application/zip: + application/json: schema: - format: binary - type: string - description: Succeeded. Returns a zip file containing csv files for identities - and entitlements for the potential role. + $ref: '#/components/schemas/RoleMiningSessionResponse' + description: Submitted a role mining session request "400": content: application/json: @@ -33078,6 +32938,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -33095,64 +32963,152 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Export (download) details for a potential role in a role mining session + summary: Create a role mining session tags: - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/provision: - post: - description: This method starts a job to provision a potential role - operationId: createPotentialRoleProvisionRequest + /role-mining-sessions/{sessionId}: + get: + description: The method retrieves a role mining session. + operationId: getRoleMiningSession parameters: - - description: The role mining session id + - description: The role mining session id to be retrieved. + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: sessionId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/RoleMiningSessionResponse' + description: Returns a role mining session + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + summary: Get a role mining session + tags: + - IAI Role Mining + patch: + description: "The method updates an existing role mining session using PATCH.\ + \ Supports op in {\"replace\"} and changes to pruneThreshold and/or minNumIdentitiesInPotentialRole.\ + \ The potential roles in this role mining session is then re-calculated." + operationId: patchRoleMiningSession + parameters: + - description: The role mining session id to be patched example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path name: sessionId required: true schema: type: string - - description: A potential role id in a role mining session - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: potentialRoleId - required: true - schema: - type: string - - description: Minimum popularity required for an entitlement to be included - in the provisioned role. - explode: true - in: query - name: min-entitlement-popularity - required: false - schema: - default: 0 - maximum: 100 - minimum: 0 - type: integer - style: form - - description: Boolean determining whether common access entitlements will be - included in the provisioned role. - explode: true - in: query - name: include-common-access - required: false - schema: - default: true - type: boolean - style: form requestBody: content: - application/json: + application/json-patch+json: + example: + - op: replace + path: /pruneThreshold + value: "83" + - op: replace + path: /minNumIdentitiesInPotentialRole + value: "10" + - op: replace + path: /saved + value: "false" + - op: replace + path: /name + value: RM Session - 07/10/22 + - op: add + path: /name + value: RM Session - 07/10/22 schema: - $ref: '#/components/schemas/RoleMiningPotentialRoleProvisionRequest' - description: Required information to create a new role + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: Replace pruneThreshold and/or minNumIdentitiesInPotentialRole + in role mining session. Update saved status or saved name for a role mining + session. + required: true responses: "202": content: application/json: schema: - $ref: '#/components/schemas/RoleMiningPotentialRoleSummary' - description: Accepted. Returns a potential role summary including the status - of the provison request + type: object + description: Accepted - Returned if the request was successfully accepted + into the system. "400": content: application/json: @@ -33202,6 +33158,14 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: @@ -33219,14 +33183,13 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Create request to provision a potential role into an actual role. + summary: Patch a role mining session tags: - IAI Role Mining - /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/excluded-entitlements: + /role-mining-sessions/{sessionId}/status: get: - description: This method returns excluded entitlements for a potential role - in a role mining session. - operationId: getExcludedEntitlementsPotentialRole + description: This method returns a role mining session status for a customer. + operationId: getRoleMiningSessionStatus parameters: - description: The role mining session id example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb @@ -33235,89 +33198,13 @@ paths: required: true schema: type: string - - description: A potential role id in a role mining session - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb - in: path - name: potentialRoleId - required: true - schema: - type: string - - 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: **popularity** - example: populariity - explode: true - in: query - name: sorters - required: false - schema: - type: string - style: form - - 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: - - **applicationName**: *sw* - - **entitlementRef.name**: *sw* - example: applicationName sw "AD" - explode: true - in: query - name: filters - required: false - schema: - type: string - style: form - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/RoleMiningEntitlement' - type: array - description: Succeeded. Returns a list of excluded entitlements for a potential - roles. + $ref: '#/components/schemas/RoleMiningSessionStatus' + description: Succeeded. Returns session status "400": content: application/json: @@ -33366,19 +33253,26 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Retrieves excluded entitlements for a potential role in a role mining - session + summary: Get role mining session status state tags: - IAI Role Mining - /role-mining-potential-roles: + /role-mining-sessions/{sessionId}/potential-role-summaries: get: - description: Returns all potential role summaries that match the query parameters - operationId: getAllPotentialRoleSummaries + description: This method returns the potential role summaries for a role mining + session. + operationId: getPotentialRoleSummaries parameters: + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: sessionId + required: true + schema: + type: string - 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: **createdDate, identityCount, entitlementCount, freshness, quality** + Sorting is supported for the following fields: **createdDate** example: createdDate explode: true in: query @@ -33403,7 +33297,7 @@ paths: **freshness**: *eq, ge, gt, le, lt* - **name**: *eq, sw, co, ge, gt, le, lt* + **name**: *eq, sw, co* **quality**: *eq, ge, gt, le, lt* @@ -33411,15 +33305,9 @@ paths: **saved**: *eq* - **type**: *eq, ge, gt, le, lt* - - **scopingMethod**: *eq* - - **sessionState**: *eq* - - **identityAttribute**: *co* - example: (createdByName co "int") and (createdById sw "2c9180907") and (type - eq "COMMON") and ((name co "entt") or (saved eq true)) + **type**: *eq* + example: (createdByName co "int")and (createdById sw "2c9180907")and (type + eq "COMMON")and ((name co "entt")or (saved eq true)) explode: true in: query name: filters @@ -33473,8 +33361,8 @@ paths: items: $ref: '#/components/schemas/RoleMiningPotentialRoleSummary' type: array - description: Succeeded. Returns all potential role summaries that match - the query parameters. + description: Succeeded. Returns a list of potential role summaries for a + role mining session. "400": content: application/json: @@ -33531,17 +33419,23 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: [] - summary: Retrieves all potential role summaries + summary: Retrieve session's potential role summaries tags: - IAI Role Mining - /role-mining-potential-roles/{potentialRoleId}: + /role-mining-sessions/{sessionId}/potential-role-summaries/{potentialRoleId}: get: - description: This method returns a specific potential role. - operationId: getRoleMiningPotentialRole + description: This method returns a specific potential role for a role mining + session. + operationId: getPotentialRole parameters: - - description: A potential role id + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: sessionId + required: true + schema: + type: string + - description: A potential role id in a role mining session example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path name: potentialRoleId @@ -33612,14 +33506,12 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: [] - summary: Retrieves a specific potential role + summary: Retrieve potential role in session tags: - IAI Role Mining patch: description: | - This method updates an existing potential role. + This method updates an existing potential role using the role mining session id and the potential role summary id. The following fields can be modified: @@ -33631,8 +33523,15 @@ paths: >**NOTE: All other fields cannot be modified.** - operationId: patchRoleMiningPotentialRole + operationId: patchPotentialRole parameters: + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: sessionId + required: true + schema: + type: string - description: The potential role summary id example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path @@ -33748,28 +33647,29 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: [] - summary: Update a potential role + summary: Update a potential role in session tags: - IAI Role Mining - /role-mining-potential-roles/saved: + /role-mining-sessions/{sessionId}/potential-role-summaries/{potentialRoleId}/applications: get: - description: This method returns all saved potential roles (draft roles). - operationId: getSavedPotentialRoles + description: This method returns the applications of a potential role for a + role mining session. + operationId: getPotentialRoleApplications parameters: - - description: "Sort results using the standard syntax described in [V3 API\ - \ Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters/)\ - \ Sorting is supported for the following fields: **modified**" - example: modified - explode: true - in: query - name: sorters - required: false + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: sessionId + required: true + schema: + type: string + - description: A potential role id in a role mining session + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: potentialRoleId + required: true schema: - format: comma-separated type: string - style: form - 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. @@ -33814,9 +33714,9 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/RoleMiningSessionDraftRoleDto' + $ref: '#/components/schemas/RoleMiningPotentialRoleApplication' type: array - description: Succeeded. Returns a list of draft roles for a role mining + description: Succeeded. Returns a list of potential roles for a role mining session. "400": content: @@ -33849,14 +33749,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -33874,41 +33766,67 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: [] - summary: Retrieves all saved potential roles + summary: Retrieves the applications of a potential role for a role mining session tags: - IAI Role Mining - /role-mining-potential-roles/{potentialRoleId}/sources/{sourceId}/identityUsage: + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/entitlement-popularities: get: - description: This method returns source usageCount (as number of days in the - last 90 days) for each identity in a potential role. - operationId: getPotentialRoleSourceIdentityUsage + description: This method returns entitlements for a potential role in a role + mining session. + operationId: getEntitlementsPotentialRole parameters: - - description: A potential role id - example: e0cc5d7d-bf7f-4f81-b2af-8885b09d9923 + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: potentialRoleId + name: sessionId required: true schema: type: string - - description: A source id - example: 2c9180877620c1460176267f336a106f + - description: A potential role id in a role mining session + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: sourceId + name: potentialRoleId required: true schema: type: string + - description: Boolean determining whether common access entitlements will be + included or not + example: true + explode: true + in: query + name: includeCommonAccess + required: false + schema: + default: true + type: boolean + style: form - description: "Sort results using the standard syntax described in [V3 API\ - \ Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters/)\ - \ Sorting is supported for the following fields: **displayName, email, usageCount**" - example: -usageCount + \ Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results)\n\ + \nSorting is supported for the following fields: **popularity, entitlementName,\ + \ applicationName**\n\nThe default sort is **popularity** in descending\ + \ order. " + example: popularity explode: true in: query name: sorters required: false schema: - format: comma-separated + type: string + style: form + - 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: + + **applicationName**: *sw* + + **entitlementRef.name**: *sw* + example: applicationName sw "AD" + explode: true + in: query + name: filters + required: false + schema: type: string style: form - description: |- @@ -33955,10 +33873,9 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/RoleMiningPotentialRoleSourceUsage' + $ref: '#/components/schemas/RoleMiningEntitlement' type: array - description: Succeeded. Returns a list of source usage for the identities - in a potential role. + description: Succeeded. Returns a list of entitlements for a potential role. "400": content: application/json: @@ -34017,130 +33934,48 @@ paths: error. security: - UserContextAuth: [] - summary: Retrieves potential role source usage + summary: Retrieves entitlements for a potential role in a role mining session tags: - IAI Role Mining - /roles: + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/entitlement-popularity-distribution: get: - description: |- - This API returns a list of Roles. - - A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. - operationId: listRoles + description: This method returns entitlement popularity distribution for a potential + role in a role mining session. + operationId: getEntitlementDistributionPotentialRole parameters: - - description: "If provided, filters the returned list according to what is\ - \ visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter\ - \ is either an Identity ID, or the special value **me**, which is shorthand\ - \ for the calling Identity's ID. A 400 Bad Request error is returned if\ - \ the **for-subadmin** parameter is specified for an Identity that is not\ - \ a subadmin." - example: 5168015d32f890ca15812c9180835d2e - in: query - name: for-subadmin - required: false - schema: - type: string - - description: |- - Note that for this API the maximum value for limit is 50. - See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: 50 - in: query - name: limit - required: false - schema: - default: 50 - format: int32 - maximum: 50 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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* - - **name**: *eq, sw* - - **created**: *gt, lt, ge, le* - - **modified**: *gt, lt, ge, le* - - **owner.id**: *eq, in* - - **requestable**: *eq* - example: requestable eq false - in: query - name: filters - required: false - schema: - type: string - - 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: **name, created, modified** - example: "name,-modified" - in: query - name: sorters - required: false + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: sessionId + required: true schema: - format: comma-separated type: string - - description: |- - If present and not empty, additionally filters Roles to those which are assigned to the Segment(s) with the specified IDs. - - If segmentation is currently unavailable, specifying this parameter results in an error. - example: "0b5c9f25-83c6-4762-9073-e38f7bb2ae26,2e8d8180-24bc-4d21-91c6-7affdb473b0d" - in: query - name: for-segment-ids - required: false + - description: A potential role id in a role mining session + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: potentialRoleId + required: true schema: - format: comma-separated type: string - - description: "Whether or not the response list should contain unsegmented\ - \ Roles. If *for-segment-ids* is absent or empty, specifying *include-unsegmented*\ - \ as false results in an error." - example: false + - description: Boolean determining whether common access entitlements will be + included or not + explode: true in: query - name: include-unsegmented + name: includeCommonAccess required: false schema: - default: true type: boolean + style: form responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/Role' - type: array - description: List of Roles + additionalProperties: + type: integer + type: object + description: Succeeded. Returns a map containing entitlement popularity + distribution for a potential role. "400": content: application/json: @@ -34172,14 +34007,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -34197,38 +34024,45 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:role-unchecked:read - - idn:role-unchecked:manage - - idn:role-checked:manage - - idn:role-checked:read - summary: List Roles + summary: Retrieves entitlement popularity distribution for a potential role + in a role mining session tags: - - Roles + - IAI Role Mining + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/edit-entitlements: post: - description: "This API creates a role.\n\nYou must have a token with API, ORG_ADMIN,\ - \ ROLE_ADMIN, or ROLE_SUBADMIN authority to call this API. \n\nIn addition,\ - \ a ROLE_SUBADMIN may not create a role including an access profile if that\ - \ access profile is associated with a source the ROLE_SUBADMIN is not associated\ - \ with themselves. \n\nThe maximum supported length for the description field\ - \ is 2000 characters. Longer descriptions will be preserved for existing roles.\ - \ However, any new roles as well as any updates to existing descriptions will\ - \ be limited to 2000 characters." - operationId: createRole + description: This endpoint adds or removes entitlements from an exclusion list + for a potential role. + operationId: updateEntitlementsPotentialRole + parameters: + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: sessionId + required: true + schema: + type: string + - description: A potential role id in a role mining session + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: potentialRoleId + required: true + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/Role' + $ref: '#/components/schemas/RoleMiningPotentialRoleEditEntitlements' + description: Role mining session parameters required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/Role' - description: Role created + $ref: '#/components/schemas/RoleMiningPotentialRole' + description: Adds or removes entitlements from a potential role's entitlement + exclusion list. "400": content: application/json: @@ -34260,14 +34094,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -34285,32 +34111,101 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:role-unchecked:manage - - idn:role-checked:manage - summary: Create a Role + summary: Edit entitlements for a potential role to exclude some entitlements tags: - - Roles - /roles/{id}: - delete: - description: |- - This API deletes a Role by its ID. - - A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles included in the Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. - operationId: deleteRole + - IAI Role Mining + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/identities: + get: + description: This method returns identities for a potential role in a role mining + session. + operationId: getIdentitiesPotentialRole parameters: - - description: ID of the Role - example: 2c91808a7813090a017814121e121518 + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: id + name: sessionId + required: true + schema: + type: string + - description: A potential role id in a role mining session + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: potentialRoleId required: true schema: type: string + - 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: **name** + example: name + explode: true + in: query + name: sorters + required: false + schema: + type: string + style: form + - 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: + + **name**: *sw* + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/RoleMiningIdentity' + type: array + description: Succeeded. Returns a list of identities for a potential role. "400": content: application/json: @@ -34342,14 +34237,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -34367,34 +34254,39 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:role-unchecked:manage - - idn:role-checked:manage - summary: Delete a Role + summary: Retrieves identities for a potential role in a role mining session tags: - - Roles + - IAI Role Mining + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export: get: - description: |- - This API returns a Role by its ID. - - A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles included in the Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. - operationId: getRole + description: This endpoint downloads all the information for a potential role + in a role mining session. Includes identities and entitlements in the potential + role. + operationId: exportRoleMiningPotentialRole parameters: - - description: ID of the Role - example: 2c91808a7813090a017814121e121518 + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: id + name: sessionId + required: true + schema: + type: string + - description: A potential role id in a role mining session + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: potentialRoleId required: true schema: type: string responses: "200": content: - application/json: + application/zip: schema: - $ref: '#/components/schemas/Role' - description: List of all Roles + format: binary + type: string + description: Succeeded. Returns a zip file containing csv files for identities + and entitlements for the potential role. "400": content: application/json: @@ -34426,14 +34318,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -34451,114 +34335,43 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:role-unchecked:read - - idn:role-unchecked:manage - - idn:role-checked:manage - - idn:role-checked:read - summary: Get a Role + summary: Export (download) details for a potential role in a role mining session tags: - - Roles - patch: - description: "This API updates an existing role using [JSON Patch](https://tools.ietf.org/html/rfc6902)\ - \ syntax.\n\nThe following fields are patchable:\n\n* name\n* description\n\ - * enabled\n* owner\n* accessProfiles\n* membership\n* requestable\n* accessRequestConfig\n\ - * revokeRequestConfig\n* segments\n\nA token with API, ORG_ADMIN, ROLE_ADMIN,\ - \ or ROLE_SUBADMIN authority is required to call this API. In addition, a\ - \ token with ROLE_SUBADMIN authority may only call this API if all access\ - \ profiles included in the role are associated to Sources with management\ - \ workgroups of which the ROLE_SUBADMIN is a member.\n\nThe maximum supported\ - \ length for the description field is 2000 characters. Longer descriptions\ - \ will be preserved for existing roles, however, any new roles as well as\ - \ any updates to existing descriptions will be limited to 2000 characters.\n\ - \nWhen you use this API to modify a role's membership identities, you can\ - \ only modify up to a limit of 500 membership identities at a time. " - operationId: patchRole + - IAI Role Mining + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export-async: + post: + description: This endpoint uploads all the information for a potential role + in a role mining session to S3 as a downloadable zip archive. Includes identities + and entitlements in the potential role. + operationId: exportRoleMiningPotentialRoleAsync parameters: - - description: ID of the Role to patch + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: id + name: sessionId + required: true + schema: + type: string + - description: A potential role id in a role mining session + example: 278359a6-04b7-4669-9468-924cf580964a + in: path + name: potentialRoleId required: true schema: - example: 2c91808a7813090a017814121e121518 type: string requestBody: content: - application/json-patch+json: - examples: - Make a Role Requestable and Enable it in One Call: - description: This example shows how multiple fields may be updated - with a single patch call. - value: - - op: replace - path: /requestable - value: true - - op: replace - path: /enabled - value: true - Assign a Role to a Segment: - description: This example illustrates the use of patch to assign a - Role to a Segment by adding the Segment's ID to the Role's segments - array. - value: - - op: add - path: /segments/- - value: f7b1b8a3-5fed-4fd4-ad29-82014e137e19 - Set the Membership Selection Criteria to a List of Identities: - description: "This example shows how to define a Role's membershp\ - \ by providing a list of Identities, referenced by their IDs." - value: - - op: replace - path: /membership - value: - type: IDENTITY_LIST - identities: - - id: 2c91808973fe906c0174262092014ed9 - - id: 2c918086262092014ed94fb8a47612f3 - Set the Membership Selection Criteria to a Standard Expression: - description: "This example shows how to define a Role's membership\ - \ using STANDARD criteria. In this case, the Role will be granted\ - \ to all Identities which have the *Engineering* attribute from\ - \ the indicated Source." - value: - - op: replace - path: /membership - value: - type: STANDARD - criteria: - operation: OR - children: - - operation: EQUALS - key: - type: ENTITLEMENT - property: attribute.memberOf - sourceId: 2c9180887701fb2014213e122092014e - stringValue: Engineering - Add a New Clause as the Child of an Existing Standard Expression: - description: This example shows how to add a child clause to an existing - STANDARD criteria expression. - value: - - op: add - path: /membership/criteria/children/- - value: - operation: ENDS_WITH - key: - type: IDENTITY - property: attribute.email - stringValue: '@identitynow.com' + application/json: schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - required: true + $ref: '#/components/schemas/RoleMiningPotentialRoleExportRequest' responses: - "200": + "202": content: application/json: schema: - $ref: '#/components/schemas/Role' - description: Responds with the Role as updated. + $ref: '#/components/schemas/RoleMiningPotentialRoleExportResponse' + description: Job Submitted. Returns a reportId that can be used to download + the zip once complete "400": content: application/json: @@ -34590,14 +34403,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -34615,80 +34420,50 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:role-unchecked:manage - - idn:role-checked:manage - summary: Patch a specified Role + summary: Asynchronously export details for a potential role in a role mining + session and upload to S3 tags: - - Roles - /roles/bulk-delete: - post: - description: "This endpoint initiates a bulk deletion of one or more roles.\n\ - When the request is successful, the endpoint returns the bulk delete's task\ - \ result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/beta/get-task-status),\ - \ which will return the task result's status and information. \nThis endpoint\ - \ can only bulk delete up to a limit of 50 roles per request. \nA token with\ - \ API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call\ - \ this endpoint. In addition, a token with ROLE_SUBADMIN authority can only\ - \ call this endpoint if all roles included in the request are associated with\ - \ sources with management workgroups the ROLE_SUBADMIN is a member of." - operationId: deleteBulkRoles - requestBody: - content: - application/json: - example: - roleIds: - - 2c91808876438bb2017668b91919ecca - - 2c91808876438ba801766e129f151816 - schema: - $ref: '#/components/schemas/RoleBulkDeleteRequest' + - IAI Role Mining + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export-async/{exportId}: + get: + description: This endpoint retrieves information about the current status of + a potential role export. + operationId: exportRoleMiningPotentialRoleStatus + parameters: + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: sessionId + required: true + schema: + format: uuid + type: string + - description: A potential role id in a role mining session + example: 278359a6-04b7-4669-9468-924cf580964a + in: path + name: potentialRoleId + required: true + schema: + format: uuid + type: string + - description: The id of a previously run export job for this potential role + example: 4940ffd4-836f-48a3-b2b0-6d498c3fdf40 + in: path + name: exportId required: true + schema: + format: uuid + type: string responses: - "202": + "200": content: application/json: - example: - type: TASK_RESULT - id: 464ae7bf791e49fdb74606a2e4a89635 - name: null schema: - $ref: '#/components/schemas/TaskResultDto' - description: Returns an object with the id of the task performing the delete - operation. + $ref: '#/components/schemas/RoleMiningPotentialRoleExportResponse' + description: Success. Returns the current status of this export "400": content: application/json: - examples: - "400.1 Bad Request Content": - description: Response for bad request content - value: - detailCode: 400.1 Bad Request Content - trackingId: 1ea1adcb84da4dcb890145e05745774e - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The request was syntactically correct but its content - is semantically invalid. - "400.1 Role ids limit violation": - description: Role ids limit violation response - value: - detailCode: 400.1 Bad Request Content - trackingId: 77aa89ac6f0e422dbc588866abc22be9 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: roleIds count exceeded max limit of 50 for bulk-delete. - "400.1.404 Referenced object not found": - description: Referenced object not found response - value: - detailCode: 400.1.404 Referenced object not found - trackingId: 77aa89ac6f0e422dbc588866abc22be9 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: "Referenced roleIds [\"2c91808876438bb2017668b91919ecca\"\ - ] was not found." schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. @@ -34717,14 +34492,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -34742,98 +34509,48 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:role-unchecked:manage - - idn:role-checked:manage - summary: Delete Role(s) + summary: Retrieve status of a potential role export job tags: - - Roles - /roles/{id}/assigned-identities: + - IAI Role Mining + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export-async/{exportId}/download: get: - operationId: getRoleAssignedIdentities + description: This endpoint downloads a completed export of information for a + potential role in a role mining session. + operationId: downloadRoleMiningPotentialRoleZip parameters: - - description: ID of the Role for which the assigned Identities are to be listed - example: 2c91808a7813090a017814121e121518 + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: id + name: sessionId required: true schema: + format: uuid type: string - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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* - - **aliasName**: *eq, sw* - - **email**: *eq, sw* - - **name**: *eq, sw, co* - example: name sw Joe - in: query - name: filters + - description: A potential role id in a role mining session + example: 278359a6-04b7-4669-9468-924cf580964a + in: path + name: potentialRoleId + required: true schema: + format: uuid type: string - - 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: **id, name, aliasName, email** - example: "aliasName,name" - in: query - name: sorters + - description: The id of a previously run export job for this potential role + example: 4940ffd4-836f-48a3-b2b0-6d498c3fdf40 + in: path + name: exportId + required: true schema: - format: comma-separated + format: uuid type: string responses: "200": content: - application/json: + application/zip: schema: - items: - $ref: '#/components/schemas/RoleIdentity' - type: array - description: List of Identities assigned the Role + format: binary + type: string + description: Succeeded. Returns a zip file containing csv files for identities + and entitlements for the potential role. "400": content: application/json: @@ -34865,14 +34582,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -34890,114 +34599,64 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:role-unchecked:read - - idn:role-unchecked:manage - - idn:role-checked:manage - - idn:role-checked:read - summary: Identities assigned a Role + summary: Export (download) details for a potential role in a role mining session tags: - - Roles - /roles/{id}/entitlements: - get: - description: |- - This API lists the Entitlements associated with a given role. - - A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. - operationId: getRoleEntitlements + - IAI Role Mining + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/provision: + post: + description: This method starts a job to provision a potential role + operationId: createPotentialRoleProvisionRequest parameters: - - description: ID of the containing role + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: id + name: sessionId required: true schema: - example: 2c91808a7813090a017814121919ecca type: string - - 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. - example: 250 - in: query - name: limit - required: false + - description: A potential role id in a role mining session + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: potentialRoleId + required: true schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 + type: string + - description: Minimum popularity required for an entitlement to be included + in the provisioned role. + explode: true in: query - name: offset + name: min-entitlement-popularity required: false schema: default: 0 - format: int32 + maximum: 100 minimum: 0 type: integer - - 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. - example: true + style: form + - description: Boolean determining whether common access entitlements will be + included in the provisioned role. + explode: true in: query - name: count + name: include-common-access required: false schema: - default: false + default: true type: boolean - - 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* - - **name**: *eq, sw* - - **attribute**: *eq, sw* - - **value**: *eq, sw* - - **created**: *gt, lt, ge, le* - - **modified**: *gt, lt, ge, le* - - **owner.id**: *eq, in* - - **source.id**: *eq, in* - example: attribute eq "memberOf" - in: query - name: filters - required: false - schema: - type: string - - 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: **name, attribute, value, created, modified** - example: "name,-modified" - in: query - name: sorters - required: false - schema: - format: comma-separated - type: string + style: form + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleMiningPotentialRoleProvisionRequest' + description: Required information to create a new role responses: - "200": + "202": content: application/json: schema: - items: - $ref: '#/components/schemas/Entitlement' - type: array - description: List of Entitlements + $ref: '#/components/schemas/RoleMiningPotentialRoleSummary' + description: Accepted. Returns a potential role summary including the status + of the provison request "400": content: application/json: @@ -35029,14 +34688,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": + "404": content: application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "500": content: application/json: @@ -35054,35 +34723,57 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:role-unchecked:read - - idn:role-unchecked:manage - - idn:role-checked:manage - - idn:role-checked:read - summary: List role's Entitlements + summary: Create request to provision a potential role into an actual role. tags: - - Roles - /segments: + - IAI Role Mining + /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/excluded-entitlements: get: - description: |- - This API returns a list of all segments. - A token with ORG_ADMIN or API authority is required to call this API. - operationId: listSegments + description: This method returns excluded entitlements for a potential role + in a role mining session. + operationId: getExcludedEntitlementsPotentialRole parameters: + - description: The role mining session id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: sessionId + required: true + schema: + type: string + - description: A potential role id in a role mining session + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: potentialRoleId + required: true + schema: + type: string - 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. - example: 250 + Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) + + Sorting is supported for the following fields: **popularity** + example: populariity + explode: true in: query - name: limit + name: sorters required: false schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer + type: string + style: form + - 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: + + **applicationName**: *sw* + + **entitlementRef.name**: *sw* + example: applicationName sw "AD" + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form - 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. @@ -35095,6 +34786,19 @@ paths: format: int32 minimum: 0 type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer - 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. @@ -35114,9 +34818,10 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/Segment' + $ref: '#/components/schemas/RoleMiningEntitlement' type: array - description: List of all segments + description: Succeeded. Returns a list of excluded entitlements for a potential + roles. "400": content: application/json: @@ -35148,14 +34853,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. "500": content: application/json: @@ -35173,27 +34870,115 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: List Segments + summary: Retrieves excluded entitlements for a potential role in a role mining + session tags: - - Segments - post: - description: "This API creates a segment. \n>**Note:** Segment definitions may\ - \ take time to propagate to all identities.\nA token with ORG_ADMIN or API\ - \ authority is required to call this API." - operationId: createSegment - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Segment' - required: true + - IAI Role Mining + /role-mining-potential-roles: + get: + description: Returns all potential role summaries that match the query parameters + operationId: getAllPotentialRoleSummaries + parameters: + - 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: **createdDate, identityCount, entitlementCount, freshness, quality** + example: createdDate + explode: true + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string + style: form + - 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: + + **createdById**: *eq, sw, co* + + **createdByName**: *eq, sw, co* + + **description**: *sw, co* + + **endDate**: *le, lt* + + **freshness**: *eq, ge, gt, le, lt* + + **name**: *eq, sw, co, ge, gt, le, lt* + + **quality**: *eq, ge, gt, le, lt* + + **startDate**: *ge, gt* + + **saved**: *eq* + + **type**: *eq, ge, gt, le, lt* + + **scopingMethod**: *eq* + + **sessionState**: *eq* + + **identityAttribute**: *co* + example: (createdByName co "int") and (createdById sw "2c9180907") and (type + eq "COMMON") and ((name co "entt") or (saved eq true)) + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/Segment' - description: Segment created + items: + $ref: '#/components/schemas/RoleMiningPotentialRoleSummary' + type: array + description: Succeeded. Returns all potential role summaries that match + the query parameters. "400": content: application/json: @@ -35250,26 +35035,31 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Create Segment + security: + - UserContextAuth: [] + summary: Retrieves all potential role summaries tags: - - Segments - /segments/{id}: - delete: - description: "This API deletes the segment specified by the given ID.\n>**Note:**\ - \ Segment deletion may take some time to go into effect. \nA token with ORG_ADMIN\ - \ or API authority is required to call this API." - operationId: deleteSegment + - IAI Role Mining + /role-mining-potential-roles/{potentialRoleId}: + get: + description: This method returns a specific potential role. + operationId: getRoleMiningPotentialRole parameters: - - description: The segment ID to delete. - example: ef38f94347e94562b5bb8424a56397d8 + - description: A potential role id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: id + name: potentialRoleId required: true schema: type: string responses: - "204": - description: No content. + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/RoleMiningPotentialRole' + description: Succeeded. Returns a list of potential roles for a role mining + session. "400": content: application/json: @@ -35301,24 +35091,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -35344,29 +35116,68 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Delete Segment by ID + security: + - UserContextAuth: [] + summary: Retrieves a specific potential role tags: - - Segments - get: - description: |- - This API returns the segment specified by the given ID. - A token with ORG_ADMIN or API authority is required to call this API. - operationId: getSegment + - IAI Role Mining + patch: + description: | + This method updates an existing potential role. + + The following fields can be modified: + + * `description` + + * `name` + + * `saved` + + + >**NOTE: All other fields cannot be modified.** + operationId: patchRoleMiningPotentialRole parameters: - - description: The segment ID to retrieve. - example: ef38f94347e94562b5bb8424a56397d8 + - description: The potential role summary id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb in: path - name: id + name: potentialRoleId required: true schema: type: string + requestBody: + content: + application/json-patch+json: + example: + - op: remove + path: /description + - op: replace + path: /description + value: Acct I - Potential Role + - op: remove + path: /saved + - op: replace + path: /saved + value: "false" + - op: remove + path: /name + - op: replace + path: /name + value: Potential Role Accounting + schema: + items: + $ref: '#/components/schemas/patchPotentialRole_request_inner' + type: array + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Segment' - description: Segment + items: + $ref: ../schemas/RoleMiningPotentialRole.yaml + type: object + description: Succeeded. Returns the potential role summary based on the + potentialRoleId provided. "400": content: application/json: @@ -35441,68 +35252,76 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get Segment by ID + security: + - UserContextAuth: [] + summary: Update a potential role tags: - - Segments - patch: - description: |- - Use this API to update segment fields by using the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. - >**Note:** Changes to a segment may take some time to propagate to all identities. - A token with ORG_ADMIN or API authority is required to call this API. - operationId: patchSegment + - IAI Role Mining + /role-mining-potential-roles/saved: + get: + description: This method returns all saved potential roles (draft roles). + operationId: getSavedPotentialRoles parameters: - - description: The segment ID to modify. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id - required: true + - description: "Sort results using the standard syntax described in [V3 API\ + \ Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters/)\ + \ Sorting is supported for the following fields: **modified**" + example: modified + explode: true + in: query + name: sorters + required: false schema: + format: comma-separated type: string - requestBody: - content: - application/json-patch+json: - examples: - Set Visibility Criteria: - description: Set the visibility criteria - value: - - op: replace - path: /visibilityCriteria - value: - expression: - operator: AND - children: - - operator: EQUALS - attribute: location - value: - type: STRING - value: Philadelphia - - operator: EQUALS - attribute: department - value: - type: STRING - value: HR - schema: - items: - type: object - type: array - description: | - A list of segment update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + style: form + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. - The following fields are patchable: - * name - * description - * owner - * visibilityCriteria - * active - required: true + Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. + + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Segment' - description: "Indicates the PATCH operation succeeded, and returns the segment's\ - \ new representation." + items: + $ref: '#/components/schemas/RoleMiningSessionDraftRoleDto' + type: array + description: Succeeded. Returns a list of draft roles for a role mining + session. "400": content: application/json: @@ -35534,24 +35353,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -35577,29 +35378,91 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Update Segment + security: + - UserContextAuth: [] + summary: Retrieves all saved potential roles tags: - - Segments - /send-test-notification: - post: - description: Send a Test Notification - operationId: sendTestNotification - requestBody: - content: - application/json: - example: - key: cloud_manual_work_item_summary - medium: EMAIL - context: - numberOfPendingTasks: "4" - ownerId: 201327fda1c44704ac01181e963d463c - schema: - $ref: '#/components/schemas/SendTestNotificationRequestDto' + - IAI Role Mining + /role-mining-potential-roles/{potentialRoleId}/sources/{sourceId}/identityUsage: + get: + description: This method returns source usageCount (as number of days in the + last 90 days) for each identity in a potential role. + operationId: getPotentialRoleSourceIdentityUsage + parameters: + - description: A potential role id + example: e0cc5d7d-bf7f-4f81-b2af-8885b09d9923 + in: path + name: potentialRoleId + required: true + schema: + type: string + - description: A source id + example: 2c9180877620c1460176267f336a106f + in: path + name: sourceId required: true + schema: + type: string + - description: "Sort results using the standard syntax described in [V3 API\ + \ Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters/)\ + \ Sorting is supported for the following fields: **displayName, email, usageCount**" + example: -usageCount + explode: true + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string + style: form + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/RoleMiningPotentialRoleSourceUsage' + type: array + description: Succeeded. Returns a list of source usage for the identities + in a potential role. "400": content: application/json: @@ -35631,24 +35494,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -35674,53 +35519,69 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Send Test Notification + security: + - UserContextAuth: [] + summary: Retrieves potential role source usage tags: - - Notifications - /service-desk-integrations: + - IAI Role Mining + /roles: get: - description: Get a list of ServiceDeskIntegrationDto for existing Service Desk - Integrations. A token with Org Admin or Service Desk Admin authority is required - to access this endpoint. - operationId: getServiceDeskIntegrationList + description: |- + This API returns a list of Roles. + + A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. + operationId: listRoles parameters: + - description: "If provided, filters the returned list according to what is\ + \ visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter\ + \ is either an Identity ID, or the special value **me**, which is shorthand\ + \ for the calling Identity's ID. A 400 Bad Request error is returned if\ + \ the **for-subadmin** parameter is specified for an Identity that is not\ + \ a subadmin." + example: 5168015d32f890ca15812c9180835d2e + in: query + name: for-subadmin + required: false + schema: + type: string - description: |- - Offset into the full result set. Usually specified with *limit* to paginate through the results. + Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: 0 + example: 50 in: query - name: offset + name: limit required: false schema: - default: 0 + default: 50 format: int32 + maximum: 50 minimum: 0 type: integer - description: |- - Max number of results to return. + Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: 250 + example: 0 in: query - name: limit + name: offset required: false schema: - default: 250 + default: 0 format: int32 - maximum: 250 minimum: 0 type: integer - 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) + If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. - Sorting is supported for the following fields: **name** - example: name - explode: true + Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. + + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: true in: query - name: sorters + name: count required: false schema: - type: string - style: form + default: false + type: boolean - 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) @@ -35728,32 +35589,52 @@ paths: **id**: *eq, in* - **name**: *eq* + **name**: *eq, sw* - **type**: *eq, in* + **created**: *gt, lt, ge, le* - **cluster**: *eq, in* - example: id eq 2c91808b6ef1d43e016efba0ce470904 - explode: true + **modified**: *gt, lt, ge, le* + + **owner.id**: *eq, in* + + **requestable**: *eq* + example: requestable eq false in: query name: filters required: false schema: - format: comma-separated type: string - style: form - 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. + Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) - Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. + Sorting is supported for the following fields: **name, created, modified** + example: "name,-modified" + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string + - description: |- + If present and not empty, additionally filters Roles to those which are assigned to the Segment(s) with the specified IDs. - See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: true + If segmentation is currently unavailable, specifying this parameter results in an error. + example: "0b5c9f25-83c6-4762-9073-e38f7bb2ae26,2e8d8180-24bc-4d21-91c6-7affdb473b0d" in: query - name: count + name: for-segment-ids required: false schema: - default: false + format: comma-separated + type: string + - description: "Whether or not the response list should contain unsegmented\ + \ Roles. If *for-segment-ids* is absent or empty, specifying *include-unsegmented*\ + \ as false results in an error." + example: false + in: query + name: include-unsegmented + required: false + schema: + default: true type: boolean responses: "200": @@ -35761,9 +35642,9 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' + $ref: '#/components/schemas/Role' type: array - description: List of ServiceDeskIntegrationDto + description: List of Roles "400": content: application/json: @@ -35795,24 +35676,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -35840,29 +35703,36 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:read - - idn:service-desk-integration:read - summary: List existing Service Desk Integrations + - idn:role-unchecked:read + - idn:role-unchecked:manage + - idn:role-checked:manage + - idn:role-checked:read + summary: List Roles tags: - - Service Desk Integration + - Roles post: - description: Create a new Service Desk Integrations. A token with Org Admin - or Service Desk Admin authority is required to access this endpoint. - operationId: createServiceDeskIntegration + description: "This API creates a role.\n\nYou must have a token with API, ORG_ADMIN,\ + \ ROLE_ADMIN, or ROLE_SUBADMIN authority to call this API. \n\nIn addition,\ + \ a ROLE_SUBADMIN may not create a role including an access profile if that\ + \ access profile is associated with a source the ROLE_SUBADMIN is not associated\ + \ with themselves. \n\nThe maximum supported length for the description field\ + \ is 2000 characters. Longer descriptions will be preserved for existing roles.\ + \ However, any new roles as well as any updates to existing descriptions will\ + \ be limited to 2000 characters." + operationId: createRole requestBody: content: application/json: schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: The specifics of a new integration to create + $ref: '#/components/schemas/Role' required: true responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: details of the created integration + $ref: '#/components/schemas/Role' + description: Role created "400": content: application/json: @@ -35894,24 +35764,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -35939,29 +35791,30 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:manage - - idn:service-desk-integration:manage - summary: Create new Service Desk integration + - idn:role-unchecked:manage + - idn:role-checked:manage + summary: Create a Role tags: - - Service Desk Integration - /service-desk-integrations/{id}: + - Roles + /roles/{id}: delete: - description: Delete an existing Service Desk integration by ID. A token with - Org Admin or Service Desk Admin authority is required to access this endpoint. - operationId: deleteServiceDeskIntegration + description: |- + This API deletes a Role by its ID. + + A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles included in the Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. + operationId: deleteRole parameters: - - description: ID of Service Desk integration to delete - explode: false + - description: ID of the Role + example: 2c91808a7813090a017814121e121518 in: path name: id required: true schema: - example: anId type: string - style: simple responses: "204": - description: Service Desk integration with the given ID successfully deleted + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -35993,24 +35846,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -36038,32 +35873,32 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:manage - - idn:service-desk-integration:manage - summary: Delete a Service Desk integration + - idn:role-unchecked:manage + - idn:role-checked:manage + summary: Delete a Role tags: - - Service Desk Integration + - Roles get: - description: Get an existing Service Desk integration by ID. A token with Org - Admin or Service Desk Admin authority is required to access this endpoint. - operationId: getServiceDeskIntegration + description: |- + This API returns a Role by its ID. + + A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles included in the Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. + operationId: getRole parameters: - - description: ID of the Service Desk integration to get - explode: false + - description: ID of the Role + example: 2c91808a7813090a017814121e121518 in: path name: id required: true schema: - example: anId type: string - style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: ServiceDeskIntegrationDto with the given ID + $ref: '#/components/schemas/Role' + description: List of all Roles "400": content: application/json: @@ -36095,24 +35930,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -36140,55 +35957,112 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:read - - idn:service-desk-integration:read - summary: Get a Service Desk integration + - idn:role-unchecked:read + - idn:role-unchecked:manage + - idn:role-checked:manage + - idn:role-checked:read + summary: Get a Role tags: - - Service Desk Integration + - Roles patch: - description: Update an existing ServiceDeskIntegration by ID with a PATCH request. - operationId: patchServiceDeskIntegration + description: "This API updates an existing role using [JSON Patch](https://tools.ietf.org/html/rfc6902)\ + \ syntax.\n\nThe following fields are patchable:\n\n* name\n* description\n\ + * enabled\n* owner\n* accessProfiles\n* membership\n* requestable\n* accessRequestConfig\n\ + * revokeRequestConfig\n* segments\n\nA token with API, ORG_ADMIN, ROLE_ADMIN,\ + \ or ROLE_SUBADMIN authority is required to call this API. In addition, a\ + \ token with ROLE_SUBADMIN authority may only call this API if all access\ + \ profiles included in the role are associated to Sources with management\ + \ workgroups of which the ROLE_SUBADMIN is a member.\n\nThe maximum supported\ + \ length for the description field is 2000 characters. Longer descriptions\ + \ will be preserved for existing roles, however, any new roles as well as\ + \ any updates to existing descriptions will be limited to 2000 characters.\n\ + \nWhen you use this API to modify a role's membership identities, you can\ + \ only modify up to a limit of 500 membership identities at a time. " + operationId: patchRole parameters: - - description: ID of the Service Desk integration to update - explode: false + - description: ID of the Role to patch in: path name: id required: true schema: - example: anId + example: 2c91808a7813090a017814121e121518 type: string - style: simple requestBody: content: application/json-patch+json: - example: |- - [ - { - "op": "replace", - "path": "/ownerRef", - "value": { - "id": "2c9180867d05b227017d09921a205b4d", - "type": "IDENTITY", - "name": "Angelo2 tester" - } - } - ] + examples: + Make a Role Requestable and Enable it in One Call: + description: This example shows how multiple fields may be updated + with a single patch call. + value: + - op: replace + path: /requestable + value: true + - op: replace + path: /enabled + value: true + Assign a Role to a Segment: + description: This example illustrates the use of patch to assign a + Role to a Segment by adding the Segment's ID to the Role's segments + array. + value: + - op: add + path: /segments/- + value: f7b1b8a3-5fed-4fd4-ad29-82014e137e19 + Set the Membership Selection Criteria to a List of Identities: + description: "This example shows how to define a Role's membershp\ + \ by providing a list of Identities, referenced by their IDs." + value: + - op: replace + path: /membership + value: + type: IDENTITY_LIST + identities: + - id: 2c91808973fe906c0174262092014ed9 + - id: 2c918086262092014ed94fb8a47612f3 + Set the Membership Selection Criteria to a Standard Expression: + description: "This example shows how to define a Role's membership\ + \ using STANDARD criteria. In this case, the Role will be granted\ + \ to all Identities which have the *Engineering* attribute from\ + \ the indicated Source." + value: + - op: replace + path: /membership + value: + type: STANDARD + criteria: + operation: OR + children: + - operation: EQUALS + key: + type: ENTITLEMENT + property: attribute.memberOf + sourceId: 2c9180887701fb2014213e122092014e + stringValue: Engineering + Add a New Clause as the Child of an Existing Standard Expression: + description: This example shows how to add a child clause to an existing + STANDARD criteria expression. + value: + - op: add + path: /membership/criteria/children/- + value: + operation: ENDS_WITH + key: + type: IDENTITY + property: attribute.email + stringValue: '@identitynow.com' schema: - $ref: '#/components/schemas/patchServiceDeskIntegration_request' - description: | - A list of SDIM update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. - - Only `replace` operations are accepted by this endpoint. - - A 403 Forbidden Error indicates that you attempted to PATCH a operation that is not allowed. + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: ServiceDeskIntegrationDto as updated + $ref: '#/components/schemas/Role' + description: Responds with the Role as updated. "400": content: application/json: @@ -36220,24 +36094,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -36265,43 +36121,78 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:manage - - idn:service-desk-integration:manage - summary: Service Desk Integration Update PATCH + - idn:role-unchecked:manage + - idn:role-checked:manage + summary: Patch a specified Role tags: - - Service Desk Integration - put: - description: Update an existing Service Desk integration by ID with updated - value in JSON form as the request body. A token with Org Admin or Service - Desk Admin authority is required to access this endpoint. - operationId: putServiceDeskIntegration - parameters: - - description: ID of the Service Desk integration to update - explode: false - in: path - name: id - required: true - schema: - example: anId - type: string - style: simple + - Roles + /roles/bulk-delete: + post: + description: "This endpoint initiates a bulk deletion of one or more roles.\n\ + When the request is successful, the endpoint returns the bulk delete's task\ + \ result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/beta/get-task-status),\ + \ which will return the task result's status and information. \nThis endpoint\ + \ can only bulk delete up to a limit of 50 roles per request. \nA token with\ + \ API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call\ + \ this endpoint. In addition, a token with ROLE_SUBADMIN authority can only\ + \ call this endpoint if all roles included in the request are associated with\ + \ sources with management workgroups the ROLE_SUBADMIN is a member of." + operationId: deleteBulkRoles requestBody: content: application/json: + example: + roleIds: + - 2c91808876438bb2017668b91919ecca + - 2c91808876438ba801766e129f151816 schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: The specifics of the integration to update + $ref: '#/components/schemas/RoleBulkDeleteRequest' required: true responses: - "200": + "202": content: application/json: + example: + type: TASK_RESULT + id: 464ae7bf791e49fdb74606a2e4a89635 + name: null schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: ServiceDeskIntegrationDto as updated + $ref: '#/components/schemas/TaskResultDto' + description: Returns an object with the id of the task performing the delete + operation. "400": content: application/json: + examples: + "400.1 Bad Request Content": + description: Response for bad request content + value: + detailCode: 400.1 Bad Request Content + trackingId: 1ea1adcb84da4dcb890145e05745774e + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The request was syntactically correct but its content + is semantically invalid. + "400.1 Role ids limit violation": + description: Role ids limit violation response + value: + detailCode: 400.1 Bad Request Content + trackingId: 77aa89ac6f0e422dbc588866abc22be9 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: roleIds count exceeded max limit of 50 for bulk-delete. + "400.1.404 Referenced object not found": + description: Referenced object not found response + value: + detailCode: 400.1.404 Referenced object not found + trackingId: 77aa89ac6f0e422dbc588866abc22be9 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: "Referenced roleIds [\"2c91808876438bb2017668b91919ecca\"\ + ] was not found." schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. @@ -36330,24 +36221,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -36375,27 +36248,96 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:manage - - idn:service-desk-integration:manage - summary: Update a Service Desk integration + - idn:role-unchecked:manage + - idn:role-checked:manage + summary: Delete Role(s) tags: - - Service Desk Integration - /service-desk-integrations/types: + - Roles + /roles/{id}/assigned-identities: get: - description: This API endpoint returns the current list of supported Service - Desk integration types. A token with Org Admin or Service Desk Admin authority - is required to access this endpoint. - operationId: getServiceDeskIntegrationTypes + operationId: getRoleAssignedIdentities + parameters: + - description: ID of the Role for which the assigned Identities are to be listed + example: 2c91808a7813090a017814121e121518 + in: path + name: id + required: true + schema: + type: string + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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* + + **aliasName**: *eq, sw* + + **email**: *eq, sw* + + **name**: *eq, sw, co* + example: name sw Joe + in: query + name: filters + schema: + type: string + - 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: **id, name, aliasName, email** + example: "aliasName,name" + in: query + name: sorters + schema: + format: comma-separated + type: string responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/ServiceDeskIntegrationTemplateType' + $ref: '#/components/schemas/RoleIdentity' type: array - description: Responds with an array of the currently supported Service Desk - integration types. + description: List of Identities assigned the Role "400": content: application/json: @@ -36427,24 +36369,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -36472,38 +36396,112 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:read - - idn:service-desk-admin:manage - - idn:service-desk-integration:read - - idn:service-desk-integration:manage - summary: Service Desk Integration Types List. + - idn:role-unchecked:read + - idn:role-unchecked:manage + - idn:role-checked:manage + - idn:role-checked:read + summary: Identities assigned a Role tags: - - Service Desk Integration - /service-desk-integrations/templates/{scriptName}: + - Roles + /roles/{id}/entitlements: get: - description: This API endpoint returns an existing Service Desk integration - template by scriptName. A token with Org Admin or Service Desk Admin authority - is required to access this endpoint. - operationId: getServiceDeskIntegrationTemplate + description: |- + This API lists the Entitlements associated with a given role. + + A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. + operationId: getRoleEntitlements parameters: - - description: The scriptName value of the Service Desk integration template - to get - explode: false + - description: ID of the containing role in: path - name: scriptName + name: id required: true schema: - example: aScriptName + example: 2c91808a7813090a017814121919ecca + type: string + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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* + + **name**: *eq, sw* + + **attribute**: *eq, sw* + + **value**: *eq, sw* + + **created**: *gt, lt, ge, le* + + **modified**: *gt, lt, ge, le* + + **owner.id**: *eq, in* + + **source.id**: *eq, in* + example: attribute eq "memberOf" + in: query + name: filters + required: false + schema: + type: string + - 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: **name, attribute, value, created, modified** + example: "name,-modified" + in: query + name: sorters + required: false + schema: + format: comma-separated type: string - style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ServiceDeskIntegrationTemplateDto' - description: Responds with the ServiceDeskIntegrationTemplateDto with the - specified scriptName. + items: + $ref: '#/components/schemas/Entitlement' + type: array + description: List of Entitlements "400": content: application/json: @@ -36535,24 +36533,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -36580,24 +36560,67 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:read - - idn:service-desk-integration:read - summary: Service Desk integration template by scriptName. + - idn:role-unchecked:read + - idn:role-unchecked:manage + - idn:role-checked:manage + - idn:role-checked:read + summary: List role's Entitlements tags: - - Service Desk Integration - /service-desk-integrations/status-check-configuration: + - Roles + /segments: get: - description: Get the time check configuration of queued SDIM tickets. A token - with Org Admin or Service Desk Admin authority is required to access this - endpoint. - operationId: getStatusCheckDetails + description: |- + This API returns a list of all segments. + A token with ORG_ADMIN or API authority is required to call this API. + operationId: listSegments + parameters: + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: "200": content: application/json: schema: - $ref: '#/components/schemas/QueuedCheckConfigDetails' - description: QueuedCheckConfigDetails containing the configured values + items: + $ref: '#/components/schemas/Segment' + type: array + description: List of all segments "400": content: application/json: @@ -36629,24 +36652,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -36672,34 +36677,27 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:service-desk-admin:read - - idn:service-desk-admin:manage - - idn:service-desk-integration:read - - idn:service-desk-integration:manage - summary: Get the time check configuration + summary: List Segments tags: - - Service Desk Integration - put: - description: Update the time check configuration of queued SDIM tickets. A - token with Org Admin or Service Desk Admin authority is required to access - this endpoint. - operationId: updateStatusCheckDetails + - Segments + post: + description: "This API creates a segment. \n>**Note:** Segment definitions may\ + \ take time to propagate to all identities.\nA token with ORG_ADMIN or API\ + \ authority is required to call this API." + operationId: createSegment requestBody: content: application/json: schema: - $ref: '#/components/schemas/QueuedCheckConfigDetails' - description: the modified time check configuration + $ref: '#/components/schemas/Segment' required: true responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/QueuedCheckConfigDetails' - description: QueuedCheckConfigDetails as updated + $ref: '#/components/schemas/Segment' + description: Segment created "400": content: application/json: @@ -36731,24 +36729,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -36774,29 +36754,26 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:service-desk-admin:manage - - idn:service-desk-integration:manage - summary: Update the time check configuration + summary: Create Segment tags: - - Service Desk Integration - /sim-integrations/{id}: + - Segments + /segments/{id}: delete: - description: Get the details of a SIM integration. A token with Org Admin or - Service Desk Admin authority is required to access this endpoint. - operationId: deleteSIMIntegration + description: "This API deletes the segment specified by the given ID.\n>**Note:**\ + \ Segment deletion may take some time to go into effect. \nA token with ORG_ADMIN\ + \ or API authority is required to call this API." + operationId: deleteSegment parameters: - - description: The id of the integration to delete. - example: 12345 + - description: The segment ID to delete. + example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true schema: type: string responses: - "200": - description: No content response + "204": + description: No content. "400": content: application/json: @@ -36871,19 +36848,17 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:service-desk-admin:write - summary: Delete a SIM integration + summary: Delete Segment by ID tags: - - SIM Integrations + - Segments get: - description: Get the details of a SIM integration. A token with Org Admin or - Service Desk Admin authority is required to access this endpoint. - operationId: getSIMIntegration + description: |- + This API returns the segment specified by the given ID. + A token with ORG_ADMIN or API authority is required to call this API. + operationId: getSegment parameters: - - description: The id of the integration. - example: 12345 + - description: The segment ID to retrieve. + example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true @@ -36894,8 +36869,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: The DTO containing the details of the SIM integration + $ref: '#/components/schemas/Segment' + description: Segment "400": content: application/json: @@ -36970,19 +36945,18 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:service-desk-admin:read - summary: Get a SIM integration details. + summary: Get Segment by ID tags: - - SIM Integrations + - Segments patch: - description: Patch a SIM attribute given a JsonPatch object. A token with Org - Admin or Service Desk Admin authority is required to access this endpoint. - operationId: patchSIMAttributes + description: |- + Use this API to update segment fields by using the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + >**Note:** Changes to a segment may take some time to propagate to all identities. + A token with ORG_ADMIN or API authority is required to call this API. + operationId: patchSegment parameters: - - description: SIM integration id - example: 12345 + - description: The segment ID to modify. + example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true @@ -36991,17 +36965,48 @@ paths: requestBody: content: application/json-patch+json: + examples: + Set Visibility Criteria: + description: Set the visibility criteria + value: + - op: replace + path: /visibilityCriteria + value: + expression: + operator: AND + children: + - operator: EQUALS + attribute: location + value: + type: STRING + value: Philadelphia + - operator: EQUALS + attribute: department + value: + type: STRING + value: HR schema: - $ref: '#/components/schemas/JsonPatch' - description: The JsonPatch object that describes the changes of SIM + items: + type: object + type: array + description: | + A list of segment update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + + The following fields are patchable: + * name + * description + * owner + * visibilityCriteria + * active required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: The updated DTO containing the details of the SIM integration. + $ref: '#/components/schemas/Segment' + description: "Indicates the PATCH operation succeeded, and returns the segment's\ + \ new representation." "400": content: application/json: @@ -37076,38 +37081,29 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:service-desk-admin:write - summary: Patch a SIM attribute. + summary: Update Segment tags: - - SIM Integrations - put: - description: Update an existing SIM integration. A token with Org Admin or - Service Desk Admin authority is required to access this endpoint. - operationId: putSIMIntegration - parameters: - - description: The id of the integration. - example: 12345 - in: path - name: id - required: true - schema: - type: string + - Segments + /send-test-notification: + post: + description: Send a Test Notification + operationId: sendTestNotification requestBody: content: application/json: + example: + key: cloud_manual_work_item_summary + medium: EMAIL + context: + numberOfPendingTasks: "4" + ownerId: 201327fda1c44704ac01181e963d463c schema: - $ref: '#/components/schemas/SimIntegrationDetails' - description: The full DTO of the integration containing the updated model + $ref: '#/components/schemas/SendTestNotificationRequestDto' required: true responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: details of the updated integration + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -37182,40 +37178,96 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:service-desk-admin:create - summary: Update an existing SIM integration + summary: Send Test Notification tags: - - SIM Integrations - /sim-integrations/{id}/beforeProvisioningRule: - patch: - description: Patch a SIM beforeProvisioningRule attribute given a JsonPatch - object. A token with Org Admin or Service Desk Admin authority is required + - Notifications + /service-desk-integrations: + get: + description: Get a list of ServiceDeskIntegrationDto for existing Service Desk + Integrations. A token with Org Admin or Service Desk Admin authority is required to access this endpoint. - operationId: patchBeforeProvisioningRule + operationId: getServiceDeskIntegrationList parameters: - - description: SIM integration id - example: 12345 - in: path - name: id - required: true + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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: **name** + example: name + explode: true + in: query + name: sorters + required: false schema: type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/JsonPatch' - description: The JsonPatch object that describes the changes of SIM beforeProvisioningRule. - required: true + style: form + - 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* + + **name**: *eq* + + **type**: *eq, in* + + **cluster**: *eq, in* + example: id eq 2c91808b6ef1d43e016efba0ce470904 + explode: true + in: query + name: filters + required: false + schema: + format: comma-separated + type: string + style: form + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: The updated DTO containing the details of the SIM integration. + items: + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + type: array + description: List of ServiceDeskIntegrationDto "400": content: application/json: @@ -37292,22 +37344,29 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:write - summary: Patch a SIM beforeProvisioningRule attribute. + - idn:service-desk-admin:read + - idn:service-desk-integration:read + summary: List existing Service Desk Integrations tags: - - SIM Integrations - /sim-integrations: - get: - description: List the existing SIM integrations. A token with Org Admin or Service - Desk Admin authority is required to access this endpoint. - operationId: getSIMIntegrations + - Service Desk Integration + post: + description: Create a new Service Desk Integrations. A token with Org Admin + or Service Desk Admin authority is required to access this endpoint. + operationId: createServiceDeskIntegration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: The specifics of a new integration to create + required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: The DTO containing the details of the SIM integration + description: details of the created integration "400": content: application/json: @@ -37384,28 +37443,29 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:read - summary: List the existing SIM integrations. + - idn:service-desk-admin:manage + - idn:service-desk-integration:manage + summary: Create new Service Desk integration tags: - - SIM Integrations - post: - description: Create a new SIM Integrations. A token with Org Admin or Service - Desk Admin authority is required to access this endpoint. - operationId: createSIMIntegration - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SimIntegrationDetails' - description: DTO containing the details of the SIM integration + - Service Desk Integration + /service-desk-integrations/{id}: + delete: + description: Delete an existing Service Desk integration by ID. A token with + Org Admin or Service Desk Admin authority is required to access this endpoint. + operationId: deleteServiceDeskIntegration + parameters: + - description: ID of Service Desk integration to delete + explode: false + in: path + name: id required: true + schema: + example: anId + type: string + style: simple responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceDeskIntegrationDto' - description: details of the created integration + "204": + description: Service Desk integration with the given ID successfully deleted "400": content: application/json: @@ -37482,120 +37542,38 @@ paths: error. security: - UserContextAuth: - - idn:service-desk-admin:create - summary: Create new SIM integration + - idn:service-desk-admin:manage + - idn:service-desk-integration:manage + summary: Delete a Service Desk integration tags: - - SIM Integrations - /sp-config/export: - post: - description: |- - This post will export objects from the tenant to a JSON configuration file. - For more information about the object types that currently support export functionality, refer to [SaaS Configuration](https://developer.sailpoint.com/idn/docs/saas-configuration/#supported-objects). - operationId: exportSpConfig - requestBody: - content: - application/json: - examples: - Export all objects available: - description: Export all object types available in IDN. - value: - description: Export all available objects - excludeTypes: [] - includeTypes: - - ACCESS_PROFILE - - ACCESS_REQUEST_CONFIG - - ATTR_SYNC_SOURCE_CONFIG - - AUTH_ORG - - CAMPAIGN_FILTER - - FORM_DEFINITION - - GOVERNANCE_GROUP - - IDENTITY_OBJECT_CONFIG - - IDENTITY_PROFILE - - LIFECYCLE_STATE - - NOTIFICATION_TEMPLATE - - PASSWORD_POLICY - - PASSWORD_SYNC_GROUP - - PUBLIC_IDENTITIES_CONFIG - - ROLE - - RULE - - SEGMENT - - SERVICE_DESK_INTEGRATION - - SOD_POLICY - - SOURCE - - TAG - - TRANSFORM - - TRIGGER_SUBSCRIPTION - - WORKFLOW - objectOptions: {} - Export sources by ID: - description: Export only sources that match the IDs specified in the - export options. - value: - description: Export sources by ID - excludeTypes: [] - includeTypes: - - SOURCE - objectOptions: - SOURCE: - includedIds: - - be9e116d-08e1-49fc-ab7f-fa585e96c9e4 - - be9p119e-90e1-49pk-ac9f-fa576e96c9e4 - includedNames: [] - Export transforms by name: - description: Export only transforms that match the names specified - in the export options. - value: - description: Export transforms by name - excludeTypes: [] - includeTypes: - - TRANSFORM - objectOptions: - TRANSFORM: - includedIds: [] - includedNames: - - Remove Diacritical Marks - - Common - Location Lookup - Export trigger subscriptions triggers and transforms with custom options: - description: Export trigger subscriptions and transforms that match - the export options. - value: - description: Export trigger subscriptions and transforms with custom - filter options - excludeTypes: [] - includeTypes: - - TRANSFORM - - TRIGGER_SUBSCRIPTION - objectOptions: - TRANSFORM: - includedIds: [] - includedNames: - - Remove Diacritical Marks - - Common - Location Lookup - TRIGGER_SUBSCRIPTION: - includedIds: - - be9e116d-08e1-49fc-ab7f-fa585e96c9e4 - - be9p119e-90e1-49pk-ac9f-fa576e96c9e4 - includedNames: - - "NGROK Test: fire and forget" - - Manager Certification - schema: - $ref: '#/components/schemas/ExportPayload' - description: Export options control what will be included in the export. + - Service Desk Integration + get: + description: Get an existing Service Desk integration by ID. A token with Org + Admin or Service Desk Admin authority is required to access this endpoint. + operationId: getServiceDeskIntegration + parameters: + - description: ID of the Service Desk integration to get + explode: false + in: path + name: id required: true + schema: + example: anId + type: string + style: simple responses: - "202": + "200": content: application/json: schema: - $ref: '#/components/schemas/SpConfigExportJob' - description: Export job accepted and queued for processing. + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: ServiceDeskIntegrationDto with the given ID "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' - description: | - Client Error - Returned if the request body is invalid. + description: Client Error - Returned if the request body is invalid. "401": content: application/json: @@ -37666,43 +37644,55 @@ paths: error. security: - UserContextAuth: - - sp:config:read - - sp:config:manage - summary: Initiates configuration objects export job + - idn:service-desk-admin:read + - idn:service-desk-integration:read + summary: Get a Service Desk integration tags: - - SP-Config - /sp-config/export/{id}: - get: - description: |- - This gets the status of the export job identified by the `id` parameter. - The request will need one of the following security scopes: - - sp:config:read - sp:config:manage - operationId: getSpConfigExportStatus + - Service Desk Integration + patch: + description: Update an existing ServiceDeskIntegration by ID with a PATCH request. + operationId: patchServiceDeskIntegration parameters: - - description: The ID of the export job whose status will be returned. - example: ef38f94347e94562b5bb8424a56397d8 + - description: ID of the Service Desk integration to update + explode: false in: path name: id required: true schema: + example: anId type: string + style: simple + requestBody: + content: + application/json-patch+json: + example: |- + [ + { + "op": "replace", + "path": "/ownerRef", + "value": { + "id": "2c9180867d05b227017d09921a205b4d", + "type": "IDENTITY", + "name": "Angelo2 tester" + } + } + ] + schema: + $ref: '#/components/schemas/patchServiceDeskIntegration_request' + description: | + A list of SDIM update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + + Only `replace` operations are accepted by this endpoint. + + A 403 Forbidden Error indicates that you attempted to PATCH a operation that is not allowed. + required: true responses: "200": content: application/json: - example: - jobId: 1e824aa0-4c6e-4f14-95e9-e7dc5234aa51 - status: COMPLETE - type: EXPORT - message: null - description: Export Job 1 Test - expiration: 2021-05-20T15:04:24Z - created: 2021-05-13T15:04:24.112Z - modified: 2021-05-13T15:04:27.363Z - completed: 2021-05-13T15:04:27.358Z schema: - $ref: '#/components/schemas/SpConfigExportJobStatus' - description: Export job status successfully returned. + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: ServiceDeskIntegrationDto as updated "400": content: application/json: @@ -37779,33 +37769,40 @@ paths: error. security: - UserContextAuth: - - sp:config:read - - sp:config:manage - summary: Get export job status + - idn:service-desk-admin:manage + - idn:service-desk-integration:manage + summary: Service Desk Integration Update PATCH tags: - - SP-Config - /sp-config/export/{id}/download: - get: - description: |- - This endpoint gets the export file resulting from the export job with the requested `id` and downloads it to a file. - The request will need one of the following security scopes: - - sp:config:read - sp:config:manage - operationId: getSpConfigExport + - Service Desk Integration + put: + description: Update an existing Service Desk integration by ID with updated + value in JSON form as the request body. A token with Org Admin or Service + Desk Admin authority is required to access this endpoint. + operationId: putServiceDeskIntegration parameters: - - description: The ID of the export job whose results will be downloaded. - example: ef38f94347e94562b5bb8424a56397d8 + - description: ID of the Service Desk integration to update + explode: false in: path name: id required: true schema: + example: anId type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: The specifics of the integration to update + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SpConfigExportResults' - description: Exported JSON objects. + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: ServiceDeskIntegrationDto as updated "400": content: application/json: @@ -37880,103 +37877,35 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Download export job result. + security: + - UserContextAuth: + - idn:service-desk-admin:manage + - idn:service-desk-integration:manage + summary: Update a Service Desk integration tags: - - SP-Config - /sp-config/import: - post: - description: "This post will import objects from a JSON configuration file into\ - \ a tenant. By default, every import will first export all existing objects\ - \ supported by sp-config as a backup before the import is attempted. The backup\ - \ is provided so that the state of the configuration prior to the import is\ - \ available for inspection or restore if needed. The backup can be skipped\ - \ by setting \"excludeBackup\" to true in the import options. If a backup\ - \ is performed, the id of the backup will be provided in the ImportResult\ - \ as the \"exportJobId\". This can be downloaded using the /sp-config/export/{exportJobId}/download\ - \ endpoint.\nYou cannot currently import from the Non-Employee Lifecycle Management\ - \ (NELM) source. You cannot use this endpoint to back up or store NELM data.\ - \ \nFor more information about the object types that currently support import\ - \ functionality, refer to [SaaS Configuration](https://developer.sailpoint.com/idn/docs/saas-configuration/#supported-objects).\n\ - The request will need the following security scope:\n- sp:config:manage" - operationId: importSpConfig - parameters: - - description: "This option is intended to give the user information about how\ - \ an import operation would proceed, without having any effect on the target\ - \ tenant. If this parameter is \"true\", no objects will be imported. Instead,\ - \ the import process will pre-process the import file and attempt to resolve\ - \ references within imported objects. The import result file will contain\ - \ messages pertaining to how specific references were resolved, any errors\ - \ associated with the preprocessing, and messages indicating which objects\ - \ would be imported." - example: "true" - in: query - name: preview - required: false - schema: - default: false - type: boolean - requestBody: - content: - multipart/form-data: - example: - data: config_export_0340b957-5caa-44f6-ada2-d3c4c5bd0b19.json - options: - excludeTypes: [] - includeTypes: - - TRIGGER_SUBSCRIPTION - objectOptions: - TRIGGER_SUBSCRIPTION: - includedIds: - - be9e116d-08e1-49fc-ab7f-fa585e96c9e4 - includedNames: - - Lori Test 2 - defaultReferences: - - type: TRIGGER_SUBSCRIPTION - id: be9e116d-08e1-49fc-ab7f-fa585e96c9e4 - name: Test Trigger - excludeBackup: false - schema: - $ref: '#/components/schemas/importSpConfig_request' - description: "The form-data \"name\" attribute for the file content must be\ - \ \"data\".\n\n__Example__\n\n data: \"config_export_0340b957-5caa-44f6-ada2-d3c4c5bd0b19.json\"\ - ,\n options: {\n \"excludeTypes\": [],\n \"includeTypes\":\ - \ [\"TRIGGER_SUBSCRIPTION\"],\n \"objectOptions\": {\n \"TRIGGER_SUBSCRIPTION\"\ - : {\n \"includedIds\": [ \"193446a1-c431-4326-8ba7-d6eebf922948\"\ - ],\n \"includedNames\":[]\n }\n },\n \"defaultReferences\"\ - : [\n {\n \"type\": \"TRIGGER_SUBSCRIPTION\",\n \ - \ \"id\": \"be9e116d-08e1-49fc-ab7f-fa585e96c9e4\",\n \"name\"\ - : \"Test Trigger\"\n }\n ],\n \"excludeBackup\": false\n\ - \ }\n\n__Sample Import File__\n\n {\n \t\"version\": 1,\n \t\ - \"timestamp\": \"2021-05-10T15:19:23.425041-05:00\",\n \t\"tenant\":\ - \ \"sampleTenant\",\n \t\"options\": {\n \t\t\"excludeTypes\": [],\n\ - \ \t\t\"includeTypes\": [\"TRIGGER_SUBSCRIPTION\"],\n \t\t\"objectOptions\"\ - : null\n \t},\n \t\"objects\": [{\n \t\t\t\"version\": 1,\n \ - \ \t\t\t\"self\": {\n \t\t\t\t\"type\": \"TRIGGER_SUBSCRIPTION\",\n \ - \ \t\t\t\t\"name\": \"test trigger\",\n \t\t\t\t\"id\": \"193446a1-c431-4326-8ba7-d6eebf922948\"\ - \n \t\t\t},\n \t\t\t\"object\": {\n \t\t\t\t\"type\": \"HTTP\"\ - ,\n \t\t\t\t\"enabled\": true,\n \t\t\t\t\"httpConfig\": {\n \t\ - \t\t\t\t\"url\": \"https://localhost\",\n \t\t\t\t\t\"httpAuthenticationType\"\ - : \"NO_AUTH\",\n \t\t\t\t\t\"basicAuthConfig\": null,\n \t\t\t\t\t\ - \"bearerTokenAuthConfig\": null,\n \t\t\t\t\t\"httpDispatchMode\": \"\ - SYNC\"\n \t\t\t\t},\n \t\t\t\t\"triggerName\": \"Access Request Submitted\"\ - ,\n \t\t\t\t\"responseDeadline\": \"PT1H\",\n \t\t\t\t\"name\": \"\ - test trigger\",\n \t\t\t\t\"triggerId\": \"idn:access-request-pre-approval\"\ - \n \t\t\t}\n \t\t}\n \t]\n }\n" - required: true + - Service Desk Integration + /service-desk-integrations/types: + get: + description: This API endpoint returns the current list of supported Service + Desk integration types. A token with Org Admin or Service Desk Admin authority + is required to access this endpoint. + operationId: getServiceDeskIntegrationTypes responses: - "202": + "200": content: application/json: schema: - $ref: '#/components/schemas/SpConfigJob' - description: Import job accepted and queued for processing. + items: + $ref: '#/components/schemas/ServiceDeskIntegrationTemplateType' + type: array + description: Responds with an array of the currently supported Service Desk + integration types. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' - description: | - Client Error - Returned if the request body is invalid. + description: Client Error - Returned if the request body is invalid. "401": content: application/json: @@ -38045,42 +37974,40 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Initiates configuration objects import job + security: + - UserContextAuth: + - idn:service-desk-admin:read + - idn:service-desk-admin:manage + - idn:service-desk-integration:read + - idn:service-desk-integration:manage + summary: Service Desk Integration Types List. tags: - - SP-Config - /sp-config/import/{id}: + - Service Desk Integration + /service-desk-integrations/templates/{scriptName}: get: - description: |- - This gets the status of the import job identified by the `id` parameter. - For more information about the object types that currently support import functionality, refer to [SaaS Configuration](https://developer.sailpoint.com/idn/docs/saas-configuration/#supported-objects). - The request will need the following security scope: - - sp:config:manage - operationId: getSpConfigImportStatus + description: This API endpoint returns an existing Service Desk integration + template by scriptName. A token with Org Admin or Service Desk Admin authority + is required to access this endpoint. + operationId: getServiceDeskIntegrationTemplate parameters: - - description: The ID of the import job whose status will be returned. - example: ef38f94347e94562b5bb8424a56397d8 + - description: The scriptName value of the Service Desk integration template + to get + explode: false in: path - name: id + name: scriptName required: true schema: + example: aScriptName type: string + style: simple responses: "200": content: application/json: - example: - jobId: 4fb10503-1c49-4603-8f8d-886e1f6aa47b - status: COMPLETE - type: IMPORT - message: Download import results for details. - description: null - expiration: 2021-05-20T16:42:39Z - created: 2021-05-13T16:42:39.333Z - modified: 2021-05-13T16:42:40.71Z - completed: 2021-05-13T16:42:40.705Z schema: - $ref: '#/components/schemas/SpConfigImportJobStatus' - description: Import job status successfully returned. + $ref: '#/components/schemas/ServiceDeskIntegrationTemplateDto' + description: Responds with the ServiceDeskIntegrationTemplateDto with the + specified scriptName. "400": content: application/json: @@ -38157,33 +38084,24 @@ paths: error. security: - UserContextAuth: - - sp:config:manage - summary: Get import job status + - idn:service-desk-admin:read + - idn:service-desk-integration:read + summary: Service Desk integration template by scriptName. tags: - - SP-Config - /sp-config/import/{id}/download: + - Service Desk Integration + /service-desk-integrations/status-check-configuration: get: - description: |- - This gets import file resulting from the import job with the requested id and downloads it to a file. The downloaded file will contain the results of the import operation, including any error, warning or informational messages associated with the import. - The request will need the following security scope: - - sp:config:manage - operationId: getSpConfigImport - parameters: - - description: The ID of the import job whose results will be downloaded. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id - required: true - schema: - type: string + description: Get the time check configuration of queued SDIM tickets. A token + with Org Admin or Service Desk Admin authority is required to access this + endpoint. + operationId: getStatusCheckDetails responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SpConfigImportResults' - description: "Import results JSON object, containing detailed results of\ - \ the import operation." + $ref: '#/components/schemas/QueuedCheckConfigDetails' + description: QueuedCheckConfigDetails containing the configured values "400": content: application/json: @@ -38258,24 +38176,34 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Download import job result + security: + - UserContextAuth: + - idn:service-desk-admin:read + - idn:service-desk-admin:manage + - idn:service-desk-integration:read + - idn:service-desk-integration:manage + summary: Get the time check configuration tags: - - SP-Config - /sp-config/config-objects: - get: - description: This gets the list of object configurations which are known to - the tenant export/import service. Object configurations that contain "importUrl" - and "exportUrl" are available for export/import. - operationId: listSpConfigObjects + - Service Desk Integration + put: + description: Update the time check configuration of queued SDIM tickets. A + token with Org Admin or Service Desk Admin authority is required to access + this endpoint. + operationId: updateStatusCheckDetails + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QueuedCheckConfigDetails' + description: the modified time check configuration + required: true responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/SpConfigObject' - type: array - description: Object configurations returned successfully. + $ref: '#/components/schemas/QueuedCheckConfigDetails' + description: QueuedCheckConfigDetails as updated "400": content: application/json: @@ -38352,123 +38280,27 @@ paths: error. security: - UserContextAuth: - - sp:config:read - - sp:config:manage - summary: Get config object details + - idn:service-desk-admin:manage + - idn:service-desk-integration:manage + summary: Update the time check configuration tags: - - SP-Config - /sources: - get: - description: |- - This end-point lists all the sources in IdentityNow. - - A token with ORG_ADMIN, SOURCE_ADMIN, SOURCE_SUBADMIN, or ROLE_SUBADMIN authority is required to call this API. - operationId: listSources + - Service Desk Integration + /sim-integrations/{id}: + delete: + description: Get the details of a SIM integration. A token with Org Admin or + Service Desk Admin authority is required to access this endpoint. + operationId: deleteSIMIntegration parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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, ge, gt, le, lt, ne, isnull, sw* - - **name**: *co, eq, in, sw, ge, gt, ne, isnull* - - **type**: *eq, in, ge, gt, ne, isnull, sw* - - **owner.id**: *eq, in, ge, gt, le, lt, ne, isnull, sw* - - **features**: *ca, co* - - **created**: *eq* - - **modified**: *eq* - - **managementWorkgroup.id**: *eq, ge, gt, in, le, lt, ne, isnull, sw* - - **description**: *eq, sw* - - **authoritative**: *eq, ne, isnull* - - **healthy**: *isnull* - - **status**: *eq, in, ge, gt, le, lt, ne, isnull, sw* - - **connectionType**: *eq, ge, gt, in, le, lt, ne, isnull, sw* - - **connectorName**: *eq, ge, gt, in, ne, isnull, sw* - - **category**: *co, eq, ge, gt, in, le, lt, ne, sw* - example: name eq "Employees" - in: query - name: filters - schema: - type: string - - 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: **type, created, modified, name, owner.name, healthy, status, id, description, owner.id, accountCorrelationConfig.id, accountCorrelationConfig.name, managerCorrelationRule.type, managerCorrelationRule.id, managerCorrelationRule.name, authoritative, managementWorkgroup.id, connectorName, connectionType** - example: name - in: query - name: sorters - schema: - format: comma-separated - type: string - - description: |- - Filter the returned list of sources for the identity specified by the parameter, which is the id of an identity with the role SOURCE_SUBADMIN. By convention, the value **me** indicates the identity id of the current user. - Subadmins may only view Sources which they are able to administer; all other Sources will be filtered out when this parameter is set. If the current user is a SOURCE_SUBADMIN but fails to pass a valid value for this parameter, a 403 Forbidden is returned. - example: name - in: query - name: for-subadmin + - description: The id of the integration to delete. + example: 12345 + in: path + name: id + required: true schema: type: string responses: "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/Source' - type: array - description: List of Source objects + description: No content response "400": content: application/json: @@ -38545,43 +38377,29 @@ paths: error. security: - UserContextAuth: - - idn:sources:read - summary: Lists all sources in IdentityNow. + - idn:service-desk-admin:write + summary: Delete a SIM integration tags: - - Sources - post: - description: |- - This creates a specific source with a full source JSON representation. Any passwords are submitted as plain-text and encrypted upon receipt in IdentityNow. - A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: createSource + - SIM Integrations + get: + description: Get the details of a SIM integration. A token with Org Admin or + Service Desk Admin authority is required to access this endpoint. + operationId: getSIMIntegration parameters: - - description: "If this parameter is `true`, it configures the source as a Delimited\ - \ File (CSV) source. Setting this to `true` will automatically set the `type`\ - \ of the source to `DelimitedFile`. You must use this query parameter to\ - \ create a Delimited File source as you would in the UI. If you don't set\ - \ this query parameter and you attempt to set the `type` attribute directly,\ - \ the request won't correctly generate the source. " - example: false - in: query - name: provisionAsCsv - required: false - schema: - type: boolean - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Source' + - description: The id of the integration. + example: 12345 + in: path + name: id required: true + schema: + type: string responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/Source' - description: "Created Source object. Any passwords will only show the the\ - \ encrypted cipher-text, as they are not decrypt-able in IdentityNow cloud-based\ - \ services, per IdentityNow security design." + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: The DTO containing the details of the SIM integration "400": content: application/json: @@ -38613,6 +38431,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -38640,40 +38476,36 @@ paths: error. security: - UserContextAuth: - - idn:sources:manage - summary: Creates a source in IdentityNow. + - idn:service-desk-admin:read + summary: Get a SIM integration details. tags: - - Sources - /sources/{id}: - delete: - description: |- - Use this API to delete a specific source in Identity Security Cloud (ISC). - The API removes all the accounts on the source first, and then it deletes the source. You can retrieve the actual task execution status with this method: GET `/task-status/{id}` - A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: delete + - SIM Integrations + patch: + description: Patch a SIM attribute given a JsonPatch object. A token with Org + Admin or Service Desk Admin authority is required to access this endpoint. + operationId: patchSIMAttributes parameters: - - description: Source ID. - example: 2c9180835d191a86015d28455b4a2329 + - description: SIM integration id + example: 12345 in: path name: id required: true schema: type: string + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/JsonPatch' + description: The JsonPatch object that describes the changes of SIM + required: true responses: - "202": + "200": content: application/json: - examples: - deleteSource: - summary: Response returned when a source is being deleted. - value: - type: TASK_RESULT - id: 2c91808779ecf55b0179f720942f181a - name: null schema: - $ref: '#/components/schemas/delete_202_response' - description: Accepted - Returned if the request was successfully accepted - into the system. + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: The updated DTO containing the details of the SIM integration. "400": content: application/json: @@ -38750,30 +38582,36 @@ paths: error. security: - UserContextAuth: - - idn:sources:manage - summary: Delete Source by ID + - idn:service-desk-admin:write + summary: Patch a SIM attribute. tags: - - Sources - get: - description: |- - Use this API to get a source by a specified ID in Identity Security Cloud (ISC). - A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: getSource + - SIM Integrations + put: + description: Update an existing SIM integration. A token with Org Admin or + Service Desk Admin authority is required to access this endpoint. + operationId: putSIMIntegration parameters: - - description: Source ID. - example: 2c9180835d191a86015d28455b4a2329 + - description: The id of the integration. + example: 12345 in: path name: id required: true schema: type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SimIntegrationDetails' + description: The full DTO of the integration containing the updated model + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Source' - description: Source object. + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: details of the updated integration "400": content: application/json: @@ -38850,32 +38688,19 @@ paths: error. security: - UserContextAuth: - - idn:sources:read - summary: Get Source by ID + - idn:service-desk-admin:create + summary: Update an existing SIM integration tags: - - Sources + - SIM Integrations + /sim-integrations/{id}/beforeProvisioningRule: patch: - description: | - Use this API to partially update a source in Identity Security Cloud (ISC), using a list of patch operations according to the - [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. - - These fields are immutable, so they cannot be changed: - * id - * type - * authoritative - * created - * modified - * connector - * connectorClass - * passwordPolicies - - Attempts to modify these fields will result in a 400 error. - - A token with ORG_ADMIN, SOURCE_ADMIN, SOURCE_SUBADMIN, or API authority is required to call this API. - operationId: updateSource + description: Patch a SIM beforeProvisioningRule attribute given a JsonPatch + object. A token with Org Admin or Service Desk Admin authority is required + to access this endpoint. + operationId: patchBeforeProvisioningRule parameters: - - description: Source ID. - example: 2c9180835d191a86015d28455b4a2329 + - description: SIM integration id + example: 12345 in: path name: id required: true @@ -38884,88 +38709,17 @@ paths: requestBody: content: application/json-patch+json: - examples: - Edit the source description: - description: This example shows how to edit a source description. - value: - - op: replace - path: /description - value: new description - Edit the source cluster: - description: This example shows how to edit a source cluster by ID. - value: - - op: replace - path: /cluster/id - value: 2c918087813a902001813f3f85736b45 - Edit source features: - description: This example illustrates how you can update source supported - features. - value: - - op: replace - path: /features - value: - - PASSWORD - - PROVISIONING - - ENABLE - - AUTHENTICATE - Change a source description and cluster in one call: - description: This example shows how multiple fields may be updated - with a single PATCH call. - value: - - op: replace - path: /description - value: new description - - op: replace - path: /cluster/id - value: 2c918087813a902001813f3f85736b45 - Add a filter string to the connector: - description: "This example shows how you can add a filter to incoming\ - \ accounts during the account aggregation process. In the example,\ - \ any account that does not have an \"m\" or \"d\" in the ID will\ - \ be aggregated." - value: - - op: add - path: /connectorAttributes/filterString - value: '!( id.contains( "m" ) ) || !( id.contains( "d" ) )' - Update connector attribute for specific operation type: - description: This example shows how you can update the 3rd object - in the connection parameter's `operationType`. This changes it from - a standard group aggregation to a group aggregation on the "test" - entitlement type. - value: - - op: replace - path: /connectorAttributes/connectionParameters/2/operationType - value: Group Aggregation-test - Enable notifications for new account provisioning on a source: - description: This example shows how you can configure and enable email - notifications that will send when new accounts are provisioned on - a source. - value: - - op: replace - path: /connectorAttributes/accountCreateNotification - value: - notifyList: - - Distribution.list@demo.com - notifyAccountOwner: true - enabled: true - notifyAccountOwnerAltEmail: false schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: "A list of account update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902)\ - \ standard. Any password changes are submitted as plain-text and encrypted\ - \ upon receipt in Identity Security Cloud (ISC)." + $ref: '#/components/schemas/JsonPatch' + description: The JsonPatch object that describes the changes of SIM beforeProvisioningRule. required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Source' - description: "Updated Source object. Any passwords will only show the the\ - \ encrypted cipher-text so that they are not decryptable in Identity Security\ - \ Cloud cloud-based services, per ISC security design." + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: The updated DTO containing the details of the SIM integration. "400": content: application/json: @@ -39042,50 +38796,22 @@ paths: error. security: - UserContextAuth: - - idn:sources:manage - summary: Update Source (Partial) + - idn:service-desk-admin:write + summary: Patch a SIM beforeProvisioningRule attribute. tags: - - Sources - put: - description: | - Use this API to update a source in Identity Security Cloud (ISC), using a full object representation. This means that when you use this API, it completely replaces the existing source configuration. - - These fields are immutable, so they cannot be changed: - - * id - * type - * authoritative - * connector - * connectorClass - * passwordPolicies - - Attempts to modify these fields will result in a 400 error. - - A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: putSource - parameters: - - description: Source ID. - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Source' - required: true + - SIM Integrations + /sim-integrations: + get: + description: List the existing SIM integrations. A token with Org Admin or Service + Desk Admin authority is required to access this endpoint. + operationId: getSIMIntegrations responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Source' - description: "Updated Source object. Any passwords will only show the the\ - \ encrypted cipher-text so that they aren't decryptable in Identity Security\ - \ Cloud (ISC) cloud-based services, per ISC security design." + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: The DTO containing the details of the SIM integration "400": content: application/json: @@ -39162,31 +38888,28 @@ paths: error. security: - UserContextAuth: - - idn:sources:manage - summary: Update Source (Full) + - idn:service-desk-admin:read + summary: List the existing SIM integrations. tags: - - Sources - /sources/{id}/attribute-sync-config: - get: - description: |- - This API returns the existing attribute synchronization configuration for a source specified by the given ID. The response contains all attributes, regardless of whether they enabled or not. - A token with ORG_ADMIN or HELPDESK authority is required to call this API. - operationId: getSourceAttrSyncConfig - parameters: - - description: The source id - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: id + - SIM Integrations + post: + description: Create a new SIM Integrations. A token with Org Admin or Service + Desk Admin authority is required to access this endpoint. + operationId: createSIMIntegration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SimIntegrationDetails' + description: DTO containing the details of the SIM integration required: true - schema: - type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/AttrSyncSourceConfig' - description: Attribute synchronization configuration for a source + $ref: '#/components/schemas/ServiceDeskIntegrationDto' + description: details of the created integration "400": content: application/json: @@ -39263,46 +38986,120 @@ paths: error. security: - UserContextAuth: - - idn:attr-sync-source-config:read - - idn:attr-sync-source-config:manage - summary: Attribute Sync Config + - idn:service-desk-admin:create + summary: Create new SIM integration tags: - - Sources - put: - description: "Replaces the attribute synchronization configuration for the source\ - \ specified by the given ID with the configuration provided in the request\ - \ body. Only the \"enabled\" field of the values in the \"attributes\" array\ - \ is mutable. Attempting to change other attributes or add new values to the\ - \ \"attributes\" array will result in an error.\n \nA token with ORG_ADMIN\ - \ authority is required to call this API." - operationId: putSourceAttrSyncConfig - parameters: - - description: The source id - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: id - required: true - schema: - type: string + - SIM Integrations + /sp-config/export: + post: + description: |- + This post will export objects from the tenant to a JSON configuration file. + For more information about the object types that currently support export functionality, refer to [SaaS Configuration](https://developer.sailpoint.com/idn/docs/saas-configuration/#supported-objects). + operationId: exportSpConfig requestBody: content: application/json: + examples: + Export all objects available: + description: Export all object types available in IDN. + value: + description: Export all available objects + excludeTypes: [] + includeTypes: + - ACCESS_PROFILE + - ACCESS_REQUEST_CONFIG + - ATTR_SYNC_SOURCE_CONFIG + - AUTH_ORG + - CAMPAIGN_FILTER + - FORM_DEFINITION + - GOVERNANCE_GROUP + - IDENTITY_OBJECT_CONFIG + - IDENTITY_PROFILE + - LIFECYCLE_STATE + - NOTIFICATION_TEMPLATE + - PASSWORD_POLICY + - PASSWORD_SYNC_GROUP + - PUBLIC_IDENTITIES_CONFIG + - ROLE + - RULE + - SEGMENT + - SERVICE_DESK_INTEGRATION + - SOD_POLICY + - SOURCE + - TAG + - TRANSFORM + - TRIGGER_SUBSCRIPTION + - WORKFLOW + objectOptions: {} + Export sources by ID: + description: Export only sources that match the IDs specified in the + export options. + value: + description: Export sources by ID + excludeTypes: [] + includeTypes: + - SOURCE + objectOptions: + SOURCE: + includedIds: + - be9e116d-08e1-49fc-ab7f-fa585e96c9e4 + - be9p119e-90e1-49pk-ac9f-fa576e96c9e4 + includedNames: [] + Export transforms by name: + description: Export only transforms that match the names specified + in the export options. + value: + description: Export transforms by name + excludeTypes: [] + includeTypes: + - TRANSFORM + objectOptions: + TRANSFORM: + includedIds: [] + includedNames: + - Remove Diacritical Marks + - Common - Location Lookup + Export trigger subscriptions triggers and transforms with custom options: + description: Export trigger subscriptions and transforms that match + the export options. + value: + description: Export trigger subscriptions and transforms with custom + filter options + excludeTypes: [] + includeTypes: + - TRANSFORM + - TRIGGER_SUBSCRIPTION + objectOptions: + TRANSFORM: + includedIds: [] + includedNames: + - Remove Diacritical Marks + - Common - Location Lookup + TRIGGER_SUBSCRIPTION: + includedIds: + - be9e116d-08e1-49fc-ab7f-fa585e96c9e4 + - be9p119e-90e1-49pk-ac9f-fa576e96c9e4 + includedNames: + - "NGROK Test: fire and forget" + - Manager Certification schema: - $ref: '#/components/schemas/AttrSyncSourceConfig' + $ref: '#/components/schemas/ExportPayload' + description: Export options control what will be included in the export. required: true responses: - "200": + "202": content: application/json: schema: - $ref: '#/components/schemas/AttrSyncSourceConfig' - description: Updated attribute synchronization configuration for a source + $ref: '#/components/schemas/SpConfigExportJob' + description: Export job accepted and queued for processing. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + description: | + Client Error - Returned if the request body is invalid. "401": content: application/json: @@ -39373,21 +39170,23 @@ paths: error. security: - UserContextAuth: - - idn:attr-sync-source-config:manage - summary: Update Attribute Sync Config + - sp:config:read + - sp:config:manage + summary: Initiates configuration objects export job tags: - - Sources - /sources/{sourceId}/connector/check-connection: - post: + - SP-Config + /sp-config/export/{id}: + get: description: |- - This endpoint validates that the configured credentials are valid and will properly authenticate with the source identified by the sourceId path parameter. - A token with ORG_ADMIN authority is required to call this API. - operationId: testSourceConnection + This gets the status of the export job identified by the `id` parameter. + The request will need one of the following security scopes: + - sp:config:read - sp:config:manage + operationId: getSpConfigExportStatus parameters: - - description: The ID of the Source. - example: cef3ee201db947c5912551015ba0c679 + - description: The ID of the export job whose status will be returned. + example: ef38f94347e94562b5bb8424a56397d8 in: path - name: sourceId + name: id required: true schema: type: string @@ -39395,10 +39194,19 @@ paths: "200": content: application/json: + example: + jobId: 1e824aa0-4c6e-4f14-95e9-e7dc5234aa51 + status: COMPLETE + type: EXPORT + message: null + description: Export Job 1 Test + expiration: 2021-05-20T15:04:24Z + created: 2021-05-13T15:04:24.112Z + modified: 2021-05-13T15:04:27.363Z + completed: 2021-05-13T15:04:27.358Z schema: - $ref: '#/components/schemas/StatusResponse' - description: The result of checking connection to the source connector with - response from it. + $ref: '#/components/schemas/SpConfigExportJobStatus' + description: Export job status successfully returned. "400": content: application/json: @@ -39475,37 +39283,33 @@ paths: error. security: - UserContextAuth: - - idn:source-connector:manage - summary: Check connection for source connector. + - sp:config:read + - sp:config:manage + summary: Get export job status tags: - - Sources - /sources/{sourceId}/connector/peek-resource-objects: - post: + - SP-Config + /sp-config/export/{id}/download: + get: description: |- - Retrieves a sample of data returned from account and group aggregation requests. - A token with ORG_ADMIN authority is required to call this API. - operationId: peekResourceObjects + This endpoint gets the export file resulting from the export job with the requested `id` and downloads it to a file. + The request will need one of the following security scopes: + - sp:config:read - sp:config:manage + operationId: getSpConfigExport parameters: - - description: The ID of the Source - example: cef3ee201db947c5912551015ba0c679 + - description: The ID of the export job whose results will be downloaded. + example: ef38f94347e94562b5bb8424a56397d8 in: path - name: sourceId + name: id required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceObjectsRequest' - required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ResourceObjectsResponse' - description: List of resource objects that was fetched from the source connector. + $ref: '#/components/schemas/SpConfigExportResults' + description: Exported JSON objects. "400": content: application/json: @@ -39580,39 +39384,103 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:source-connector:manage - summary: Peek source connector's resource objects + summary: Download export job result. tags: - - Sources - /sources/{sourceId}/connector/ping-cluster: + - SP-Config + /sp-config/import: post: - description: |- - This endpoint validates that the cluster being used by the source is reachable from IdentityNow. - A token with ORG_ADMIN authority is required to call this API. - operationId: pingCluster + description: "This post will import objects from a JSON configuration file into\ + \ a tenant. By default, every import will first export all existing objects\ + \ supported by sp-config as a backup before the import is attempted. The backup\ + \ is provided so that the state of the configuration prior to the import is\ + \ available for inspection or restore if needed. The backup can be skipped\ + \ by setting \"excludeBackup\" to true in the import options. If a backup\ + \ is performed, the id of the backup will be provided in the ImportResult\ + \ as the \"exportJobId\". This can be downloaded using the /sp-config/export/{exportJobId}/download\ + \ endpoint.\nYou cannot currently import from the Non-Employee Lifecycle Management\ + \ (NELM) source. You cannot use this endpoint to back up or store NELM data.\ + \ \nFor more information about the object types that currently support import\ + \ functionality, refer to [SaaS Configuration](https://developer.sailpoint.com/idn/docs/saas-configuration/#supported-objects).\n\ + The request will need the following security scope:\n- sp:config:manage" + operationId: importSpConfig parameters: - - description: The ID of the Source - example: cef3ee201db947c5912551015ba0c679 - in: path - name: sourceId - required: true + - description: "This option is intended to give the user information about how\ + \ an import operation would proceed, without having any effect on the target\ + \ tenant. If this parameter is \"true\", no objects will be imported. Instead,\ + \ the import process will pre-process the import file and attempt to resolve\ + \ references within imported objects. The import result file will contain\ + \ messages pertaining to how specific references were resolved, any errors\ + \ associated with the preprocessing, and messages indicating which objects\ + \ would be imported." + example: "true" + in: query + name: preview + required: false schema: - type: string + default: false + type: boolean + requestBody: + content: + multipart/form-data: + example: + data: config_export_0340b957-5caa-44f6-ada2-d3c4c5bd0b19.json + options: + excludeTypes: [] + includeTypes: + - TRIGGER_SUBSCRIPTION + objectOptions: + TRIGGER_SUBSCRIPTION: + includedIds: + - be9e116d-08e1-49fc-ab7f-fa585e96c9e4 + includedNames: + - Lori Test 2 + defaultReferences: + - type: TRIGGER_SUBSCRIPTION + id: be9e116d-08e1-49fc-ab7f-fa585e96c9e4 + name: Test Trigger + excludeBackup: false + schema: + $ref: '#/components/schemas/importSpConfig_request' + description: "The form-data \"name\" attribute for the file content must be\ + \ \"data\".\n\n__Example__\n\n data: \"config_export_0340b957-5caa-44f6-ada2-d3c4c5bd0b19.json\"\ + ,\n options: {\n \"excludeTypes\": [],\n \"includeTypes\":\ + \ [\"TRIGGER_SUBSCRIPTION\"],\n \"objectOptions\": {\n \"TRIGGER_SUBSCRIPTION\"\ + : {\n \"includedIds\": [ \"193446a1-c431-4326-8ba7-d6eebf922948\"\ + ],\n \"includedNames\":[]\n }\n },\n \"defaultReferences\"\ + : [\n {\n \"type\": \"TRIGGER_SUBSCRIPTION\",\n \ + \ \"id\": \"be9e116d-08e1-49fc-ab7f-fa585e96c9e4\",\n \"name\"\ + : \"Test Trigger\"\n }\n ],\n \"excludeBackup\": false\n\ + \ }\n\n__Sample Import File__\n\n {\n \t\"version\": 1,\n \t\ + \"timestamp\": \"2021-05-10T15:19:23.425041-05:00\",\n \t\"tenant\":\ + \ \"sampleTenant\",\n \t\"options\": {\n \t\t\"excludeTypes\": [],\n\ + \ \t\t\"includeTypes\": [\"TRIGGER_SUBSCRIPTION\"],\n \t\t\"objectOptions\"\ + : null\n \t},\n \t\"objects\": [{\n \t\t\t\"version\": 1,\n \ + \ \t\t\t\"self\": {\n \t\t\t\t\"type\": \"TRIGGER_SUBSCRIPTION\",\n \ + \ \t\t\t\t\"name\": \"test trigger\",\n \t\t\t\t\"id\": \"193446a1-c431-4326-8ba7-d6eebf922948\"\ + \n \t\t\t},\n \t\t\t\"object\": {\n \t\t\t\t\"type\": \"HTTP\"\ + ,\n \t\t\t\t\"enabled\": true,\n \t\t\t\t\"httpConfig\": {\n \t\ + \t\t\t\t\"url\": \"https://localhost\",\n \t\t\t\t\t\"httpAuthenticationType\"\ + : \"NO_AUTH\",\n \t\t\t\t\t\"basicAuthConfig\": null,\n \t\t\t\t\t\ + \"bearerTokenAuthConfig\": null,\n \t\t\t\t\t\"httpDispatchMode\": \"\ + SYNC\"\n \t\t\t\t},\n \t\t\t\t\"triggerName\": \"Access Request Submitted\"\ + ,\n \t\t\t\t\"responseDeadline\": \"PT1H\",\n \t\t\t\t\"name\": \"\ + test trigger\",\n \t\t\t\t\"triggerId\": \"idn:access-request-pre-approval\"\ + \n \t\t\t}\n \t\t}\n \t]\n }\n" + required: true responses: - "200": + "202": content: application/json: schema: - $ref: '#/components/schemas/StatusResponse' - description: The result of pinging connection with the source connector. + $ref: '#/components/schemas/SpConfigJob' + description: Import job accepted and queued for processing. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + description: | + Client Error - Returned if the request body is invalid. "401": content: application/json: @@ -39681,23 +39549,22 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:source-connector:manage - summary: Ping cluster for source connector + summary: Initiates configuration objects import job tags: - - Sources - /sources/{sourceId}/connector/test-configuration: - post: + - SP-Config + /sp-config/import/{id}: + get: description: |- - This endpoint performs a more detailed validation of the source's configuration that can take longer than the lighter weight credential validation performed by the checkConnection API. - A token with ORG_ADMIN authority is required to call this API. - operationId: testSourceConfiguration + This gets the status of the import job identified by the `id` parameter. + For more information about the object types that currently support import functionality, refer to [SaaS Configuration](https://developer.sailpoint.com/idn/docs/saas-configuration/#supported-objects). + The request will need the following security scope: + - sp:config:manage + operationId: getSpConfigImportStatus parameters: - - description: The ID of the Source - example: cef3ee201db947c5912551015ba0c679 + - description: The ID of the import job whose status will be returned. + example: ef38f94347e94562b5bb8424a56397d8 in: path - name: sourceId + name: id required: true schema: type: string @@ -39705,10 +39572,19 @@ paths: "200": content: application/json: + example: + jobId: 4fb10503-1c49-4603-8f8d-886e1f6aa47b + status: COMPLETE + type: IMPORT + message: Download import results for details. + description: null + expiration: 2021-05-20T16:42:39Z + created: 2021-05-13T16:42:39.333Z + modified: 2021-05-13T16:42:40.71Z + completed: 2021-05-13T16:42:40.705Z schema: - $ref: '#/components/schemas/StatusResponse' - description: The result of testing source connector configuration with response - from it. + $ref: '#/components/schemas/SpConfigImportJobStatus' + description: Import job status successfully returned. "400": content: application/json: @@ -39785,56 +39661,39 @@ paths: error. security: - UserContextAuth: - - idn:source-connector:manage - summary: Test configuration for source connector + - sp:config:manage + summary: Get import job status tags: - - Sources - /sources/{id}/connectors/source-config: + - SP-Config + /sp-config/import/{id}/download: get: description: |- - Looks up and returns the source config for the requested source id after populating the source config values and applying language translations. - A token with ORG_ADMIN authority is required to call this API. - operationId: getSourceConfig + This gets import file resulting from the import job with the requested id and downloads it to a file. The downloaded file will contain the results of the import operation, including any error, warning or informational messages associated with the import. + The request will need the following security scope: + - sp:config:manage + operationId: getSpConfigImport parameters: - - description: The Source id + - description: The ID of the import job whose results will be downloaded. + example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true schema: type: string - - description: "The locale to apply to the config. If no viable locale is given,\ - \ it will default to \"en\"" - in: query - name: locale - schema: - enum: - - de - - "false" - - fi - - sv - - ru - - pt - - ko - - zh-TW - - en - - it - - fr - - zh-CN - - hu - - es - - cs - - ja - - pl - - da - - nl - type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ConnectorDetail' - description: A Connector Detail object + $ref: '#/components/schemas/SpConfigImportResults' + description: "Import results JSON object, containing detailed results of\ + \ the import operation." + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: @@ -39903,27 +39762,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Gets source config with language translations + summary: Download import job result tags: - - Sources - /sources/{sourceId}/native-change-detection-config: - delete: - description: |- - Deletes the native change detection configuration for the source specified by the given ID. - A token with API, or ORG_ADMIN authority is required to call this API. - operationId: deleteNativeChangeDetectionConfig - parameters: - - description: The source id - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: id - required: true - schema: - type: string + - SP-Config + /sp-config/config-objects: + get: + description: This gets the list of object configurations which are known to + the tenant export/import service. Object configurations that contain "importUrl" + and "exportUrl" are available for export/import. + operationId: listSpConfigObjects responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SpConfigObject' + type: array + description: Object configurations returned successfully. "400": content: application/json: @@ -40000,40 +39856,133 @@ paths: error. security: - UserContextAuth: - - idn:sources:update - summary: Delete Native Change Detection Configuration + - sp:config:read + - sp:config:manage + summary: Get config object details tags: - - Sources + - SP-Config + /sources: get: description: |- - This API returns the existing native change detection configuration for a source specified by the given ID. - A token with ORG_ADMIN authority is required to call this API. - operationId: getNativeChangeDetectionConfig + This end-point lists all the sources in IdentityNow. + + A token with ORG_ADMIN, SOURCE_ADMIN, SOURCE_SUBADMIN, or ROLE_SUBADMIN authority is required to call this API. + operationId: listSources parameters: - - description: The source id - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: id - required: true + - 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. + example: 250 + in: query + name: limit + required: false schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/NativeChangeDetectionConfig' - description: Native change detection configuration for a source - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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, ge, gt, le, lt, ne, isnull, sw* + + **name**: *co, eq, in, sw, ge, gt, ne, isnull* + + **type**: *eq, in, ge, gt, ne, isnull, sw* + + **owner.id**: *eq, in, ge, gt, le, lt, ne, isnull, sw* + + **features**: *ca, co* + + **created**: *eq* + + **modified**: *eq* + + **managementWorkgroup.id**: *eq, ge, gt, in, le, lt, ne, isnull, sw* + + **description**: *eq, sw* + + **authoritative**: *eq, ne, isnull* + + **healthy**: *isnull* + + **status**: *eq, in, ge, gt, le, lt, ne, isnull, sw* + + **connectionType**: *eq, ge, gt, in, le, lt, ne, isnull, sw* + + **connectorName**: *eq, ge, gt, in, ne, isnull, sw* + + **category**: *co, eq, ge, gt, in, le, lt, ne, sw* + example: name eq "Employees" + in: query + name: filters + schema: + type: string + - 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: **type, created, modified, name, owner.name, healthy, status, id, description, owner.id, accountCorrelationConfig.id, accountCorrelationConfig.name, managerCorrelationRule.type, managerCorrelationRule.id, managerCorrelationRule.name, authoritative, managementWorkgroup.id, connectorName, connectionType** + example: name + in: query + name: sorters + schema: + format: comma-separated + type: string + - description: |- + Filter the returned list of sources for the identity specified by the parameter, which is the id of an identity with the role SOURCE_SUBADMIN. By convention, the value **me** indicates the identity id of the current user. + Subadmins may only view Sources which they are able to administer; all other Sources will be filtered out when this parameter is set. If the current user is a SOURCE_SUBADMIN but fails to pass a valid value for this parameter, a 403 Forbidden is returned. + example: name + in: query + name: for-subadmin + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Source' + type: array + description: List of Source objects + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' description: "Unauthorized - Returned if there is no authorization header,\ \ or if the JWT token is expired." @@ -40101,35 +40050,42 @@ paths: security: - UserContextAuth: - idn:sources:read - summary: Native Change Detection Configuration + summary: Lists all sources in IdentityNow. tags: - Sources - put: - description: "Replaces the native change detection configuration for the source\ - \ specified by the given ID with the configuration provided in the request\ - \ body.\n \nA token with ORG_ADMIN authority is required to call this API." - operationId: putNativeChangeDetectionConfig + post: + description: |- + This creates a specific source with a full source JSON representation. Any passwords are submitted as plain-text and encrypted upon receipt in IdentityNow. + A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: createSource parameters: - - description: The source id - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: id - required: true + - description: "If this parameter is `true`, it configures the source as a Delimited\ + \ File (CSV) source. Setting this to `true` will automatically set the `type`\ + \ of the source to `DelimitedFile`. You must use this query parameter to\ + \ create a Delimited File source as you would in the UI. If you don't set\ + \ this query parameter and you attempt to set the `type` attribute directly,\ + \ the request won't correctly generate the source. " + example: false + in: query + name: provisionAsCsv + required: false schema: - type: string + type: boolean requestBody: content: application/json: schema: - $ref: '#/components/schemas/NativeChangeDetectionConfig' + $ref: '#/components/schemas/Source' required: true responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/NativeChangeDetectionConfig' - description: Updated native change detection configuration for a source + $ref: '#/components/schemas/Source' + description: "Created Source object. Any passwords will only show the the\ + \ encrypted cipher-text, as they are not decrypt-able in IdentityNow cloud-based\ + \ services, per IdentityNow security design." "400": content: application/json: @@ -40161,24 +40117,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -40206,33 +40144,40 @@ paths: error. security: - UserContextAuth: - - idn:sources:update - summary: Update Native Change Detection Configuration + - idn:sources:manage + summary: Creates a source in IdentityNow. tags: - Sources - /sources/{sourceId}/provisioning-policies: - get: + /sources/{id}: + delete: description: |- - This end-point lists all the ProvisioningPolicies in IdentityNow. - A token with API, or ORG_ADMIN authority is required to call this API. - operationId: listProvisioningPolicies + Use this API to delete a specific source in Identity Security Cloud (ISC). + The API removes all the accounts on the source first, and then it deletes the source. You can retrieve the actual task execution status with this method: GET `/task-status/{id}` + A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: delete parameters: - - description: The Source id + - description: Source ID. example: 2c9180835d191a86015d28455b4a2329 in: path - name: sourceId + name: id required: true schema: type: string responses: - "200": + "202": content: application/json: + examples: + deleteSource: + summary: Response returned when a source is being deleted. + value: + type: TASK_RESULT + id: 2c91808779ecf55b0179f720942f181a + name: null schema: - items: - $ref: '#/components/schemas/ProvisioningPolicyDto' - type: array - description: List of ProvisioningPolicyDto objects + $ref: '#/components/schemas/delete_202_response' + description: Accepted - Returned if the request was successfully accepted + into the system. "400": content: application/json: @@ -40309,107 +40254,30 @@ paths: error. security: - UserContextAuth: - - idn:provisioning-policy:read - - idn:provisioning-policy:manage - summary: Lists ProvisioningPolicies + - idn:sources:manage + summary: Delete Source by ID tags: - Sources - post: + get: description: |- - This API generates a create policy/template based on field value transforms. This API is intended for use when setting up JDBC Provisioning type sources, but it will also work on other source types. - Transforms can be used in the provisioning policy to create a new attribute that you only need during provisioning. - Refer to [Transforms in Provisioning Policies](https://developer.sailpoint.com/idn/docs/transforms/guides/transforms-in-provisioning-policies) for more information. - A token with ORG_ADMIN authority is required to call this API. - operationId: createProvisioningPolicy + Use this API to get a source by a specified ID in Identity Security Cloud (ISC). + A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: getSource parameters: - - description: The Source id + - description: Source ID. example: 2c9180835d191a86015d28455b4a2329 in: path - name: sourceId + name: id required: true schema: type: string - requestBody: - content: - application/json: - examples: - Create Account Provisioning Policy: - value: - name: Account - description: Account Provisioning Policy - usageType: CREATE - fields: - - name: displayName - transform: - type: identityAttribute - attributes: - name: displayName - attributes: {} - isRequired: false - type: string - isMultiValued: false - - name: distinguishedName - transform: - type: usernameGenerator - attributes: - sourceCheck: true - patterns: - - "CN=$fi $ln,OU=zzUsers,OU=Demo,DC=seri,DC=sailpointdemo,DC=com" - - "CN=$fti $ln,OU=zzUsers,OU=Demo,DC=seri,DC=sailpointdemo,DC=com" - - "CN=$fn $ln,OU=zzUsers,OU=Demo,DC=seri,DC=sailpointdemo,DC=com" - - "CN=$fn$ln${uniqueCounter},OU=zzUsers,OU=Demo,DC=seri,DC=sailpointdemo,DC=com" - fn: - type: identityAttribute - attributes: - name: firstname - ln: - type: identityAttribute - attributes: - name: lastname - fi: - type: substring - attributes: - input: - type: identityAttribute - attributes: - name: firstname - begin: 0.0 - end: 1.0 - fti: - type: substring - attributes: - input: - type: identityAttribute - attributes: - name: firstname - begin: 0.0 - end: 2.0 - attributes: - cloudMaxUniqueChecks: "5" - cloudMaxSize: "100" - cloudRequired: "true" - isRequired: false - type: "" - isMultiValued: false - - name: description - transform: - type: static - attributes: - value: "" - attributes: {} - isRequired: false - type: string - isMultiValued: false - schema: - $ref: '#/components/schemas/ProvisioningPolicyDto' - required: true responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/ProvisioningPolicyDto' - description: Created ProvisioningPolicyDto object + $ref: '#/components/schemas/Source' + description: Source object. "400": content: application/json: @@ -40486,52 +40354,122 @@ paths: error. security: - UserContextAuth: - - idn:provisioning-policy:manage - summary: Create Provisioning Policy + - idn:sources:read + summary: Get Source by ID tags: - Sources - /sources/{sourceId}/provisioning-policies/{usageType}: - delete: - description: |- - Deletes the provisioning policy with the specified usage on an application. - A token with API, or ORG_ADMIN authority is required to call this API. - operationId: deleteProvisioningPolicy + patch: + description: | + Use this API to partially update a source in Identity Security Cloud (ISC), using a list of patch operations according to the + [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + + These fields are immutable, so they cannot be changed: + * id + * type + * authoritative + * created + * modified + * connector + * connectorClass + * passwordPolicies + + Attempts to modify these fields will result in a 400 error. + + A token with ORG_ADMIN, SOURCE_ADMIN, SOURCE_SUBADMIN, or API authority is required to call this API. + operationId: updateSource parameters: - - description: The Source ID. + - description: Source ID. example: 2c9180835d191a86015d28455b4a2329 in: path - name: sourceId + name: id required: true schema: type: string - - description: "The type of provisioning policy usage. \nIn IdentityNow, a source\ - \ can support various provisioning operations. For example, when a joiner\ - \ is added to a source, this may trigger both CREATE and UPDATE provisioning\ - \ operations. Each usage type is considered a provisioning policy. A source\ - \ can have any number of these provisioning policies defined. \nThese are\ - \ the common usage types: \nCREATE - This usage type relates to 'Create\ - \ Account Profile', the provisioning template for the account to be created.\ - \ For example, this would be used for a joiner on a source. \nUPDATE -\ - \ This usage type relates to 'Update Account Profile', the provisioning\ - \ template for the 'Update' connector operations. For example, this would\ - \ be used for an attribute sync on a source.\nENABLE - This usage type relates\ - \ to 'Enable Account Profile', the provisioning template for the account\ - \ to be enabled. For example, this could be used for a joiner on a source\ - \ once the joiner's account is created. \nDISABLE - This usage type relates\ - \ to 'Disable Account Profile', the provisioning template for the account\ - \ to be disabled. For example, this could be used when a leaver is removed\ - \ temporarily from a source. \nYou can use these four usage types for all\ - \ your provisioning policy needs. " - example: CREATE - in: path - name: usageType + requestBody: + content: + application/json-patch+json: + examples: + Edit the source description: + description: This example shows how to edit a source description. + value: + - op: replace + path: /description + value: new description + Edit the source cluster: + description: This example shows how to edit a source cluster by ID. + value: + - op: replace + path: /cluster/id + value: 2c918087813a902001813f3f85736b45 + Edit source features: + description: This example illustrates how you can update source supported + features. + value: + - op: replace + path: /features + value: + - PASSWORD + - PROVISIONING + - ENABLE + - AUTHENTICATE + Change a source description and cluster in one call: + description: This example shows how multiple fields may be updated + with a single PATCH call. + value: + - op: replace + path: /description + value: new description + - op: replace + path: /cluster/id + value: 2c918087813a902001813f3f85736b45 + Add a filter string to the connector: + description: "This example shows how you can add a filter to incoming\ + \ accounts during the account aggregation process. In the example,\ + \ any account that does not have an \"m\" or \"d\" in the ID will\ + \ be aggregated." + value: + - op: add + path: /connectorAttributes/filterString + value: '!( id.contains( "m" ) ) || !( id.contains( "d" ) )' + Update connector attribute for specific operation type: + description: This example shows how you can update the 3rd object + in the connection parameter's `operationType`. This changes it from + a standard group aggregation to a group aggregation on the "test" + entitlement type. + value: + - op: replace + path: /connectorAttributes/connectionParameters/2/operationType + value: Group Aggregation-test + Enable notifications for new account provisioning on a source: + description: This example shows how you can configure and enable email + notifications that will send when new accounts are provisioned on + a source. + value: + - op: replace + path: /connectorAttributes/accountCreateNotification + value: + notifyList: + - Distribution.list@demo.com + notifyAccountOwner: true + enabled: true + notifyAccountOwnerAltEmail: false + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: "A list of account update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902)\ + \ standard. Any password changes are submitted as plain-text and encrypted\ + \ upon receipt in Identity Security Cloud (ISC)." required: true - schema: - $ref: '#/components/schemas/UsageType' responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/Source' + description: "Updated Source object. Any passwords will only show the the\ + \ encrypted cipher-text so that they are not decryptable in Identity Security\ + \ Cloud cloud-based services, per ISC security design." "400": content: application/json: @@ -40608,54 +40546,50 @@ paths: error. security: - UserContextAuth: - - idn:provisioning-policy:manage - summary: Delete Provisioning Policy by UsageType + - idn:sources:manage + summary: Update Source (Partial) tags: - Sources - get: - description: |- - This end-point retrieves the ProvisioningPolicy with the specified usage on the specified Source in IdentityNow. - A token with API, ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: getProvisioningPolicy + put: + description: | + Use this API to update a source in Identity Security Cloud (ISC), using a full object representation. This means that when you use this API, it completely replaces the existing source configuration. + + These fields are immutable, so they cannot be changed: + + * id + * type + * authoritative + * connector + * connectorClass + * passwordPolicies + + Attempts to modify these fields will result in a 400 error. + + A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: putSource parameters: - - description: The Source ID. + - description: Source ID. example: 2c9180835d191a86015d28455b4a2329 in: path - name: sourceId + name: id required: true schema: type: string - - description: "The type of provisioning policy usage. \nIn IdentityNow, a source\ - \ can support various provisioning operations. For example, when a joiner\ - \ is added to a source, this may trigger both CREATE and UPDATE provisioning\ - \ operations. Each usage type is considered a provisioning policy. A source\ - \ can have any number of these provisioning policies defined. \nThese are\ - \ the common usage types: \nCREATE - This usage type relates to 'Create\ - \ Account Profile', the provisioning template for the account to be created.\ - \ For example, this would be used for a joiner on a source. \nUPDATE -\ - \ This usage type relates to 'Update Account Profile', the provisioning\ - \ template for the 'Update' connector operations. For example, this would\ - \ be used for an attribute sync on a source.\nENABLE - This usage type relates\ - \ to 'Enable Account Profile', the provisioning template for the account\ - \ to be enabled. For example, this could be used for a joiner on a source\ - \ once the joiner's account is created. \nDISABLE - This usage type relates\ - \ to 'Disable Account Profile', the provisioning template for the account\ - \ to be disabled. For example, this could be used when a leaver is removed\ - \ temporarily from a source. \nYou can use these four usage types for all\ - \ your provisioning policy needs. " - example: CREATE - in: path - name: usageType + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Source' required: true - schema: - $ref: '#/components/schemas/UsageType' responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ProvisioningPolicyDto' - description: The requested ProvisioningPolicyDto was successfully retrieved. + $ref: '#/components/schemas/Source' + description: "Updated Source object. Any passwords will only show the the\ + \ encrypted cipher-text so that they aren't decryptable in Identity Security\ + \ Cloud (ISC) cloud-based services, per ISC security design." "400": content: application/json: @@ -40732,84 +40666,31 @@ paths: error. security: - UserContextAuth: - - idn:provisioning-policy:read - - idn:provisioning-policy-source:read - - idn:provisioning-policy:manage - - idn:provisioning-policy-source-admin-operations:manage - summary: Get Provisioning Policy by UsageType + - idn:sources:manage + summary: Update Source (Full) tags: - Sources - patch: - description: |- - This API selectively updates an existing Provisioning Policy using a JSONPatch payload. - Transforms can be used in the provisioning policy to create a new attribute that you only need during provisioning. - Refer to [Transforms in Provisioning Policies](https://developer.sailpoint.com/idn/docs/transforms/guides/transforms-in-provisioning-policies) for more information. - A token with API, ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: updateProvisioningPolicy + /sources/{id}/attribute-sync-config: + get: + description: |- + This API returns the existing attribute synchronization configuration for a source specified by the given ID. The response contains all attributes, regardless of whether they enabled or not. + A token with ORG_ADMIN or HELPDESK authority is required to call this API. + operationId: getSourceAttrSyncConfig parameters: - - description: The Source id. + - description: The source id example: 2c9180835d191a86015d28455b4a2329 in: path - name: sourceId + name: id required: true schema: type: string - - description: "The type of provisioning policy usage. \nIn IdentityNow, a source\ - \ can support various provisioning operations. For example, when a joiner\ - \ is added to a source, this may trigger both CREATE and UPDATE provisioning\ - \ operations. Each usage type is considered a provisioning policy. A source\ - \ can have any number of these provisioning policies defined. \nThese are\ - \ the common usage types: \nCREATE - This usage type relates to 'Create\ - \ Account Profile', the provisioning template for the account to be created.\ - \ For example, this would be used for a joiner on a source. \nUPDATE -\ - \ This usage type relates to 'Update Account Profile', the provisioning\ - \ template for the 'Update' connector operations. For example, this would\ - \ be used for an attribute sync on a source.\nENABLE - This usage type relates\ - \ to 'Enable Account Profile', the provisioning template for the account\ - \ to be enabled. For example, this could be used for a joiner on a source\ - \ once the joiner's account is created. \nDISABLE - This usage type relates\ - \ to 'Disable Account Profile', the provisioning template for the account\ - \ to be disabled. For example, this could be used when a leaver is removed\ - \ temporarily from a source. \nYou can use these four usage types for all\ - \ your provisioning policy needs. " - example: CREATE - in: path - name: usageType - required: true - schema: - $ref: '#/components/schemas/UsageType' - requestBody: - content: - application/json-patch+json: - examples: - add-field: - summary: Add a field to the beginning of the list - value: - - op: add - path: /fields/0 - value: - name: email - transform: - type: identityAttribute - attributes: - name: email - attributes: {} - isRequired: false - type: string - isMultiValued: false - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: The JSONPatch payload used to update the schema. - required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ProvisioningPolicyDto' - description: The ProvisioningPolicyDto was successfully updated. + $ref: '#/components/schemas/AttrSyncSourceConfig' + description: Attribute synchronization configuration for a source "400": content: application/json: @@ -40886,62 +40767,40 @@ paths: error. security: - UserContextAuth: - - idn:provisioning-policy:update - summary: Partial update of Provisioning Policy + - idn:attr-sync-source-config:read + - idn:attr-sync-source-config:manage + summary: Attribute Sync Config tags: - Sources put: - description: |- - This end-point updates the provisioning policy with the specified usage on the specified source in IdentityNow. - Transforms can be used in the provisioning policy to create a new attribute that you only need during provisioning. - Refer to [Transforms in Provisioning Policies](https://developer.sailpoint.com/idn/docs/transforms/guides/transforms-in-provisioning-policies) for more information. - A token with API, ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: putProvisioningPolicy + description: "Replaces the attribute synchronization configuration for the source\ + \ specified by the given ID with the configuration provided in the request\ + \ body. Only the \"enabled\" field of the values in the \"attributes\" array\ + \ is mutable. Attempting to change other attributes or add new values to the\ + \ \"attributes\" array will result in an error.\n \nA token with ORG_ADMIN\ + \ authority is required to call this API." + operationId: putSourceAttrSyncConfig parameters: - - description: The Source ID. + - description: The source id example: 2c9180835d191a86015d28455b4a2329 in: path - name: sourceId + name: id required: true schema: type: string - - description: "The type of provisioning policy usage. \nIn IdentityNow, a source\ - \ can support various provisioning operations. For example, when a joiner\ - \ is added to a source, this may trigger both CREATE and UPDATE provisioning\ - \ operations. Each usage type is considered a provisioning policy. A source\ - \ can have any number of these provisioning policies defined. \nThese are\ - \ the common usage types: \nCREATE - This usage type relates to 'Create\ - \ Account Profile', the provisioning template for the account to be created.\ - \ For example, this would be used for a joiner on a source. \nUPDATE -\ - \ This usage type relates to 'Update Account Profile', the provisioning\ - \ template for the 'Update' connector operations. For example, this would\ - \ be used for an attribute sync on a source.\nENABLE - This usage type relates\ - \ to 'Enable Account Profile', the provisioning template for the account\ - \ to be enabled. For example, this could be used for a joiner on a source\ - \ once the joiner's account is created. \nDISABLE - This usage type relates\ - \ to 'Disable Account Profile', the provisioning template for the account\ - \ to be disabled. For example, this could be used when a leaver is removed\ - \ temporarily from a source. \nYou can use these four usage types for all\ - \ your provisioning policy needs. " - example: CREATE - in: path - name: usageType - required: true - schema: - $ref: '#/components/schemas/UsageType' requestBody: content: application/json: schema: - $ref: '#/components/schemas/ProvisioningPolicyDto' + $ref: '#/components/schemas/AttrSyncSourceConfig' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ProvisioningPolicyDto' - description: The ProvisioningPolicyDto was successfully replaced. + $ref: '#/components/schemas/AttrSyncSourceConfig' + description: Updated attribute synchronization configuration for a source "400": content: application/json: @@ -41018,42 +40877,32 @@ paths: error. security: - UserContextAuth: - - idn:provisioning-policy:manage - - idn:provisioning-policy-source-admin-operations:manage - summary: Update Provisioning Policy by UsageType + - idn:attr-sync-source-config:manage + summary: Update Attribute Sync Config tags: - Sources - /sources/{sourceId}/provisioning-policies/bulk-update: + /sources/{sourceId}/connector/check-connection: post: description: |- - This end-point updates a list of provisioning policies on the specified source in IdentityNow. - A token with API, or ORG_ADMIN authority is required to call this API. - operationId: updateProvisioningPoliciesInBulk + This endpoint validates that the configured credentials are valid and will properly authenticate with the source identified by the sourceId path parameter. + A token with ORG_ADMIN authority is required to call this API. + operationId: testSourceConnection parameters: - - description: The Source id. - example: 2c9180835d191a86015d28455b4a2329 + - description: The ID of the Source. + example: cef3ee201db947c5912551015ba0c679 in: path name: sourceId required: true schema: type: string - requestBody: - content: - application/json: - schema: - items: - $ref: '#/components/schemas/ProvisioningPolicyDto' - type: array - required: true responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/ProvisioningPolicyDto' - type: array - description: A list of the ProvisioningPolicyDto was successfully replaced. + $ref: '#/components/schemas/StatusResponse' + description: The result of checking connection to the source connector with + response from it. "400": content: application/json: @@ -41130,39 +40979,37 @@ paths: error. security: - UserContextAuth: - - idn:provisioning-policy:manage - summary: Bulk Update Provisioning Policies + - idn:source-connector:manage + summary: Check connection for source connector. tags: - Sources - /sources/{id}/remove-accounts: + /sources/{sourceId}/connector/peek-resource-objects: post: - description: | - Use this endpoint to remove all accounts from the system without provisioning changes to the source. Accounts that are removed could be re-created during the next aggregation. - - This endpoint is good for: - * Removing accounts that no longer exist on the source. - * Removing accounts that won't be aggregated following updates to the source configuration. - * Forcing accounts to be re-created following the next aggregation to re-run account processing, support testing, etc. - operationId: deleteAccountsAsync + description: |- + Retrieves a sample of data returned from account and group aggregation requests. + A token with ORG_ADMIN authority is required to call this API. + operationId: peekResourceObjects parameters: - - description: The source id - example: ebbf35756e1140699ce52b233121384a + - description: The ID of the Source + example: cef3ee201db947c5912551015ba0c679 in: path - name: id + name: sourceId required: true schema: type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResourceObjectsRequest' + required: true responses: - "202": + "200": content: application/json: - example: - type: TASK_RESULT - id: 464ae7bf791e49fdb74606a2e4a89635 - name: null schema: - $ref: '#/components/schemas/TaskResultDto' - description: Accepted. Returns task result details of removal request. + $ref: '#/components/schemas/ResourceObjectsResponse' + description: List of resource objects that was fetched from the source connector. "400": content: application/json: @@ -41194,6 +41041,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -41221,53 +41086,31 @@ paths: error. security: - UserContextAuth: - - idn:account:remove - summary: Remove All Accounts in a Source + - idn:source-connector:manage + summary: Peek source connector's resource objects tags: - Sources - /sources/{sourceId}/schemas: - get: - description: Use this API to list the schemas that exist on the specified source - in Identity Security Cloud (ISC). - operationId: getSourceSchemas + /sources/{sourceId}/connector/ping-cluster: + post: + description: |- + This endpoint validates that the cluster being used by the source is reachable from IdentityNow. + A token with ORG_ADMIN authority is required to call this API. + operationId: pingCluster parameters: - - description: Source ID. - example: 2c9180835d191a86015d28455b4a2329 + - description: The ID of the Source + example: cef3ee201db947c5912551015ba0c679 in: path name: sourceId required: true schema: type: string - - description: "If set to 'group', then the account schema is filtered and only\ - \ group schemas are returned. Only a value of 'group' is recognized presently.\ - \ \nNote: The API will check whether include-types is group or not, if not,\ - \ it will list schemas based on include-names, if include-names is not provided,\ - \ it will list all schemas." - example: group - in: query - name: include-types - required: false - schema: - enum: - - group - - user - type: string - - description: A comma-separated list of schema names to filter result. - example: account - in: query - name: include-names - required: false - schema: - type: string responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/Schema' - type: array - description: The schemas were successfully retrieved. + $ref: '#/components/schemas/StatusResponse' + description: The result of pinging connection with the source connector. "400": content: application/json: @@ -41344,35 +41187,32 @@ paths: error. security: - UserContextAuth: - - idn:source-schema:read - summary: List Schemas on Source + - idn:source-connector:manage + summary: Ping cluster for source connector tags: - Sources + /sources/{sourceId}/connector/test-configuration: post: - description: Use this API to create a new schema on the specified source in - Identity Security Cloud (ISC). - operationId: createSourceSchema + description: |- + This endpoint performs a more detailed validation of the source's configuration that can take longer than the lighter weight credential validation performed by the checkConnection API. + A token with ORG_ADMIN authority is required to call this API. + operationId: testSourceConfiguration parameters: - - description: Source ID. - example: 2c9180835d191a86015d28455b4a2329 + - description: The ID of the Source + example: cef3ee201db947c5912551015ba0c679 in: path name: sourceId required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Schema' - required: true responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/Schema' - description: The schema was successfully created on the specified source. + $ref: '#/components/schemas/StatusResponse' + description: The result of testing source connector configuration with response + from it. "400": content: application/json: @@ -41404,6 +41244,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -41431,38 +41289,56 @@ paths: error. security: - UserContextAuth: - - idn:source-schema:create - summary: Create Schema on Source + - idn:source-connector:manage + summary: Test configuration for source connector tags: - Sources - /sources/{sourceId}/schemas/{schemaId}: - delete: - operationId: deleteSourceSchema + /sources/{id}/connectors/source-config: + get: + description: |- + Looks up and returns the source config for the requested source id after populating the source config values and applying language translations. + A token with ORG_ADMIN authority is required to call this API. + operationId: getSourceConfig parameters: - - description: The Source ID. - example: 2c9180835d191a86015d28455b4a2329 + - description: The Source id in: path - name: sourceId + name: id required: true schema: type: string - - description: The Schema ID. - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: schemaId - required: true + - description: "The locale to apply to the config. If no viable locale is given,\ + \ it will default to \"en\"" + in: query + name: locale schema: + enum: + - de + - "false" + - fi + - sv + - ru + - pt + - ko + - zh-TW + - en + - it + - fr + - zh-CN + - hu + - es + - cs + - ja + - pl + - da + - nl type: string responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. - "400": + "200": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/ConnectorDetail' + description: A Connector Detail object "401": content: application/json: @@ -41531,35 +41407,27 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Delete Source Schema by ID + summary: Gets source config with language translations tags: - Sources - get: - description: | - Get the Source Schema by ID in IdentityNow. - operationId: getSourceSchema + /sources/{sourceId}/native-change-detection-config: + delete: + description: |- + Deletes the native change detection configuration for the source specified by the given ID. + A token with API, or ORG_ADMIN authority is required to call this API. + operationId: deleteNativeChangeDetectionConfig parameters: - - description: The Source ID. - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: sourceId - required: true - schema: - type: string - - description: The Schema ID. + - description: The source id example: 2c9180835d191a86015d28455b4a2329 in: path - name: schemaId + name: id required: true schema: type: string responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Schema' - description: The requested Schema was successfully retrieved. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -41634,60 +41502,32 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Get Source Schema by ID + security: + - UserContextAuth: + - idn:sources:update + summary: Delete Native Change Detection Configuration tags: - Sources - patch: - description: "Use this API to selectively update an existing Schema using a\ - \ JSONPatch payload. \n\nThe following schema fields are immutable and cannot\ - \ be updated:\n\n- id\n- name\n- created\n- modified\n\n\nTo switch an account\ - \ attribute to a group entitlement, you need to have the following in place:\n\ - \n- `isEntitlement: true`\n- Must define a schema for the group and [add it\ - \ to the source](https://developer.sailpoint.com/idn/api/beta/create-source-schema)\ - \ before updating the `isGroup` flag. For example, here is the `group` account\ - \ attribute referencing a schema that defines the group:\n```json\n{\n \ - \ \"name\": \"groups\",\n \"type\": \"STRING\",\n \"schema\": {\n \ - \ \"type\": \"CONNECTOR_SCHEMA\",\n \"id\": \"2c9180887671ff8c01767b4671fc7d60\"\ - ,\n \"name\": \"group\"\n },\n \"description\": \"The groups,\ - \ roles etc. that reference account group objects\",\n \"isMulti\": true,\n\ - \ \"isEntitlement\": true,\n \"isGroup\": true\n}\n```\n" - operationId: updateSourceSchema + get: + description: |- + This API returns the existing native change detection configuration for a source specified by the given ID. + A token with ORG_ADMIN authority is required to call this API. + operationId: getNativeChangeDetectionConfig parameters: - - description: The Source id. - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: sourceId - required: true - schema: - type: string - - description: The Schema id. + - description: The source id example: 2c9180835d191a86015d28455b4a2329 in: path - name: schemaId + name: id required: true schema: type: string - requestBody: - content: - application/json-patch+json: - example: - - op: replace - path: /displayAttribute - value: - new-display-attribute: null - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: The JSONPatch payload used to update the schema. - required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Schema' - description: The Schema was successfully updated. + $ref: '#/components/schemas/NativeChangeDetectionConfig' + description: Native change detection configuration for a source "400": content: application/json: @@ -41762,30 +41602,22 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Update Source Schema (Partial) + security: + - UserContextAuth: + - idn:sources:read + summary: Native Change Detection Configuration tags: - Sources put: - description: |- - This API will completely replace an existing Schema with the submitted payload. Some fields of the Schema cannot be updated. These fields are listed below. - * id - * name - * created - * modified - Any attempt to modify these fields will result in an error response with a status code of 400. - operationId: putSourceSchema + description: "Replaces the native change detection configuration for the source\ + \ specified by the given ID with the configuration provided in the request\ + \ body.\n \nA token with ORG_ADMIN authority is required to call this API." + operationId: putNativeChangeDetectionConfig parameters: - - description: The Source ID. - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: sourceId - required: true - schema: - type: string - - description: The Schema ID. + - description: The source id example: 2c9180835d191a86015d28455b4a2329 in: path - name: schemaId + name: id required: true schema: type: string @@ -41793,15 +41625,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Schema' + $ref: '#/components/schemas/NativeChangeDetectionConfig' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Schema' - description: The Schema was successfully replaced. + $ref: '#/components/schemas/NativeChangeDetectionConfig' + description: Updated native change detection configuration for a source "400": content: application/json: @@ -41876,26 +41708,35 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Update Source Schema (Full) + security: + - UserContextAuth: + - idn:sources:update + summary: Update Native Change Detection Configuration tags: - Sources - /sources/{id}/schemas/accounts: + /sources/{sourceId}/provisioning-policies: get: - operationId: getSourceAccountsSchema + description: |- + This end-point lists all the ProvisioningPolicies in IdentityNow. + A token with API, or ORG_ADMIN authority is required to call this API. + operationId: listProvisioningPolicies parameters: - description: The Source id - example: 8c190e6787aa4ed9a90bd9d5344523fb + example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId required: true schema: type: string responses: "200": content: - text/csv: - example: "id,name,givenName,familyName,e-mail,location,manager,groups,startDate,endDate" - description: Successfully downloaded the file + application/json: + schema: + items: + $ref: '#/components/schemas/ProvisioningPolicyDto' + type: array + description: List of ProvisioningPolicyDto objects "400": content: application/json: @@ -41972,36 +41813,107 @@ paths: error. security: - UserContextAuth: - - idn:source-schema:read - - idn:source-schema:manage - summary: Downloads source accounts schema template + - idn:provisioning-policy:read + - idn:provisioning-policy:manage + summary: Lists ProvisioningPolicies tags: - Sources post: - description: This API uploads a source schema template file to configure a source's - account attributes. - operationId: importSourceAccountsSchema + description: |- + This API generates a create policy/template based on field value transforms. This API is intended for use when setting up JDBC Provisioning type sources, but it will also work on other source types. + Transforms can be used in the provisioning policy to create a new attribute that you only need during provisioning. + Refer to [Transforms in Provisioning Policies](https://developer.sailpoint.com/idn/docs/transforms/guides/transforms-in-provisioning-policies) for more information. + A token with ORG_ADMIN authority is required to call this API. + operationId: createProvisioningPolicy parameters: - description: The Source id - example: 8c190e6787aa4ed9a90bd9d5344523fb + example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId required: true schema: type: string requestBody: content: - multipart/form-data: + application/json: + examples: + Create Account Provisioning Policy: + value: + name: Account + description: Account Provisioning Policy + usageType: CREATE + fields: + - name: displayName + transform: + type: identityAttribute + attributes: + name: displayName + attributes: {} + isRequired: false + type: string + isMultiValued: false + - name: distinguishedName + transform: + type: usernameGenerator + attributes: + sourceCheck: true + patterns: + - "CN=$fi $ln,OU=zzUsers,OU=Demo,DC=seri,DC=sailpointdemo,DC=com" + - "CN=$fti $ln,OU=zzUsers,OU=Demo,DC=seri,DC=sailpointdemo,DC=com" + - "CN=$fn $ln,OU=zzUsers,OU=Demo,DC=seri,DC=sailpointdemo,DC=com" + - "CN=$fn$ln${uniqueCounter},OU=zzUsers,OU=Demo,DC=seri,DC=sailpointdemo,DC=com" + fn: + type: identityAttribute + attributes: + name: firstname + ln: + type: identityAttribute + attributes: + name: lastname + fi: + type: substring + attributes: + input: + type: identityAttribute + attributes: + name: firstname + begin: 0.0 + end: 1.0 + fti: + type: substring + attributes: + input: + type: identityAttribute + attributes: + name: firstname + begin: 0.0 + end: 2.0 + attributes: + cloudMaxUniqueChecks: "5" + cloudMaxSize: "100" + cloudRequired: "true" + isRequired: false + type: "" + isMultiValued: false + - name: description + transform: + type: static + attributes: + value: "" + attributes: {} + isRequired: false + type: string + isMultiValued: false schema: - $ref: '#/components/schemas/putPasswordDictionary_request' + $ref: '#/components/schemas/ProvisioningPolicyDto' required: true responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/Schema' - description: Successfully uploaded the file + $ref: '#/components/schemas/ProvisioningPolicyDto' + description: Created ProvisioningPolicyDto object "400": content: application/json: @@ -42033,6 +41945,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -42060,33 +41990,52 @@ paths: error. security: - UserContextAuth: - - idn:source-schema:manage - summary: Uploads source accounts schema template + - idn:provisioning-policy:manage + summary: Create Provisioning Policy tags: - Sources - /sources/{id}/schemas/entitlements: - get: - operationId: getSourceEntitlementsSchema + /sources/{sourceId}/provisioning-policies/{usageType}: + delete: + description: |- + Deletes the provisioning policy with the specified usage on an application. + A token with API, or ORG_ADMIN authority is required to call this API. + operationId: deleteProvisioningPolicy parameters: - - description: The Source id - example: 8c190e6787aa4ed9a90bd9d5344523fb + - description: The Source ID. + example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId required: true schema: type: string - - description: Name of entitlement schema - example: ?schemaName=group - in: query - name: schemaName + - description: "The type of provisioning policy usage. \nIn IdentityNow, a source\ + \ can support various provisioning operations. For example, when a joiner\ + \ is added to a source, this may trigger both CREATE and UPDATE provisioning\ + \ operations. Each usage type is considered a provisioning policy. A source\ + \ can have any number of these provisioning policies defined. \nThese are\ + \ the common usage types: \nCREATE - This usage type relates to 'Create\ + \ Account Profile', the provisioning template for the account to be created.\ + \ For example, this would be used for a joiner on a source. \nUPDATE -\ + \ This usage type relates to 'Update Account Profile', the provisioning\ + \ template for the 'Update' connector operations. For example, this would\ + \ be used for an attribute sync on a source.\nENABLE - This usage type relates\ + \ to 'Enable Account Profile', the provisioning template for the account\ + \ to be enabled. For example, this could be used for a joiner on a source\ + \ once the joiner's account is created. \nDISABLE - This usage type relates\ + \ to 'Disable Account Profile', the provisioning template for the account\ + \ to be disabled. For example, this could be used when a leaver is removed\ + \ temporarily from a source. \nYou can use these four usage types for all\ + \ your provisioning policy needs. " + example: CREATE + in: path + name: usageType + required: true schema: - type: string + $ref: '#/components/schemas/UsageType' responses: - "200": - content: - text/csv: - example: "id,name,displayName,created,description,modified,entitlements,groups,permissions" - description: Successfully downloaded the file + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -42163,42 +42112,54 @@ paths: error. security: - UserContextAuth: - - idn:source-schema:read - - idn:source-schema:manage - summary: Downloads source entitlements schema template + - idn:provisioning-policy:manage + summary: Delete Provisioning Policy by UsageType tags: - Sources - post: - description: This API uploads a source schema template file to configure a source's - entitlement attributes. - operationId: importSourceEntitlementsSchema + get: + description: |- + This end-point retrieves the ProvisioningPolicy with the specified usage on the specified Source in IdentityNow. + A token with API, ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: getProvisioningPolicy parameters: - - description: The Source id - example: 8c190e6787aa4ed9a90bd9d5344523fb + - description: The Source ID. + example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId required: true schema: type: string - - description: Name of entitlement schema - example: ?schemaName=group - in: query - name: schemaName - schema: - type: string - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/putPasswordDictionary_request' + - description: "The type of provisioning policy usage. \nIn IdentityNow, a source\ + \ can support various provisioning operations. For example, when a joiner\ + \ is added to a source, this may trigger both CREATE and UPDATE provisioning\ + \ operations. Each usage type is considered a provisioning policy. A source\ + \ can have any number of these provisioning policies defined. \nThese are\ + \ the common usage types: \nCREATE - This usage type relates to 'Create\ + \ Account Profile', the provisioning template for the account to be created.\ + \ For example, this would be used for a joiner on a source. \nUPDATE -\ + \ This usage type relates to 'Update Account Profile', the provisioning\ + \ template for the 'Update' connector operations. For example, this would\ + \ be used for an attribute sync on a source.\nENABLE - This usage type relates\ + \ to 'Enable Account Profile', the provisioning template for the account\ + \ to be enabled. For example, this could be used for a joiner on a source\ + \ once the joiner's account is created. \nDISABLE - This usage type relates\ + \ to 'Disable Account Profile', the provisioning template for the account\ + \ to be disabled. For example, this could be used when a leaver is removed\ + \ temporarily from a source. \nYou can use these four usage types for all\ + \ your provisioning policy needs. " + example: CREATE + in: path + name: usageType required: true + schema: + $ref: '#/components/schemas/UsageType' responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Schema' - description: Successfully uploaded the file + $ref: '#/components/schemas/ProvisioningPolicyDto' + description: The requested ProvisioningPolicyDto was successfully retrieved. "400": content: application/json: @@ -42230,6 +42191,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -42257,37 +42236,84 @@ paths: error. security: - UserContextAuth: - - idn:source-schema:manage - summary: Uploads source entitlements schema template + - idn:provisioning-policy:read + - idn:provisioning-policy-source:read + - idn:provisioning-policy:manage + - idn:provisioning-policy-source-admin-operations:manage + summary: Get Provisioning Policy by UsageType tags: - Sources - /sources/{sourceId}/upload-connector-file: - post: + patch: description: |- - This uploads a supplemental source connector file (like jdbc driver jars) to a source's S3 bucket. This also sends ETS and Audit events. - A token with ORG_ADMIN authority is required to call this API. - operationId: importSourceConnectorFile + This API selectively updates an existing Provisioning Policy using a JSONPatch payload. + Transforms can be used in the provisioning policy to create a new attribute that you only need during provisioning. + Refer to [Transforms in Provisioning Policies](https://developer.sailpoint.com/idn/docs/transforms/guides/transforms-in-provisioning-policies) for more information. + A token with API, ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: updateProvisioningPolicy parameters: - - description: The Source id - example: 8c190e6787aa4ed9a90bd9d5344523fb + - description: The Source id. + example: 2c9180835d191a86015d28455b4a2329 in: path name: sourceId required: true schema: type: string + - description: "The type of provisioning policy usage. \nIn IdentityNow, a source\ + \ can support various provisioning operations. For example, when a joiner\ + \ is added to a source, this may trigger both CREATE and UPDATE provisioning\ + \ operations. Each usage type is considered a provisioning policy. A source\ + \ can have any number of these provisioning policies defined. \nThese are\ + \ the common usage types: \nCREATE - This usage type relates to 'Create\ + \ Account Profile', the provisioning template for the account to be created.\ + \ For example, this would be used for a joiner on a source. \nUPDATE -\ + \ This usage type relates to 'Update Account Profile', the provisioning\ + \ template for the 'Update' connector operations. For example, this would\ + \ be used for an attribute sync on a source.\nENABLE - This usage type relates\ + \ to 'Enable Account Profile', the provisioning template for the account\ + \ to be enabled. For example, this could be used for a joiner on a source\ + \ once the joiner's account is created. \nDISABLE - This usage type relates\ + \ to 'Disable Account Profile', the provisioning template for the account\ + \ to be disabled. For example, this could be used when a leaver is removed\ + \ temporarily from a source. \nYou can use these four usage types for all\ + \ your provisioning policy needs. " + example: CREATE + in: path + name: usageType + required: true + schema: + $ref: '#/components/schemas/UsageType' requestBody: content: - multipart/form-data: + application/json-patch+json: + examples: + add-field: + summary: Add a field to the beginning of the list + value: + - op: add + path: /fields/0 + value: + name: email + transform: + type: identityAttribute + attributes: + name: email + attributes: {} + isRequired: false + type: string + isMultiValued: false schema: - $ref: '#/components/schemas/putPasswordDictionary_request' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: The JSONPatch payload used to update the schema. required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Source' - description: Uploaded the file successfully and sent all post-upload events + $ref: '#/components/schemas/ProvisioningPolicyDto' + description: The ProvisioningPolicyDto was successfully updated. "400": content: application/json: @@ -42319,6 +42345,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -42346,36 +42390,62 @@ paths: error. security: - UserContextAuth: - - idn:sources-admin:manage - summary: Upload connector file to source + - idn:provisioning-policy:update + summary: Partial update of Provisioning Policy tags: - Sources - /sources/{id}/synchronize-attributes: - post: + put: description: |- - This end-point performs attribute synchronization for a selected source. - A token with ORG_ADMIN or SOURCE_ADMIN authority is required to call this API. - operationId: syncAttributesForSource + This end-point updates the provisioning policy with the specified usage on the specified source in IdentityNow. + Transforms can be used in the provisioning policy to create a new attribute that you only need during provisioning. + Refer to [Transforms in Provisioning Policies](https://developer.sailpoint.com/idn/docs/transforms/guides/transforms-in-provisioning-policies) for more information. + A token with API, ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: putProvisioningPolicy parameters: - - description: The Source id + - description: The Source ID. + example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId required: true schema: type: string + - description: "The type of provisioning policy usage. \nIn IdentityNow, a source\ + \ can support various provisioning operations. For example, when a joiner\ + \ is added to a source, this may trigger both CREATE and UPDATE provisioning\ + \ operations. Each usage type is considered a provisioning policy. A source\ + \ can have any number of these provisioning policies defined. \nThese are\ + \ the common usage types: \nCREATE - This usage type relates to 'Create\ + \ Account Profile', the provisioning template for the account to be created.\ + \ For example, this would be used for a joiner on a source. \nUPDATE -\ + \ This usage type relates to 'Update Account Profile', the provisioning\ + \ template for the 'Update' connector operations. For example, this would\ + \ be used for an attribute sync on a source.\nENABLE - This usage type relates\ + \ to 'Enable Account Profile', the provisioning template for the account\ + \ to be enabled. For example, this could be used for a joiner on a source\ + \ once the joiner's account is created. \nDISABLE - This usage type relates\ + \ to 'Disable Account Profile', the provisioning template for the account\ + \ to be disabled. For example, this could be used when a leaver is removed\ + \ temporarily from a source. \nYou can use these four usage types for all\ + \ your provisioning policy needs. " + example: CREATE + in: path + name: usageType + required: true + schema: + $ref: '#/components/schemas/UsageType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisioningPolicyDto' + required: true responses: - "202": + "200": content: application/json: - example: - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - status: IN_PROGRESS - payload: - type: SYNCHRONIZE_SOURCE_ATTRIBUTES - dataJson: "{\"sourceId\":\"2c918083746f642c01746f990884012a\"}" schema: - $ref: '#/components/schemas/SourceSyncJob' - description: A Source Sync job + $ref: '#/components/schemas/ProvisioningPolicyDto' + description: The ProvisioningPolicyDto was successfully replaced. "400": content: application/json: @@ -42450,62 +42520,44 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Synchronize single source attributes. + security: + - UserContextAuth: + - idn:provisioning-policy:manage + - idn:provisioning-policy-source-admin-operations:manage + summary: Update Provisioning Policy by UsageType tags: - Sources - /sources/{id}/entitlement-request-config: - get: + /sources/{sourceId}/provisioning-policies/bulk-update: + post: description: |- - This API gets the current entitlement request configuration for a source. This source-level configuration should apply for all the entitlements in the source. - - Access request to any entitlements in the source should follow this configuration unless a separate entitlement-level configuration is defined. - - During access request, this source-level entitlement request configuration overrides the global organization-level configuration. - - However, the entitlement-level configuration (if defined) overrides this source-level configuration. - - A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: getSourceEntitlementRequestConfig + This end-point updates a list of provisioning policies on the specified source in IdentityNow. + A token with API, or ORG_ADMIN authority is required to call this API. + operationId: updateProvisioningPoliciesInBulk + parameters: + - description: The Source id. + example: 2c9180835d191a86015d28455b4a2329 + in: path + name: sourceId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ProvisioningPolicyDto' + type: array + required: true responses: "200": content: application/json: - examples: - Get default config: - description: The default config for a source should look like the - following where the empty approvalSchemes indicates that no approvals - are required. - value: - accessRequestConfig: - approvalSchemes: [] - requestCommentRequired: false - denialCommentRequired: false - Get config with one approval: - description: "In case of a single approval, the config could look\ - \ like the following." - value: - accessRequestConfig: - approvalSchemes: - - approverId: null - approverType: SOURCE_OWNER - requestCommentRequired: true - denialCommentRequired: false - Get config with multiple approvals: - description: "In case of multiple levels of approvals the config\ - \ could look like the following. In this scenario, access request\ - \ review process should go through all the approvers sequentially." - value: - accessRequestConfig: - approvalSchemes: - - approverId: null - approverType: ENTITLEMENT_OWNER - - approverId: null - approverType: SOURCE_OWNER - - approverId: 95e538a3-30c1-433a-af05-4bed973bbc22 - approverType: GOVERNANCE_GROUP - requestCommentRequired: true - denialCommentRequired: false schema: - $ref: '#/components/schemas/SourceEntitlementRequestConfig' - description: Source Entitlement Request Configuration Details. + items: + $ref: '#/components/schemas/ProvisioningPolicyDto' + type: array + description: A list of the ProvisioningPolicyDto was successfully replaced. "400": content: application/json: @@ -42537,121 +42589,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": - content: - application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - idn:sources:read - - idn:sources:manage - summary: Get Source Entitlement Request Configuration - tags: - - Sources - put: - description: |- - This API replaces the current entitlement request configuration for a source. This source-level configuration should apply for all the entitlements in the source. - - Access request to any entitlements in the source should follow this configuration unless a separate entitlement-level configuration is defined. - - During access request, this source-level entitlement request configuration overrides the global organization-level configuration. - - However, the entitlement-level configuration (if defined) overrides this source-level configuration. - - A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: updateSourceEntitlementRequestConfig - requestBody: - content: - application/json: - examples: - Set config with no approvals: - description: "If no approvals are required, the following config can\ - \ be set." - value: - accessRequestConfig: - approvalSchemes: [] - Set config with one approval: - description: In case of single approval the following config can be - set. - value: - accessRequestConfig: - approvalSchemes: - - approverType: SOURCE_OWNER - requestCommentRequired: true - denialCommentRequired: false - Set config with multiple approvals: - description: "In case of multiple levels of approvals the following\ - \ config can be set. In this scenario, access request review process\ - \ should go through all the approvers sequentially." - value: - accessRequestConfig: - approvalSchemes: - - approverType: ENTITLEMENT_OWNER - - approverType: SOURCE_OWNER - - approverType: GOVERNANCE_GROUP - approverId: 95e538a3-30c1-433a-af05-4bed973bbc22 - requestCommentRequired: true - denialCommentRequired: false - schema: - $ref: '#/components/schemas/SourceEntitlementRequestConfig' - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SourceEntitlementRequestConfig' - description: Source Entitlement Request Configuration Details. - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." - "403": + "404": content: application/json: examples: - "403": - summary: An example of a 403 response object + "404": + summary: An example of a 404 response object value: - detailCode: 403 Forbidden + detailCode: 404 Not found trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. + text: The server did not find a current representation for the + target resource. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -42679,41 +42634,39 @@ paths: error. security: - UserContextAuth: - - idn:sources:manage - summary: Update Source Entitlement Request Configuration + - idn:provisioning-policy:manage + summary: Bulk Update Provisioning Policies tags: - Sources - /sources/{id}/load-accounts: + /sources/{id}/remove-accounts: post: - description: "Starts an account aggregation on the specified source. \nIf the\ - \ target source is a delimited file source, then the CSV file needs to be\ - \ included in the request body.\nYou will also need to set the Content-Type\ - \ header to `multipart/form-data`.\nA token with ORG_ADMIN, SOURCE_ADMIN,\ - \ or SOURCE_SUBADMIN authority is required to call this API." - operationId: importAccounts + description: | + Use this endpoint to remove all accounts from the system without provisioning changes to the source. Accounts that are removed could be re-created during the next aggregation. + + This endpoint is good for: + * Removing accounts that no longer exist on the source. + * Removing accounts that won't be aggregated following updates to the source configuration. + * Forcing accounts to be re-created following the next aggregation to re-run account processing, support testing, etc. + operationId: deleteAccountsAsync parameters: - - description: Source Id - example: ef38f94347e94562b5bb8424a56397d8 + - description: The source id + example: ebbf35756e1140699ce52b233121384a in: path name: id required: true schema: type: string - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/importAccounts_request' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/importAccounts_request_1' responses: "202": content: application/json: + example: + type: TASK_RESULT + id: 464ae7bf791e49fdb74606a2e4a89635 + name: null schema: - $ref: '#/components/schemas/LoadAccountsTask' - description: Aggregate Accounts Task + $ref: '#/components/schemas/TaskResultDto' + description: Accepted. Returns task result details of removal request. "400": content: application/json: @@ -42772,38 +42725,53 @@ paths: error. security: - UserContextAuth: - - idn:sources:manage - summary: Account Aggregation + - idn:account:remove + summary: Remove All Accounts in a Source tags: - Sources - /sources/{id}/load-entitlements: - post: - description: "Starts an entitlement aggregation on the specified source. \n\ - If the target source is a delimited file source, then the CSV file needs to\ - \ be included in the request body. \nYou will also need to set the Content-Type\ - \ header to `multipart/form-data`.\nA token with ORG_ADMIN, SOURCE_ADMIN,\ - \ or SOURCE_SUBADMIN authority is required to call this API." - operationId: importEntitlements + /sources/{sourceId}/schemas: + get: + description: Use this API to list the schemas that exist on the specified source + in Identity Security Cloud (ISC). + operationId: getSourceSchemas parameters: - - description: Source Id - example: ef38f94347e94562b5bb8424a56397d8 + - description: Source ID. + example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId required: true schema: type: string - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/importEntitlements_request' + - description: "If set to 'group', then the account schema is filtered and only\ + \ group schemas are returned. Only a value of 'group' is recognized presently.\ + \ \nNote: The API will check whether include-types is group or not, if not,\ + \ it will list schemas based on include-names, if include-names is not provided,\ + \ it will list all schemas." + example: group + in: query + name: include-types + required: false + schema: + enum: + - group + - user + type: string + - description: A comma-separated list of schema names to filter result. + example: account + in: query + name: include-names + required: false + schema: + type: string responses: - "202": + "200": content: application/json: schema: - $ref: '#/components/schemas/LoadEntitlementTask' - description: Aggregate Entitlements Task + items: + $ref: '#/components/schemas/Schema' + type: array + description: The schemas were successfully retrieved. "400": content: application/json: @@ -42835,6 +42803,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -42862,35 +42848,35 @@ paths: error. security: - UserContextAuth: - - idn:entitlements:manage - summary: Entitlement Aggregation + - idn:source-schema:read + summary: List Schemas on Source tags: - Sources - /sources/{id}/load-uncorrelated-accounts: post: - description: File is required for upload. You will also need to set the Content-Type - header to `multipart/form-data` - operationId: importUncorrelatedAccounts + description: Use this API to create a new schema on the specified source in + Identity Security Cloud (ISC). + operationId: createSourceSchema parameters: - - description: Source Id - example: 75dbec1ebe154d5785da27b95e1dd5d7 + - description: Source ID. + example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId required: true schema: type: string requestBody: content: - multipart/form-data: + application/json: schema: - $ref: '#/components/schemas/putPasswordDictionary_request' + $ref: '#/components/schemas/Schema' + required: true responses: - "202": + "201": content: application/json: schema: - $ref: '#/components/schemas/LoadUncorrelatedAccountsTask' - description: Uncorrelated Accounts Task + $ref: '#/components/schemas/Schema' + description: The schema was successfully created on the specified source. "400": content: application/json: @@ -42949,31 +42935,32 @@ paths: error. security: - UserContextAuth: - - idn:sources:manage - summary: Process Uncorrelated Accounts + - idn:source-schema:create + summary: Create Schema on Source tags: - Sources - /sources/{id}/correlation-config: - get: - description: |- - This API returns the existing correlation configuration for a source specified by the given ID. - A token with ORG_ADMIN authority is required to call this API. - operationId: getCorrelationConfig + /sources/{sourceId}/schemas/{schemaId}: + delete: + operationId: deleteSourceSchema parameters: - - description: The source id + - description: The Source ID. example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId + required: true + schema: + type: string + - description: The Schema ID. + example: 2c9180835d191a86015d28455b4a2329 + in: path + name: schemaId required: true schema: type: string responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/CorrelationConfig' - description: Correlation configuration for a source + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -43048,38 +43035,35 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:sources:read - summary: Get Source Correlation Configuration + summary: Delete Source Schema by ID tags: - Sources - put: - description: "Replaces the correlation configuration for the source specified\ - \ by the given ID with the configuration provided in the request body.\n \ - \ \nA token with ORG_ADMIN authority is required to call this API." - operationId: putCorrelationConfig + get: + description: | + Get the Source Schema by ID in IdentityNow. + operationId: getSourceSchema parameters: - - description: The source id + - description: The Source ID. example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CorrelationConfig' + - description: The Schema ID. + example: 2c9180835d191a86015d28455b4a2329 + in: path + name: schemaId required: true + schema: + type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/CorrelationConfig' - description: Updated correlation configuration for a source + $ref: '#/components/schemas/Schema' + description: The requested Schema was successfully retrieved. "400": content: application/json: @@ -43154,31 +43138,60 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:sources:update - summary: Update Source Correlation Configuration + summary: Get Source Schema by ID tags: - Sources - /source-apps/{id}: - delete: - description: Use this API to delete a specific source app - operationId: deleteSourceApp + patch: + description: "Use this API to selectively update an existing Schema using a\ + \ JSONPatch payload. \n\nThe following schema fields are immutable and cannot\ + \ be updated:\n\n- id\n- name\n- created\n- modified\n\n\nTo switch an account\ + \ attribute to a group entitlement, you need to have the following in place:\n\ + \n- `isEntitlement: true`\n- Must define a schema for the group and [add it\ + \ to the source](https://developer.sailpoint.com/idn/api/beta/create-source-schema)\ + \ before updating the `isGroup` flag. For example, here is the `group` account\ + \ attribute referencing a schema that defines the group:\n```json\n{\n \ + \ \"name\": \"groups\",\n \"type\": \"STRING\",\n \"schema\": {\n \ + \ \"type\": \"CONNECTOR_SCHEMA\",\n \"id\": \"2c9180887671ff8c01767b4671fc7d60\"\ + ,\n \"name\": \"group\"\n },\n \"description\": \"The groups,\ + \ roles etc. that reference account group objects\",\n \"isMulti\": true,\n\ + \ \"isEntitlement\": true,\n \"isGroup\": true\n}\n```\n" + operationId: updateSourceSchema parameters: - - description: source app ID. + - description: The Source id. example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId + required: true + schema: + type: string + - description: The Schema id. + example: 2c9180835d191a86015d28455b4a2329 + in: path + name: schemaId required: true schema: type: string + requestBody: + content: + application/json-patch+json: + example: + - op: replace + path: /displayAttribute + value: + new-display-attribute: null + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: The JSONPatch payload used to update the schema. + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SourceApp' - description: Responds with the source app as deleted. + $ref: '#/components/schemas/Schema' + description: The Schema was successfully updated. "400": content: application/json: @@ -43210,6 +43223,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -43235,31 +43266,46 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:app-roles:manage - - idn:app-roles:delete - summary: Delete source app by ID + summary: Update Source Schema (Partial) tags: - - Apps - get: - description: This API returns a source app by its ID. - operationId: getSourceApp + - Sources + put: + description: |- + This API will completely replace an existing Schema with the submitted payload. Some fields of the Schema cannot be updated. These fields are listed below. + * id + * name + * created + * modified + Any attempt to modify these fields will result in an error response with a status code of 400. + operationId: putSourceSchema parameters: - - description: ID of the source app + - description: The Source ID. + example: 2c9180835d191a86015d28455b4a2329 in: path - name: id + name: sourceId + required: true + schema: + type: string + - description: The Schema ID. + example: 2c9180835d191a86015d28455b4a2329 + in: path + name: schemaId required: true schema: - example: 2c91808a7813090a017814121e121518 type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Schema' + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SourceApp' - description: Responds with the source app. + $ref: '#/components/schemas/Schema' + description: The Schema was successfully replaced. "400": content: application/json: @@ -43334,97 +43380,26 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:app-roles:read - summary: Get source app by ID + summary: Update Source Schema (Full) tags: - - Apps - patch: - description: |- - This API updates an existing source app using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. - The following fields are patchable: **name**, **description**, **enabled**, **owner**, **provisionRequestEnabled**, **appCenterEnabled**, **accountSource**, **matchAllAccounts** and **accessProfiles**. - Name, description and owner can't be empty or null. - operationId: patchSourceApp + - Sources + /sources/{id}/schemas/accounts: + get: + operationId: getSourceAccountsSchema parameters: - - description: ID of the source app to patch + - description: The Source id + example: 8c190e6787aa4ed9a90bd9d5344523fb in: path name: id required: true schema: - example: 2c91808a7813090a017814121e121518 type: string - requestBody: - content: - application/json-patch+json: - examples: - Make an app enabled and matchAllAccounts in one call: - description: This example shows how multiple fields may be updated - with a single patch call. - value: - - op: replace - path: /enabled - value: true - - op: replace - path: /matchAllAccounts - value: true - Replace an owner for an source app: - description: This example shows how to use patch to replace the source - app's owner by replacing the owner's info. - value: - - op: replace - path: /owner - value: - id: 2c9180858315595501831958427e5424 - Update the description for the source app: - description: This example shows how to use patch to update a description - for the source app. - value: - - op: replace - path: /description - value: new description for the source app - Update the name for the source app: - description: This example shows how to use patch to update the source - app's name. - value: - - op: replace - path: /name - value: source app new name - Add access profile: - description: Add one access profile to the existing list - value: - - op: add - path: /accessProfiles/- - value: 2c9180857725c14301772a93bb77242d - Replace access profiles: - description: Replace all access profiles with a new list of access - profiles - value: - - op: replace - path: /accessProfiles - value: - - 2c9180857725c14301772a93bb77242d - - c9575abb5e3a4e3db82b2f989a738aa2 - Remove access profile: - description: Remove the first access profile in the list - value: - - op: remove - path: /accessProfiles/0 - schema: - example: - - op: replace - path: /enabled - value: true - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array responses: "200": content: - application/json: - schema: - $ref: '#/components/schemas/SourceAppPatchDto' - description: Responds with the source app as updated. + text/csv: + example: "id,name,givenName,familyName,e-mail,location,manager,groups,startDate,endDate" + description: Successfully downloaded the file "400": content: application/json: @@ -43501,26 +43476,36 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:manage - summary: Patch source app by ID + - idn:source-schema:read + - idn:source-schema:manage + summary: Downloads source accounts schema template tags: - - Apps - /source-apps/bulk-update: + - Sources post: - description: |- - This API updates source apps using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. It can update up to 50 source apps in a batch. - The following fields can be updated: **name**, **description**, **enabled**, **owner**, **provisionRequestEnabled**, **appCenterEnabled**, **accountSource**, **matchAllAccounts**, and **accessProfiles**. - Name, description and owner can't be empty or null. - operationId: updateSourceAppsInBulk + description: This API uploads a source schema template file to configure a source's + account attributes. + operationId: importSourceAccountsSchema + parameters: + - description: The Source id + example: 8c190e6787aa4ed9a90bd9d5344523fb + in: path + name: id + required: true + schema: + type: string requestBody: content: - application/json: + multipart/form-data: schema: - $ref: '#/components/schemas/SourceAppBulkUpdateRequest' + $ref: '#/components/schemas/putPasswordDictionary_request' + required: true responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/Schema' + description: Successfully uploaded the file "400": content: application/json: @@ -43552,24 +43537,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -43597,86 +43564,33 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:manage - summary: Bulk update source apps + - idn:source-schema:manage + summary: Uploads source accounts schema template tags: - - Apps - /source-apps/assigned: + - Sources + /sources/{id}/schemas/entitlements: get: - description: This API returns the list of source apps assigned for logged in - user. - operationId: listAssignedSourceApp + operationId: getSourceEntitlementsSchema parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: **id, name, created, modified, accountSource.id** - example: "name,-modified" - explode: true - in: query - name: sorters - required: false + - description: The Source id + example: 8c190e6787aa4ed9a90bd9d5344523fb + in: path + name: id + required: true schema: - format: comma-separated type: string - style: form - - 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* - - **name**: *eq, in, co, sw* - - **created**: *gt, lt, ge, le* - - **modified**: *gt, lt, ge, le* - - **accountSource.id**: *eq, in* - example: name eq "source app name" - explode: true + - description: Name of entitlement schema + example: ?schemaName=group in: query - name: filters - required: false + name: schemaName schema: type: string - style: form responses: "200": content: - application/json: - schema: - items: - $ref: '#/components/schemas/SourceApp' - type: array - description: List of source apps + text/csv: + example: "id,name,displayName,created,description,modified,entitlements,groups,permissions" + description: Successfully downloaded the file "400": content: application/json: @@ -43708,6 +43622,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -43735,85 +43667,42 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:read - summary: List assigned source apps + - idn:source-schema:read + - idn:source-schema:manage + summary: Downloads source entitlements schema template tags: - - Apps - /source-apps: - get: - description: This API returns the list of source apps available for access request. - operationId: listAvailableSourceApps + - Sources + post: + description: This API uploads a source schema template file to configure a source's + entitlement attributes. + operationId: importSourceEntitlementsSchema parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: **id, name, created, modified, owner.id, accountSource.id** - example: "name,-modified" - explode: true - in: query - name: sorters - required: false + - description: The Source id + example: 8c190e6787aa4ed9a90bd9d5344523fb + in: path + name: id + required: true schema: - format: comma-separated type: string - style: form - - 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* - - **name**: *eq, in, co, sw* - - **created**: *gt, lt, ge, le* - - **modified**: *gt, lt, ge, le* - - **accountSource.id**: *eq, in* - example: name eq "source app name" - explode: true + - description: Name of entitlement schema + example: ?schemaName=group in: query - name: filters - required: false + name: schemaName schema: type: string - style: form + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/putPasswordDictionary_request' + required: true responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/SourceApp' - type: array - description: List of source apps + $ref: '#/components/schemas/Schema' + description: Successfully uploaded the file "400": content: application/json: @@ -43872,32 +43761,37 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:read - summary: List available source apps + - idn:source-schema:manage + summary: Uploads source entitlements schema template tags: - - Apps + - Sources + /sources/{sourceId}/upload-connector-file: post: - description: This endpoint creates a source app using the given source app payload - operationId: createSourceApp + description: |- + This uploads a supplemental source connector file (like jdbc driver jars) to a source's S3 bucket. This also sends ETS and Audit events. + A token with ORG_ADMIN authority is required to call this API. + operationId: importSourceConnectorFile + parameters: + - description: The Source id + example: 8c190e6787aa4ed9a90bd9d5344523fb + in: path + name: sourceId + required: true + schema: + type: string requestBody: content: - application/json: - example: - name: new app name - description: app description - matchAllAccounts: true - accountSource: - id: edcb0951812949d085b60cd8bf35bc78 + multipart/form-data: schema: - $ref: '#/components/schemas/SourceAppCreateDto' + $ref: '#/components/schemas/putPasswordDictionary_request' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SourceApp' - description: Responds with the source app as created. + $ref: '#/components/schemas/Source' + description: Uploaded the file successfully and sent all post-upload events "400": content: application/json: @@ -43956,92 +43850,36 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:manage - summary: Create source app + - idn:sources-admin:manage + summary: Upload connector file to source tags: - - Apps - /source-apps/all: - get: + - Sources + /sources/{id}/synchronize-attributes: + post: description: |- - This API returns the list of all source apps for the org. - - A token with ORG_ADMIN authority is required to call this API. - operationId: listAllSourceApp + This end-point performs attribute synchronization for a selected source. + A token with ORG_ADMIN or SOURCE_ADMIN authority is required to call this API. + operationId: syncAttributesForSource parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: **id, name, created, modified, owner.id, accountSource.id** - example: "name,-modified" - explode: true - in: query - name: sorters - required: false - schema: - format: comma-separated - type: string - style: form - - 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* - - **name**: *eq, in, co, sw* - - **created**: *gt, lt, ge, le* - - **modified**: *gt, lt, ge, le* - - **owner.id**: *eq, in* - - **accountSource.id**: *eq, in* - - **enabled**: *eq* - example: enabled eq true - explode: true - in: query - name: filters - required: false + - description: The Source id + in: path + name: id + required: true schema: type: string - style: form responses: - "200": + "202": content: application/json: + example: + id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + status: IN_PROGRESS + payload: + type: SYNCHRONIZE_SOURCE_ATTRIBUTES + dataJson: "{\"sourceId\":\"2c918083746f642c01746f990884012a\"}" schema: - items: - $ref: '#/components/schemas/SourceApp' - type: array - description: List of source apps + $ref: '#/components/schemas/SourceSyncJob' + description: A Source Sync job "400": content: application/json: @@ -44073,6 +43911,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -44098,67 +43954,62 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:app-roles:manage - summary: List all source apps + summary: Synchronize single source attributes. tags: - - Apps - /source-apps/{id}/access-profiles: + - Sources + /sources/{id}/entitlement-request-config: get: - description: This API returns the list of access profiles for the specified - source app - operationId: listAccessProfilesForSourceApp - parameters: - - description: ID of the source app - in: path - name: id - required: true - schema: - example: 2c91808a7813090a017814121e121518 - type: string - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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* - - **name**: *eq, in* + description: |- + This API gets the current entitlement request configuration for a source. This source-level configuration should apply for all the entitlements in the source. - **created**: *gt, lt, ge, le* + Access request to any entitlements in the source should follow this configuration unless a separate entitlement-level configuration is defined. + - During access request, this source-level entitlement request configuration overrides the global organization-level configuration. + - However, the entitlement-level configuration (if defined) overrides this source-level configuration. - **modified**: *gt, lt, ge, le* - example: name eq "developer access profile" - explode: true - in: query - name: filters - required: false - schema: - type: string - style: form + A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: getSourceEntitlementRequestConfig responses: "200": content: application/json: + examples: + Get default config: + description: The default config for a source should look like the + following where the empty approvalSchemes indicates that no approvals + are required. + value: + accessRequestConfig: + approvalSchemes: [] + requestCommentRequired: false + denialCommentRequired: false + Get config with one approval: + description: "In case of a single approval, the config could look\ + \ like the following." + value: + accessRequestConfig: + approvalSchemes: + - approverId: null + approverType: SOURCE_OWNER + requestCommentRequired: true + denialCommentRequired: false + Get config with multiple approvals: + description: "In case of multiple levels of approvals the config\ + \ could look like the following. In this scenario, access request\ + \ review process should go through all the approvers sequentially." + value: + accessRequestConfig: + approvalSchemes: + - approverId: null + approverType: ENTITLEMENT_OWNER + - approverId: null + approverType: SOURCE_OWNER + - approverId: 95e538a3-30c1-433a-af05-4bed973bbc22 + approverType: GOVERNANCE_GROUP + requestCommentRequired: true + denialCommentRequired: false schema: - items: - $ref: '#/components/schemas/AccessProfileDetails' - type: array - description: List of access profiles for the specified source app + $ref: '#/components/schemas/SourceEntitlementRequestConfig' + description: Source Entitlement Request Configuration Details. "400": content: application/json: @@ -44217,57 +44068,63 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:manage - summary: List access profiles for the specified source app + - idn:sources:read + - idn:sources:manage + summary: Get Source Entitlement Request Configuration tags: - - Apps - /source-apps/{id}/access-profiles/bulk-remove: - post: - description: This API returns the final list of access profiles for the specified - source app after removing - operationId: deleteAccessProfilesFromSourceAppByBulk - parameters: - - description: ID of the source app - in: path - name: id - required: true - schema: - example: 2c91808a7813090a017814121e121518 - type: string - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer + - Sources + put: + description: |- + This API replaces the current entitlement request configuration for a source. This source-level configuration should apply for all the entitlements in the source. + + Access request to any entitlements in the source should follow this configuration unless a separate entitlement-level configuration is defined. + - During access request, this source-level entitlement request configuration overrides the global organization-level configuration. + - However, the entitlement-level configuration (if defined) overrides this source-level configuration. + + A token with ORG_ADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: updateSourceEntitlementRequestConfig requestBody: content: application/json: - example: - - c9575abb5e3a4e3db82b2f989a738aa2 - - c9dc28e148a24d65b3ccb5fb8ca5ddd9 + examples: + Set config with no approvals: + description: "If no approvals are required, the following config can\ + \ be set." + value: + accessRequestConfig: + approvalSchemes: [] + Set config with one approval: + description: In case of single approval the following config can be + set. + value: + accessRequestConfig: + approvalSchemes: + - approverType: SOURCE_OWNER + requestCommentRequired: true + denialCommentRequired: false + Set config with multiple approvals: + description: "In case of multiple levels of approvals the following\ + \ config can be set. In this scenario, access request review process\ + \ should go through all the approvers sequentially." + value: + accessRequestConfig: + approvalSchemes: + - approverType: ENTITLEMENT_OWNER + - approverType: SOURCE_OWNER + - approverType: GOVERNANCE_GROUP + approverId: 95e538a3-30c1-433a-af05-4bed973bbc22 + requestCommentRequired: true + denialCommentRequired: false schema: - items: - type: string - type: array + $ref: '#/components/schemas/SourceEntitlementRequestConfig' required: true responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/AccessProfileDetails' - type: array - description: The final list of access profiles for the specified source - app + $ref: '#/components/schemas/SourceEntitlementRequestConfig' + description: Source Entitlement Request Configuration Details. "400": content: application/json: @@ -44326,36 +44183,41 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:manage - summary: Bulk remove access profiles from the specified source app + - idn:sources:manage + summary: Update Source Entitlement Request Configuration tags: - - Apps - /task-status/{id}: - get: - description: Get a TaskStatus for a task by task ID. - operationId: getTaskStatus + - Sources + /sources/{id}/load-accounts: + post: + description: "Starts an account aggregation on the specified source. \nIf the\ + \ target source is a delimited file source, then the CSV file needs to be\ + \ included in the request body.\nYou will also need to set the Content-Type\ + \ header to `multipart/form-data`.\nA token with ORG_ADMIN, SOURCE_ADMIN,\ + \ or SOURCE_SUBADMIN authority is required to call this API." + operationId: importAccounts parameters: - - description: Task ID. - example: 00eebcf881994e419d72e757fd30dc0e - explode: false + - description: Source Id + example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true schema: type: string - style: simple + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/importAccounts_request' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/importAccounts_request_1' responses: - "200": + "202": content: application/json: schema: - $ref: '#/components/schemas/TaskStatus' - description: Responds with a TaskStatus for the task with the given task - ID. - "403": - description: "Forbidden, generally due to a lack of security rights" - "404": - description: TaskStatus with the given id was not found. + $ref: '#/components/schemas/LoadAccountsTask' + description: Aggregate Accounts Task "400": content: application/json: @@ -44369,6 +44231,24 @@ paths: $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' description: "Unauthorized - Returned if there is no authorization header,\ \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: @@ -44396,54 +44276,51 @@ paths: error. security: - UserContextAuth: - - idn:task-management:read - summary: Get task status by ID. + - idn:sources:manage + summary: Account Aggregation tags: - - Task Management - patch: - description: Update a current task status by task ID. Use this API to clear - a pending task by updating the completionStatus and completed attributes. - operationId: updateTaskStatus + - Sources + /sources/{id}/load-entitlements: + post: + description: "Starts an entitlement aggregation on the specified source. \n\ + If the target source is a delimited file source, then the CSV file needs to\ + \ be included in the request body. \nYou will also need to set the Content-Type\ + \ header to `multipart/form-data`.\nA token with ORG_ADMIN, SOURCE_ADMIN,\ + \ or SOURCE_SUBADMIN authority is required to call this API." + operationId: importEntitlements parameters: - - description: Task ID. - example: 00eebcf881994e419d72e757fd30dc0e - explode: false + - description: Source Id + example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true schema: type: string - style: simple requestBody: content: - application/json-patch+json: + multipart/form-data: schema: - example: - - op: replace - path: /completionStatus - value: Error - - op: replace - path: /completed - value: 2024-05-17T19:33:16.470Z - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - description: The JSONPatch payload used to update the object. - required: true + $ref: '#/components/schemas/importEntitlements_request' responses: - "200": + "202": content: application/json: schema: - $ref: '#/components/schemas/TaskStatus' - description: "This response indicates the PATCH operation succeeded, and\ - \ the API returns the updated task object." + $ref: '#/components/schemas/LoadEntitlementTask' + description: Aggregate Entitlements Task "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -44462,31 +44339,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." "429": content: application/json: @@ -44514,93 +44366,35 @@ paths: error. security: - UserContextAuth: - - idn:task-management:write - summary: Update task status by ID + - idn:entitlements:manage + summary: Entitlement Aggregation tags: - - Task Management - /task-status: - get: - description: | - Use this endpoint to get a list of **completed** tasks. To get a list of tasks **in-progress**, please use the [get pending tasks](https://developer.sailpoint.com/docs/api/beta/get-pending-tasks) endpoint. - operationId: getTaskStatusList + - Sources + /sources/{id}/load-uncorrelated-accounts: + post: + description: File is required for upload. You will also need to set the Content-Type + header to `multipart/form-data` + operationId: importUncorrelatedAccounts parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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* - example: completionStatus eq "Success" - in: query - name: filters - required: false - schema: - type: string - - 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** - example: -created - in: query - name: sorters - required: false + - description: Source Id + example: 75dbec1ebe154d5785da27b95e1dd5d7 + in: path + name: id + required: true schema: - format: comma-separated type: string + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/putPasswordDictionary_request' responses: - "200": + "202": content: application/json: schema: - items: - $ref: '#/components/schemas/TaskStatus' - type: array - description: Responds with a TaskStatus for the task with the given task - ID. + $ref: '#/components/schemas/LoadUncorrelatedAccountsTask' + description: Uncorrelated Accounts Task "400": content: application/json: @@ -44632,24 +44426,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -44677,149 +44453,44 @@ paths: error. security: - UserContextAuth: - - idn:task-management:read - summary: Retrieve a task status list. + - idn:sources:manage + summary: Process Uncorrelated Accounts tags: - - Task Management - /task-status/pending-tasks: + - Sources + /sources/{id}/correlation-config: get: - description: Retrieve a list of TaskStatus for pending tasks. - operationId: getPendingTasks + description: |- + This API returns the existing correlation configuration for a source specified by the given ID. + A token with ORG_ADMIN authority is required to call this API. + operationId: getCorrelationConfig parameters: - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false + - description: The source id + example: 2c9180835d191a86015d28455b4a2329 + in: path + name: id + required: true schema: - default: false - type: boolean + type: string responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/TaskStatus' - type: array - description: Responds with a list of TaskStatus for pending tasks. - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + $ref: '#/components/schemas/CorrelationConfig' + description: Correlation configuration for a source "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - security: - - UserContextAuth: - - idn:task-management:read - summary: Retrieve a pending task list. - tags: - - Task Management - head: - description: Retrieve headers for a list of TaskStatus for pending tasks. - operationId: getPendingTaskHeaders - parameters: - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - responses: - "200": - description: Responds with headers for List of TaskStatus for pending tasks. - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. - "400": + "401": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -44838,114 +44509,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - security: - - UserContextAuth: - - idn:task-management:read - summary: Retrieve headers only for pending task list. - tags: - - Task Management - /tagged-objects: - get: - description: |- - This API returns a list of all tagged objects. - - Any authenticated token may be used to call this API. - operationId: listTaggedObjects - parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: - - **objectRef.id**: *eq, in* - - **objectRef.type**: *eq, in* - - **tagName**: *eq, in* - example: tagName eq "BU_FINANCE" - in: query - name: filters - required: false - schema: - type: string - responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/TaggedObject' - type: array - description: List of all tagged objects. - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." - "403": + "404": content: application/json: examples: - "403": - summary: An example of a 403 response object + "404": + summary: An example of a 404 response object value: - detailCode: 403 Forbidden + detailCode: 404 Not found trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. + text: The server did not find a current representation for the + target resource. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -44973,26 +44554,36 @@ paths: error. security: - UserContextAuth: - - idn:tag:read - - idn:tag:manage - summary: List Tagged Objects + - idn:sources:read + summary: Get Source Correlation Configuration tags: - - Tagged Objects - post: - description: |- - This adds a tag to an object. - - Any authenticated token may be used to call this API. - operationId: setTagToObject + - Sources + put: + description: "Replaces the correlation configuration for the source specified\ + \ by the given ID with the configuration provided in the request body.\n \ + \ \nA token with ORG_ADMIN authority is required to call this API." + operationId: putCorrelationConfig + parameters: + - description: The source id + example: 2c9180835d191a86015d28455b4a2329 + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/TaggedObject' + $ref: '#/components/schemas/CorrelationConfig' required: true responses: - "201": - description: Created. + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/CorrelationConfig' + description: Updated correlation configuration for a source "400": content: application/json: @@ -45024,6 +44615,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -45051,84 +44660,20 @@ paths: error. security: - UserContextAuth: - - idn:tag:manage - summary: Add Tag to Object + - idn:sources:update + summary: Update Source Correlation Configuration tags: - - Tagged Objects - /tagged-objects/{type}: - get: - description: |- - This API returns a list of all tagged objects by type. - - Any authenticated token may be used to call this API. - operationId: listTaggedObjectsByType + - Sources + /source-apps/{id}: + delete: + description: Use this API to delete a specific source app + operationId: deleteSourceApp parameters: - - description: The type of tagged object to retrieve. - example: ROLE + - description: source app ID. + example: 2c9180835d191a86015d28455b4a2329 in: path - name: type + name: id required: true - schema: - enum: - - ACCESS_PROFILE - - APPLICATION - - CAMPAIGN - - ENTITLEMENT - - IDENTITY - - ROLE - - SOD_POLICY - - SOURCE - type: string - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: - - **objectRef.id**: *eq* - - **objectRef.type**: *eq* - example: objectRef.id eq "2c91808568c529c60168cca6f90c1313" - in: query - name: filters - required: false schema: type: string responses: @@ -45136,10 +44681,8 @@ paths: content: application/json: schema: - items: - $ref: '#/components/schemas/TaggedObject' - type: array - description: List of all tagged objects for specified type. + $ref: '#/components/schemas/SourceApp' + description: Responds with the source app as deleted. "400": content: application/json: @@ -45198,42 +44741,29 @@ paths: error. security: - UserContextAuth: - - idn:tag:read - - idn:tag:manage - summary: List Tagged Objects by Type + - idn:app-roles:manage + - idn:app-roles:delete + summary: Delete source app by ID tags: - - Tagged Objects - /tagged-objects/{type}/{id}: - delete: - description: This deletes a tagged object for the specified type. - operationId: deleteTaggedObject + - Apps + get: + description: This API returns a source app by its ID. + operationId: getSourceApp parameters: - - description: The type of tagged object to delete. - example: ROLE - in: path - name: type - required: true - schema: - enum: - - ACCESS_PROFILE - - APPLICATION - - CAMPAIGN - - ENTITLEMENT - - IDENTITY - - ROLE - - SOD_POLICY - - SOURCE - type: string - - description: The ID of the object reference to delete. - example: ef38f94347e94562b5bb8424a56397d8 + - description: ID of the source app in: path name: id required: true schema: + example: 2c91808a7813090a017814121e121518 type: string responses: - "204": - description: No content. + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SourceApp' + description: Responds with the source app. "400": content: application/json: @@ -45265,6 +44795,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -45292,44 +44840,95 @@ paths: error. security: - UserContextAuth: - - idn:tag:manage - summary: Delete Tagged Object + - idn:app-roles:read + summary: Get source app by ID tags: - - Tagged Objects - get: - description: This gets a tagged object for the specified type. - operationId: getTaggedObject + - Apps + patch: + description: |- + This API updates an existing source app using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. + The following fields are patchable: **name**, **description**, **enabled**, **owner**, **provisionRequestEnabled**, **appCenterEnabled**, **accountSource**, **matchAllAccounts** and **accessProfiles**. + Name, description and owner can't be empty or null. + operationId: patchSourceApp parameters: - - description: The type of tagged object to retrieve. - example: ROLE - in: path - name: type - required: true - schema: - enum: - - ACCESS_PROFILE - - APPLICATION - - CAMPAIGN - - ENTITLEMENT - - IDENTITY - - ROLE - - SOD_POLICY - - SOURCE - type: string - - description: The ID of the object reference to retrieve. - example: ef38f94347e94562b5bb8424a56397d8 + - description: ID of the source app to patch in: path name: id required: true schema: + example: 2c91808a7813090a017814121e121518 type: string - responses: - "200": - content: + requestBody: + content: + application/json-patch+json: + examples: + Make an app enabled and matchAllAccounts in one call: + description: This example shows how multiple fields may be updated + with a single patch call. + value: + - op: replace + path: /enabled + value: true + - op: replace + path: /matchAllAccounts + value: true + Replace an owner for an source app: + description: This example shows how to use patch to replace the source + app's owner by replacing the owner's info. + value: + - op: replace + path: /owner + value: + id: 2c9180858315595501831958427e5424 + Update the description for the source app: + description: This example shows how to use patch to update a description + for the source app. + value: + - op: replace + path: /description + value: new description for the source app + Update the name for the source app: + description: This example shows how to use patch to update the source + app's name. + value: + - op: replace + path: /name + value: source app new name + Add access profile: + description: Add one access profile to the existing list + value: + - op: add + path: /accessProfiles/- + value: 2c9180857725c14301772a93bb77242d + Replace access profiles: + description: Replace all access profiles with a new list of access + profiles + value: + - op: replace + path: /accessProfiles + value: + - 2c9180857725c14301772a93bb77242d + - c9575abb5e3a4e3db82b2f989a738aa2 + Remove access profile: + description: Remove the first access profile in the list + value: + - op: remove + path: /accessProfiles/0 + schema: + example: + - op: replace + path: /enabled + value: true + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + responses: + "200": + content: application/json: schema: - $ref: '#/components/schemas/TaggedObject' - description: Tagged object by type and ID. + $ref: '#/components/schemas/SourceAppPatchDto' + description: Responds with the source app as updated. "400": content: application/json: @@ -45361,6 +44960,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -45388,51 +45005,26 @@ paths: error. security: - UserContextAuth: - - idn:tag:read - - idn:tag:manage - summary: Get Tagged Object + - idn:app-roles:manage + summary: Patch source app by ID tags: - - Tagged Objects - put: - description: This updates a tagged object for the specified type. - operationId: putTaggedObject - parameters: - - description: The type of tagged object to update. - example: ROLE - in: path - name: type - required: true - schema: - enum: - - ACCESS_PROFILE - - APPLICATION - - CAMPAIGN - - ENTITLEMENT - - IDENTITY - - ROLE - - SOD_POLICY - - SOURCE - type: string - - description: The ID of the object reference to update. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id - required: true - schema: - type: string + - Apps + /source-apps/bulk-update: + post: + description: |- + This API updates source apps using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. It can update up to 50 source apps in a batch. + The following fields can be updated: **name**, **description**, **enabled**, **owner**, **provisionRequestEnabled**, **appCenterEnabled**, **accountSource**, **matchAllAccounts**, and **accessProfiles**. + Name, description and owner can't be empty or null. + operationId: updateSourceAppsInBulk requestBody: content: application/json: schema: - $ref: '#/components/schemas/TaggedObject' - required: true + $ref: '#/components/schemas/SourceAppBulkUpdateRequest' responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/TaggedObject' - description: Tagged object by type and ID. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -45464,6 +45056,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -45491,32 +45101,86 @@ paths: error. security: - UserContextAuth: - - idn:tag:manage - summary: Update Tagged Object + - idn:app-roles:manage + summary: Bulk update source apps tags: - - Tagged Objects - /tagged-objects/bulk-add: - post: - description: |- - This API adds tags to multiple objects. + - Apps + /source-apps/assigned: + get: + description: This API returns the list of source apps assigned for logged in + user. + operationId: listAssignedSourceApp + parameters: + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. - A token with API, CERT_ADMIN, ORG_ADMIN, REPORT_ADMIN, ROLE_ADMIN, ROLE_SUBADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: setTagsToManyObjects - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BulkTaggedObject' - description: "Supported object types are ACCESS_PROFILE, APPLICATION, CAMPAIGN,\ - \ ENTITLEMENT, IDENTITY, ROLE, SOD_POLICY, SOURCE." - required: true + Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. + + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: **id, name, created, modified, accountSource.id** + example: "name,-modified" + explode: true + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string + style: form + - 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* + + **name**: *eq, in, co, sw* + + **created**: *gt, lt, ge, le* + + **modified**: *gt, lt, ge, le* + + **accountSource.id**: *eq, in* + example: name eq "source app name" + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/BulkTaggedObject' - description: Request succeeded. + items: + $ref: '#/components/schemas/SourceApp' + type: array + description: List of source apps "400": content: application/json: @@ -45575,29 +45239,85 @@ paths: error. security: - UserContextAuth: - - idn:tag:manage - summary: Tag Multiple Objects + - idn:app-roles:read + summary: List assigned source apps tags: - - Tagged Objects - /tagged-objects/bulk-remove: - post: - description: |- - This API removes tags from multiple objects. + - Apps + /source-apps: + get: + description: This API returns the list of source apps available for access request. + operationId: listAvailableSourceApps + parameters: + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. - A token with API, CERT_ADMIN, ORG_ADMIN, REPORT_ADMIN, ROLE_ADMIN, ROLE_SUBADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. - operationId: deleteTagsToManyObject - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BulkTaggedObject' - description: "Supported object types are ACCESS_PROFILE, APPLICATION, CAMPAIGN,\ - \ ENTITLEMENT, IDENTITY, ROLE, SOD_POLICY, SOURCE." - required: true + Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. + + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: **id, name, created, modified, owner.id, accountSource.id** + example: "name,-modified" + explode: true + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string + style: form + - 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* + + **name**: *eq, in, co, sw* + + **created**: *gt, lt, ge, le* + + **modified**: *gt, lt, ge, le* + + **accountSource.id**: *eq, in* + example: name eq "source app name" + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SourceApp' + type: array + description: List of source apps "400": content: application/json: @@ -45656,21 +45376,32 @@ paths: error. security: - UserContextAuth: - - idn:tag:manage - summary: Remove Tags from Multiple Objects + - idn:app-roles:read + summary: List available source apps tags: - - Tagged Objects - /tenant: - get: - description: This rest endpoint can be used to retrieve tenant details. - operationId: getTenant + - Apps + post: + description: This endpoint creates a source app using the given source app payload + operationId: createSourceApp + requestBody: + content: + application/json: + example: + name: new app name + description: app description + matchAllAccounts: true + accountSource: + id: edcb0951812949d085b60cd8bf35bc78 + schema: + $ref: '#/components/schemas/SourceAppCreateDto' + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Tenant' - description: Tenant Info + $ref: '#/components/schemas/SourceApp' + description: Responds with the source app as created. "400": content: application/json: @@ -45702,24 +45433,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -45747,29 +45460,18 @@ paths: error. security: - UserContextAuth: - - sp:tenant:read - summary: Get Tenant Information. + - idn:app-roles:manage + summary: Create source app tags: - - Tenant - /transforms: + - Apps + /source-apps/all: get: description: |- - Gets a list of all saved transform objects. - A token with transforms-list read authority is required to call this API. - operationId: listTransforms + This API returns the list of all source apps for the org. + + A token with ORG_ADMIN authority is required to call this API. + operationId: listAllSourceApp parameters: - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - 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. @@ -45796,12 +45498,17 @@ paths: schema: default: false type: boolean - - description: Name of the transform to retrieve from the list. + - 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: **id, name, created, modified, owner.id, accountSource.id** + example: "name,-modified" + explode: true in: query - name: name + name: sorters required: false schema: - example: ExampleTransformName123 + format: comma-separated type: string style: form - description: |- @@ -45809,10 +45516,20 @@ paths: Filtering is supported for the following fields and operators: - **internal**: *eq* + **id**: *eq, in* - **name**: *eq, sw* - example: name eq "Uppercase" + **name**: *eq, in, co, sw* + + **created**: *gt, lt, ge, le* + + **modified**: *gt, lt, ge, le* + + **owner.id**: *eq, in* + + **accountSource.id**: *eq, in* + + **enabled**: *eq* + example: enabled eq true explode: true in: query name: filters @@ -45824,26 +45541,11 @@ paths: "200": content: application/json: - example: - - id: 2cd78adghjkja34jh2b1hkjhasuecd - name: Timestamp To Date - type: dateFormat - attributes: - inputFormat: "MMM-dd-yyyy, HH:mm:ss.SSS" - outputFormat: yyyy/dd/MM - internal: false - - id: 2lkas8dhj4bkuakja77giih7l4ashh - name: PrefixSubstring - type: substring - attributes: - begin: 0 - end: 3 - internal: true schema: items: - $ref: '#/components/schemas/TransformRead' + $ref: '#/components/schemas/SourceApp' type: array - description: A list of transforms matching the given criteria. + description: List of source apps "400": content: application/json: @@ -45875,24 +45577,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -45920,40 +45604,65 @@ paths: error. security: - UserContextAuth: - - idn:transform:read - - idn:transform:manage - summary: List transforms + - idn:app-roles:manage + summary: List all source apps tags: - - Transforms - post: - description: "Creates a new transform object immediately. By default, the internal\ - \ flag is set to false to indicate that this is a custom transform. Only SailPoint\ - \ employees have the ability to create a transform with internal set to true.\ - \ Newly created Transforms can be used in the Identity Profile mappings within\ - \ the UI. A token with transform write authority is required to call this\ - \ API." - operationId: createTransform - requestBody: - content: - application/json: - example: - name: Timestamp To Date - type: dateFormat - attributes: - inputFormat: "MMM dd yyyy, HH:mm:ss.SSS" - outputFormat: yyyy/dd/MM - schema: - $ref: '#/components/schemas/Transform' - description: The transform to be created. + - Apps + /source-apps/{id}/access-profiles: + get: + description: This API returns the list of access profiles for the specified + source app + operationId: listAccessProfilesForSourceApp + parameters: + - description: ID of the source app + in: path + name: id required: true + schema: + example: 2c91808a7813090a017814121e121518 + type: string + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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* + + **name**: *eq, in* + + **created**: *gt, lt, ge, le* + + **modified**: *gt, lt, ge, le* + example: name eq "developer access profile" + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/TransformRead' - description: Indicates the transform was successfully created and returns - its representation. + items: + $ref: '#/components/schemas/AccessProfileDetails' + type: array + description: List of access profiles for the specified source app "400": content: application/json: @@ -45985,24 +45694,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -46030,30 +45721,57 @@ paths: error. security: - UserContextAuth: - - idn:transform:manage - summary: Create transform + - idn:app-roles:manage + summary: List access profiles for the specified source app tags: - - Transforms - /transforms/{id}: - delete: - description: |- - Deletes the transform specified by the given ID. Attempting to delete a transform that is used in one or more Identity Profile mappings will result in an error. If this occurs, you must first remove the transform from all mappings before deleting the transform. - A token with transform delete authority is required to call this API. - operationId: deleteTransform + - Apps + /source-apps/{id}/access-profiles/bulk-remove: + post: + description: This API returns the final list of access profiles for the specified + source app after removing + operationId: deleteAccessProfilesFromSourceAppByBulk parameters: - - description: ID of the transform to delete - example: 2cd78adghjkja34jh2b1hkjhasuecd - explode: false + - description: ID of the source app in: path name: id required: true schema: + example: 2c91808a7813090a017814121e121518 type: string - style: simple + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + requestBody: + content: + application/json: + example: + - c9575abb5e3a4e3db82b2f989a738aa2 + - c9dc28e148a24d65b3ccb5fb8ca5ddd9 + schema: + items: + type: string + type: array + required: true responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/AccessProfileDetails' + type: array + description: The final list of access profiles for the specified source + app "400": content: application/json: @@ -46085,24 +45803,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -46130,18 +45830,17 @@ paths: error. security: - UserContextAuth: - - idn:transform:manage - summary: Delete a transform + - idn:app-roles:manage + summary: Bulk remove access profiles from the specified source app tags: - - Transforms + - Apps + /task-status/{id}: get: - description: |- - This API returns the transform specified by the given ID. - A token with transform read authority is required to call this API. - operationId: getTransform + description: Get a TaskStatus for a task by task ID. + operationId: getTaskStatus parameters: - - description: ID of the transform to retrieve - example: 2cd78adghjkja34jh2b1hkjhasuecd + - description: Task ID. + example: 00eebcf881994e419d72e757fd30dc0e explode: false in: path name: id @@ -46154,8 +45853,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TransformRead' - description: Transform with the given ID + $ref: '#/components/schemas/TaskStatus' + description: Responds with a TaskStatus for the task with the given task + ID. + "403": + description: "Forbidden, generally due to a lack of security rights" + "404": + description: TaskStatus with the given id was not found. "400": content: application/json: @@ -46169,42 +45873,6 @@ paths: $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' description: "Unauthorized - Returned if there is no authorization header,\ \ or if the JWT token is expired." - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -46232,19 +45900,17 @@ paths: error. security: - UserContextAuth: - - idn:transform:read - - idn:transform:manage - summary: Transform by ID + - idn:task-management:read + summary: Get task status by ID. tags: - - Transforms - put: - description: |- - Replaces the transform specified by the given ID with the transform provided in the request body. Only the "attributes" field is mutable. Attempting to change other properties (ex. "name" and "type") will result in an error. - A token with transform write authority is required to call this API. - operationId: updateTransform + - Task Management + patch: + description: Update a current task status by task ID. Use this API to clear + a pending task by updating the completionStatus and completed attributes. + operationId: updateTaskStatus parameters: - - description: ID of the transform to update - example: 2cd78adghjkja34jh2b1hkjhasuecd + - description: Task ID. + example: 00eebcf881994e419d72e757fd30dc0e explode: false in: path name: id @@ -46254,46 +45920,34 @@ paths: style: simple requestBody: content: - application/json: - example: - name: Timestamp To Date - type: dateFormat - attributes: - inputFormat: "MMM-dd-yyyy, HH:mm:ss.SSS" - outputFormat: yyyy/dd/MM + application/json-patch+json: schema: - $ref: '#/components/schemas/Transform' - description: "The updated transform object. Must include \"name\", \"type\"\ - , and \"attributes\" fields, but \"name\" and \"type\" must not be modified." + example: + - op: replace + path: /completionStatus + value: Error + - op: replace + path: /completed + value: 2024-05-17T19:33:16.470Z + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + description: The JSONPatch payload used to update the object. + required: true responses: "200": content: application/json: - example: - id: 2cd78adghjkja34jh2b1hkjhasuecd - name: Timestamp To Date - type: dateFormat - attributes: - inputFormat: "MMM-dd-yyyy, HH:mm:ss.SSS" - outputFormat: yyyy/dd/MM - internal: false schema: - $ref: '#/components/schemas/TransformRead' - description: Indicates the transform was successfully updated and returns - its new representation. + $ref: '#/components/schemas/TaskStatus' + description: "This response indicates the PATCH operation succeeded, and\ + \ the API returns the updated task object." "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." "403": content: application/json: @@ -46330,68 +45984,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": - content: - application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - idn:transform:manage - summary: Update a transform - tags: - - Transforms - /translation-catalogs/{catalog-id}: - get: - description: The getMessageCatalogs API returns message catalog based on the - language headers in the requested object. - operationId: getMessageCatalogs - parameters: - - description: The ID of the message catalog. - example: recommender - in: path - name: catalog-id - required: true - schema: - enum: - - recommender - - access-request-recommender - type: string - responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/MessageCatalogDto' - type: array - description: The message catalogs based on the request headers - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. "401": content: application/json: @@ -46399,24 +45991,6 @@ paths: $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' description: "Unauthorized - Returned if there is no authorization header,\ \ or if the JWT token is expired." - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." "429": content: application/json: @@ -46443,14 +46017,16 @@ paths: description: Internal Server Error - Returned if there is an unexpected error. security: - - UserContextAuth: [] - summary: Get Message catalogs + - UserContextAuth: + - idn:task-management:write + summary: Update task status by ID tags: - - IAI Message Catalogs - /triggers: + - Task Management + /task-status: get: - description: Gets a list of triggers that are available in the tenant. - operationId: listTriggers + description: | + Use this endpoint to get a list of **completed** tasks. To get a list of tasks **in-progress**, please use the [get pending tasks](https://developer.sailpoint.com/docs/api/beta/get-pending-tasks) endpoint. + operationId: getTaskStatusList parameters: - description: |- Max number of results to return. @@ -46495,8 +46071,14 @@ paths: Filtering is supported for the following fields and operators: - **id**: *eq, ge, le* - example: id eq "idn:access-request-post-approval" + **id**: *eq, in* + + **sourceId**: *eq, in* + + **completionStatus**: *eq, in* + + **type**: *eq, in* + example: completionStatus eq "Success" in: query name: filters required: false @@ -46505,8 +46087,8 @@ paths: - 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: **id, name** - example: name + Sorting is supported for the following fields: **created** + example: -created in: query name: sorters required: false @@ -46519,9 +46101,10 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/Trigger' + $ref: '#/components/schemas/TaskStatus' type: array - description: List of triggers. + description: Responds with a TaskStatus for the task with the given task + ID. "400": content: application/json: @@ -46553,6 +46136,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -46580,15 +46181,27 @@ paths: error. security: - UserContextAuth: - - sp:trigger-service-subscriptions:read - summary: List Triggers + - idn:task-management:read + summary: Retrieve a task status list. tags: - - Triggers - /trigger-subscriptions: + - Task Management + /task-status/pending-tasks: get: - description: Gets a list of all trigger subscriptions. - operationId: listSubscriptions + description: Retrieve a list of TaskStatus for pending tasks. + operationId: getPendingTasks parameters: + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer - 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. @@ -46602,6 +46215,65 @@ paths: maximum: 250 minimum: 0 type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/TaskStatus' + type: array + description: Responds with a list of TaskStatus for pending tasks. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + security: + - UserContextAuth: + - idn:task-management:read + summary: Retrieve a pending task list. + tags: + - Task Management + head: + description: Retrieve headers for a list of TaskStatus for pending tasks. + operationId: getPendingTaskHeaders + parameters: - 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. @@ -46614,6 +46286,19 @@ paths: format: int32 minimum: 0 type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer - 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. @@ -46627,93 +46312,113 @@ paths: schema: default: false type: boolean - - 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* - - **triggerId**: *eq* - - **type**: *eq, le* - example: id eq "12cff757-c0c0-413b-8ad7-2a47956d1e89" + responses: + "200": + description: Responds with headers for List of TaskStatus for pending tasks. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + security: + - UserContextAuth: + - idn:task-management:read + summary: Retrieve headers only for pending task list. + tags: + - Task Management + /tagged-objects: + get: + description: |- + This API returns a list of all tagged objects. + + Any authenticated token may be used to call this API. + operationId: listTaggedObjects + parameters: + - 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. + example: 250 in: query - name: filters + name: limit required: false schema: - type: string + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer - 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) + Offset into the full result set. Usually specified with *limit* to paginate through the results. + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. - Sorting is supported for the following fields: **triggerId, triggerName** - example: triggerName + Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. + + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: true in: query - name: sorters + name: count + required: false + schema: + default: false + type: boolean + - 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: + + **objectRef.id**: *eq, in* + + **objectRef.type**: *eq, in* + + **tagName**: *eq, in* + example: tagName eq "BU_FINANCE" + in: query + name: filters required: false schema: - format: comma-separated type: string responses: "200": content: application/json: - examples: - HTTP Subscription: - value: - - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - name: Access request subscription - description: Access requested to site xyz - triggerId: idn:access-requested - triggerName: Access Requested - type: HTTP - httpConfig: - url: https://www.example.com - httpDispatchMode: SYNC - httpAuthenticationType: BASIC_AUTH - basicAuthConfig: - userName: user@example.com - password: null - enabled: true - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ - )]" - HTTP Async Subscription: - value: - name: Access request subscription - description: Access requested to site xyz - triggerId: idn:access-requested - triggerName: Access Requested - type: HTTP - responseDeadline: PT1H - httpConfig: - url: https://www.example.com - httpDispatchMode: ASYNC - httpAuthenticationType: BASIC_AUTH - basicAuthConfig: - userName: user@example.com - password: null - enabled: true - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ - )]" - EventBridge Subscription: - value: - - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - name: Access request subscription - description: Access requested to site xyz - triggerId: idn:access-requested - triggerName: Access Requested - type: EVENTBRIDGE - eventBridgeConfig: - awsAccount: "123456789012" - awsRegion: us-west-1 - enabled: true - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ - )]" schema: items: - $ref: '#/components/schemas/Subscription' + $ref: '#/components/schemas/TaggedObject' type: array - description: List of subscriptions. + description: List of all tagged objects. "400": content: application/json: @@ -46772,76 +46477,26 @@ paths: error. security: - UserContextAuth: - - sp:trigger-service-subscriptions:read - summary: List Subscriptions + - idn:tag:read + - idn:tag:manage + summary: List Tagged Objects tags: - - Triggers + - Tagged Objects post: description: |- - This API creates a new subscription to a trigger and defines trigger invocation details. The type of subscription determines which config object is required: - * HTTP subscriptions require httpConfig - * EventBridge subscriptions require eventBridgeConfig - operationId: createSubscription + This adds a tag to an object. + + Any authenticated token may be used to call this API. + operationId: setTagToObject requestBody: content: application/json: - examples: - HTTP Subscription: - value: - name: Access request subscription - description: Access requested to site xyz - triggerId: idn:access-requested - type: HTTP - httpConfig: - url: https://www.example.com - httpDispatchMode: SYNC - httpAuthenticationType: BASIC_AUTH - basicAuthConfig: - userName: user@example.com - password: eRtg4%6yuI! - enabled: true - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ - )]" - HTTP Async Subscription: - value: - name: Access request subscription - description: Access requested to site xyz - triggerId: idn:access-requested - type: HTTP - responseDeadline: PT1H - httpConfig: - url: https://www.example.com - httpDispatchMode: ASYNC - httpAuthenticationType: BASIC_AUTH - basicAuthConfig: - userName: user@example.com - password: eRtg4%6yuI! - enabled: true - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ - )]" - EventBridge Subscription: - value: - name: Access request subscription - description: Access requested to site xyz - triggerId: idn:access-requested - type: EVENTBRIDGE - eventBridgeConfig: - awsAccount: "123456789012" - awsRegion: us-west-1 - enabled: true - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ - )]" schema: - $ref: '#/components/schemas/SubscriptionPostRequest' + $ref: '#/components/schemas/TaggedObject' required: true responses: "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Subscription' - description: New subscription to a trigger. The trigger can now be invoked - by the method defined in the subscription. + description: Created. "400": content: application/json: @@ -46900,26 +46555,95 @@ paths: error. security: - UserContextAuth: - - sp:trigger-service-subscriptions:manage - summary: Create a Subscription + - idn:tag:manage + summary: Add Tag to Object tags: - - Triggers - /trigger-subscriptions/{id}: - delete: - description: Deletes an existing subscription to a trigger. - operationId: deleteSubscription + - Tagged Objects + /tagged-objects/{type}: + get: + description: |- + This API returns a list of all tagged objects by type. + + Any authenticated token may be used to call this API. + operationId: listTaggedObjectsByType parameters: - - description: Subscription ID - example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + - description: The type of tagged object to retrieve. + example: ROLE in: path - name: id + name: type required: true + schema: + enum: + - ACCESS_PROFILE + - APPLICATION + - CAMPAIGN + - ENTITLEMENT + - IDENTITY + - ROLE + - SOD_POLICY + - SOURCE + type: string + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: + + **objectRef.id**: *eq* + + **objectRef.type**: *eq* + example: objectRef.id eq "2c91808568c529c60168cca6f90c1313" + in: query + name: filters + required: false schema: type: string responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/TaggedObject' + type: array + description: List of all tagged objects for specified type. "400": content: application/json: @@ -46951,24 +46675,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -46996,37 +46702,42 @@ paths: error. security: - UserContextAuth: - - sp:trigger-service-subscriptions:manage - summary: Delete a Subscription + - idn:tag:read + - idn:tag:manage + summary: List Tagged Objects by Type tags: - - Triggers - patch: - description: |- - This API updates a trigger subscription in IdentityNow, using a set of instructions to modify a subscription partially. The following fields are patchable: - - **name**, **description**, **enabled**, **type**, **filter**, **responseDeadline**, **httpConfig**, **eventBridgeConfig**, **workflowConfig** - operationId: patchSubscription + - Tagged Objects + /tagged-objects/{type}/{id}: + delete: + description: This deletes a tagged object for the specified type. + operationId: deleteTaggedObject parameters: - - description: ID of the Subscription to patch - example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + - description: The type of tagged object to delete. + example: ROLE in: path - name: id + name: type required: true schema: + enum: + - ACCESS_PROFILE + - APPLICATION + - CAMPAIGN + - ENTITLEMENT + - IDENTITY + - ROLE + - SOD_POLICY + - SOURCE type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/SubscriptionPatchRequest' + - description: The ID of the object reference to delete. + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id required: true + schema: + type: string responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Subscription' - description: Updated subscription. + "204": + description: No content. "400": content: application/json: @@ -47058,24 +46769,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -47103,87 +46796,44 @@ paths: error. security: - UserContextAuth: - - sp:trigger-service-subscriptions:manage - summary: Patch a Subscription + - idn:tag:manage + summary: Delete Tagged Object tags: - - Triggers - put: - description: |- - This API updates a trigger subscription in IdentityNow, using a full object representation. In other words, the existing - Subscription is completely replaced. The following fields are immutable: - - - * id - - * triggerId - - - Attempts to modify these fields result in 400. - operationId: updateSubscription + - Tagged Objects + get: + description: This gets a tagged object for the specified type. + operationId: getTaggedObject parameters: - - description: Subscription ID - example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + - description: The type of tagged object to retrieve. + example: ROLE in: path - name: id + name: type required: true schema: + enum: + - ACCESS_PROFILE + - APPLICATION + - CAMPAIGN + - ENTITLEMENT + - IDENTITY + - ROLE + - SOD_POLICY + - SOURCE type: string - requestBody: - content: - application/json: - examples: - HTTP Subscription: - value: - name: Access request subscription - description: Access requested to site xyz - type: HTTP - httpConfig: - url: https://www.example.com - httpDispatchMode: SYNC - httpAuthenticationType: BASIC_AUTH - basicAuthConfig: - userName: user@example.com - password: eRtg4%6yuI! - enabled: true - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ - )]" - HTTP Async Subscription: - value: - name: Access request subscription - description: Access requested to site xyz - type: HTTP - responseDeadline: PT1H - httpConfig: - url: https://www.example.com - httpDispatchMode: ASYNC - httpAuthenticationType: BASIC_AUTH - basicAuthConfig: - userName: user@example.com - password: eRtg4%6yuI! - enabled: true - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ - )]" - EventBridge Subscription: - value: - name: Access request subscription - description: Access requested to site xyz - type: EVENTBRIDGE - eventBridgeConfig: - awsAccount: "123456789012" - awsRegion: us-west-1 - enabled: true - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ - )]" - schema: - $ref: '#/components/schemas/SubscriptionPutRequest' + - description: The ID of the object reference to retrieve. + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id required: true + schema: + type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Subscription' - description: Updated subscription. + $ref: '#/components/schemas/TaggedObject' + description: Tagged object by type and ID. "400": content: application/json: @@ -47215,33 +46865,15 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": content: application/json: examples: @@ -47260,37 +46892,51 @@ paths: error. security: - UserContextAuth: - - sp:trigger-service-subscriptions:manage - summary: Update a Subscription + - idn:tag:read + - idn:tag:manage + summary: Get Tagged Object tags: - - Triggers - /trigger-subscriptions/validate-filter: - post: - description: "Validates a JSONPath filter expression against a provided mock\ - \ input.\nRequest requires a security scope of: " - operationId: testSubscriptionFilter + - Tagged Objects + put: + description: This updates a tagged object for the specified type. + operationId: putTaggedObject + parameters: + - description: The type of tagged object to update. + example: ROLE + in: path + name: type + required: true + schema: + enum: + - ACCESS_PROFILE + - APPLICATION + - CAMPAIGN + - ENTITLEMENT + - IDENTITY + - ROLE + - SOD_POLICY + - SOURCE + type: string + - description: The ID of the object reference to update. + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: - example: - input: - identityId: 201327fda1c44704ac01181e963d463c - filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\")]" schema: - $ref: '#/components/schemas/ValidateFilterInputDto' + $ref: '#/components/schemas/TaggedObject' required: true responses: "200": content: application/json: - example: - isValid: true - isValidJSONPath: true - isPathExist: true schema: - $ref: '#/components/schemas/ValidateFilterOutputDto' - description: Boolean whether specified filter expression is valid against - the input. + $ref: '#/components/schemas/TaggedObject' + description: Tagged object by type and ID. "400": content: application/json: @@ -47349,90 +46995,32 @@ paths: error. security: - UserContextAuth: - - sp:trigger-service-subscriptions:manage - summary: Validate a Subscription Filter + - idn:tag:manage + summary: Update Tagged Object tags: - - Triggers - /trigger-invocations/status: - get: + - Tagged Objects + /tagged-objects/bulk-add: + post: description: |- - Gets a list of latest invocation statuses. - Statuses of successful invocations are available for up to 24 hours. Statuses of failed invocations are available for up to 48 hours. - This endpoint may only fetch up to 2000 invocations, and should not be treated as a representation of the full history of invocations. - operationId: listTriggerInvocationStatus - parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: - - **triggerId**: *eq* - - **subscriptionId**: *eq* - example: triggerId eq "idn:access-request-dynamic-approver" - in: query - name: filters - required: false - schema: - type: string - - 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) + This API adds tags to multiple objects. - Sorting is supported for the following fields: **triggerId, subscriptionName, created, completed** - example: created - in: query - name: sorters - required: false - schema: - format: comma-separated - type: string + A token with API, CERT_ADMIN, ORG_ADMIN, REPORT_ADMIN, ROLE_ADMIN, ROLE_SUBADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: setTagsToManyObjects + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BulkTaggedObject' + description: "Supported object types are ACCESS_PROFILE, APPLICATION, CAMPAIGN,\ + \ ENTITLEMENT, IDENTITY, ROLE, SOD_POLICY, SOURCE." + required: true responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/InvocationStatus' - type: array - description: List of latest invocation statuses. + $ref: '#/components/schemas/BulkTaggedObject' + description: Request succeeded. "400": content: application/json: @@ -47491,32 +47079,24 @@ paths: error. security: - UserContextAuth: - - sp:trigger-service-invocation-status:read - - sp:trigger-service-invocation-status:manage - summary: List Latest Invocation Statuses + - idn:tag:manage + summary: Tag Multiple Objects tags: - - Triggers - /trigger-invocations/{id}/complete: + - Tagged Objects + /tagged-objects/bulk-remove: post: - description: Completes an invocation to a REQUEST_RESPONSE type trigger. - operationId: completeTriggerInvocation - parameters: - - description: The ID of the invocation to complete. - example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - in: path - name: id - required: true - schema: - type: string + description: |- + This API removes tags from multiple objects. + + A token with API, CERT_ADMIN, ORG_ADMIN, REPORT_ADMIN, ROLE_ADMIN, ROLE_SUBADMIN, SOURCE_ADMIN, or SOURCE_SUBADMIN authority is required to call this API. + operationId: deleteTagsToManyObject requestBody: content: application/json: - example: - secret: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - output: - approved: false schema: - $ref: '#/components/schemas/CompleteInvocation' + $ref: '#/components/schemas/BulkTaggedObject' + description: "Supported object types are ACCESS_PROFILE, APPLICATION, CAMPAIGN,\ + \ ENTITLEMENT, IDENTITY, ROLE, SOD_POLICY, SOURCE." required: true responses: "204": @@ -47578,49 +47158,23 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Complete Trigger Invocation + security: + - UserContextAuth: + - idn:tag:manage + summary: Remove Tags from Multiple Objects tags: - - Triggers - /trigger-invocations/test: - post: - description: "Initiate a test event for all subscribers of the specified event\ - \ trigger. If there are no subscribers to the specified trigger in the tenant,\ - \ then no test event will be sent." - operationId: startTestTriggerInvocation - requestBody: - content: - application/json: - examples: - Test Trigger with Mock Input: - value: - triggerId: idn:access-requested - input: - identityId: 201327fda1c44704ac01181e963d463c - contentJson: - workflowId: 1234 - Send Test to only One Subscriber: - value: - triggerId: idn:access-requested - contentJson: - workflowId: 1234 - subscriptionIds: - - 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - schema: - $ref: '#/components/schemas/TestInvocation' - required: true + - Tagged Objects + /tenant: + get: + description: This rest endpoint can be used to retrieve tenant details. + operationId: getTenant responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/Invocation' - type: array - description: Test trigger invocations that have been started for specified - subscription(s). - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + $ref: '#/components/schemas/Tenant' + description: Tenant Info "400": content: application/json: @@ -47652,6 +47206,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -47679,23 +47251,103 @@ paths: error. security: - UserContextAuth: - - sp:trigger-service-invocation-status:manage - summary: Start a Test Invocation + - sp:tenant:read + summary: Get Tenant Information. tags: - - Triggers - /ui-metadata/tenant: + - Tenant + /transforms: get: description: |- - This API endpoint retrieves UI metadata configured for your tenant. - A token with ORG_ADMIN authority is required to call this API. - operationId: getTenantUiMetadata + Gets a list of all saved transform objects. + A token with transforms-list read authority is required to call this API. + operationId: listTransforms + parameters: + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - description: Name of the transform to retrieve from the list. + in: query + name: name + required: false + schema: + example: ExampleTransformName123 + type: string + style: form + - 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: + + **internal**: *eq* + + **name**: *eq, sw* + example: name eq "Uppercase" + explode: true + in: query + name: filters + required: false + schema: + type: string + style: form responses: "200": content: application/json: + example: + - id: 2cd78adghjkja34jh2b1hkjhasuecd + name: Timestamp To Date + type: dateFormat + attributes: + inputFormat: "MMM-dd-yyyy, HH:mm:ss.SSS" + outputFormat: yyyy/dd/MM + internal: false + - id: 2lkas8dhj4bkuakja77giih7l4ashh + name: PrefixSubstring + type: substring + attributes: + begin: 0 + end: 3 + internal: true schema: - $ref: '#/components/schemas/TenantUiMetadataItemResponse' - description: A tenant UI metadata object + items: + $ref: '#/components/schemas/TransformRead' + type: array + description: A list of transforms matching the given criteria. "400": content: application/json: @@ -47772,28 +47424,40 @@ paths: error. security: - UserContextAuth: - - idn:ui-access-metadata-page:read - summary: Get a tenant UI metadata + - idn:transform:read + - idn:transform:manage + summary: List transforms tags: - - UI Metadata - put: - description: |- - This API endpoint updates UI metadata for your tenant. These changes may require up to 5 minutes to take effect on the UI. - A token with ORG_ADMIN authority is required to call this API. - operationId: setTenantUiMetadata + - Transforms + post: + description: "Creates a new transform object immediately. By default, the internal\ + \ flag is set to false to indicate that this is a custom transform. Only SailPoint\ + \ employees have the ability to create a transform with internal set to true.\ + \ Newly created Transforms can be used in the Identity Profile mappings within\ + \ the UI. A token with transform write authority is required to call this\ + \ API." + operationId: createTransform requestBody: content: application/json: + example: + name: Timestamp To Date + type: dateFormat + attributes: + inputFormat: "MMM dd yyyy, HH:mm:ss.SSS" + outputFormat: yyyy/dd/MM schema: - $ref: '#/components/schemas/TenantUiMetadataItemUpdateRequest' + $ref: '#/components/schemas/Transform' + description: The transform to be created. required: true responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/TenantUiMetadataItemResponse' - description: A tenant UI metadata object + $ref: '#/components/schemas/TransformRead' + description: Indicates the transform was successfully created and returns + its representation. "400": content: application/json: @@ -47870,44 +47534,30 @@ paths: error. security: - UserContextAuth: - - idn:ui-access-metadata-page:manage - summary: Update tenant UI metadata + - idn:transform:manage + summary: Create transform tags: - - UI Metadata - /user-apps/{id}: - patch: + - Transforms + /transforms/{id}: + delete: description: |- - This API updates an existing user app using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. - The following fields are patchable: **account** - operationId: patchUserApp + Deletes the transform specified by the given ID. Attempting to delete a transform that is used in one or more Identity Profile mappings will result in an error. If this occurs, you must first remove the transform from all mappings before deleting the transform. + A token with transform delete authority is required to call this API. + operationId: deleteTransform parameters: - - description: ID of the user app to patch + - description: ID of the transform to delete + example: 2cd78adghjkja34jh2b1hkjhasuecd + explode: false in: path name: id required: true schema: - example: 2c91808a7813090a017814121e121518 type: string - requestBody: - content: - application/json-patch+json: - schema: - example: - - op: replace - path: /account - value: - id: 0891808a7813090a017814121e121518 - type: ACCOUNT - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array + style: simple responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/UserApp' - description: Responds with the user app as updated. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -47984,58 +47634,32 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:read - summary: Patch user app by ID + - idn:transform:manage + summary: Delete a transform tags: - - Apps - /user-apps/{id}/available-accounts: + - Transforms get: - description: This API returns the list of available accounts for the specified - user app. The user app needs to belong lo logged in user. - operationId: listAvailableAccountsForUserApp + description: |- + This API returns the transform specified by the given ID. + A token with transform read authority is required to call this API. + operationId: getTransform parameters: - - description: ID of the user app + - description: ID of the transform to retrieve + example: 2cd78adghjkja34jh2b1hkjhasuecd + explode: false in: path name: id required: true schema: - example: 2c91808a7813090a017814121e121518 type: string - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean + style: simple responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/AppAccountDetails' - type: array - description: List of available accounts for the specified user app + $ref: '#/components/schemas/TransformRead' + description: Transform with the given ID "400": content: application/json: @@ -48067,20 +47691,38 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": + "404": content: application/json: examples: - "500": - summary: An example of a 500 response object + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object value: detailCode: 500.0 Internal Fault trackingId: b21b1f7ce4da4d639f2c62a57171b427 @@ -48094,72 +47736,160 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:read - summary: List available accounts for user app + - idn:transform:read + - idn:transform:manage + summary: Transform by ID tags: - - Apps - /user-apps: - get: - description: This API returns the list of user apps assigned to logged in user - operationId: listOwnedUserApps + - Transforms + put: + description: |- + Replaces the transform specified by the given ID with the transform provided in the request body. Only the "attributes" field is mutable. Attempting to change other properties (ex. "name" and "type") will result in an error. + A token with transform write authority is required to call this API. + operationId: updateTransform parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false + - description: ID of the transform to update + example: 2cd78adghjkja34jh2b1hkjhasuecd + explode: false + in: path + name: id + required: true schema: - default: false - type: boolean - - 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* - - **ownerName**: *eq, sw* - - **ownerAlias**: *eq, sw* - - **accountId**: *eq* - - **sourceAppId**: *eq* - example: name eq "user app name" - explode: true - in: query - name: filters - required: false + type: string + style: simple + requestBody: + content: + application/json: + example: + name: Timestamp To Date + type: dateFormat + attributes: + inputFormat: "MMM-dd-yyyy, HH:mm:ss.SSS" + outputFormat: yyyy/dd/MM + schema: + $ref: '#/components/schemas/Transform' + description: "The updated transform object. Must include \"name\", \"type\"\ + , and \"attributes\" fields, but \"name\" and \"type\" must not be modified." + responses: + "200": + content: + application/json: + example: + id: 2cd78adghjkja34jh2b1hkjhasuecd + name: Timestamp To Date + type: dateFormat + attributes: + inputFormat: "MMM-dd-yyyy, HH:mm:ss.SSS" + outputFormat: yyyy/dd/MM + internal: false + schema: + $ref: '#/components/schemas/TransformRead' + description: Indicates the transform was successfully updated and returns + its new representation. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:transform:manage + summary: Update a transform + tags: + - Transforms + /translation-catalogs/{catalog-id}: + get: + description: The getMessageCatalogs API returns message catalog based on the + language headers in the requested object. + operationId: getMessageCatalogs + parameters: + - description: The ID of the message catalog. + example: recommender + in: path + name: catalog-id + required: true schema: + enum: + - recommender + - access-request-recommender type: string - style: form responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/UserApp' + $ref: '#/components/schemas/MessageCatalogDto' type: array - description: List of user apps + description: The message catalogs based on the request headers "400": content: application/json: @@ -48217,17 +47947,14 @@ paths: description: Internal Server Error - Returned if there is an unexpected error. security: - - UserContextAuth: - - idn:app-roles:read - summary: List owned user apps + - UserContextAuth: [] + summary: Get Message catalogs tags: - - Apps - /user-apps/all: + - IAI Message Catalogs + /triggers: get: - description: |- - This API returns the list of all user apps with specified filters. - This API must be used with **filters** query parameter. - operationId: listAllUserApps + description: Gets a list of triggers that are available in the tenant. + operationId: listTriggers parameters: - description: |- Max number of results to return. @@ -48242,6 +47969,18 @@ paths: maximum: 250 minimum: 0 type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer - 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. @@ -48260,34 +47999,33 @@ paths: Filtering is supported for the following fields and operators: - **id**: *eq* - - **ownerId**: *eq* - - **ownerName**: *eq, sw* - - **ownerAlias**: *eq, sw* - - **accountId**: *eq* - - **sourceAppId**: *eq* - example: name eq "user app name" - explode: true + **id**: *eq, ge, le* + example: id eq "idn:access-request-post-approval" in: query name: filters - required: true + required: false schema: type: string - style: form + - 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: **id, name** + example: name + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/UserApp' + $ref: '#/components/schemas/Trigger' type: array - description: List of user apps + description: List of triggers. "400": content: application/json: @@ -48346,15 +48084,14 @@ paths: error. security: - UserContextAuth: - - idn:app-roles:manage - summary: List all user apps + - sp:trigger-service-subscriptions:read + summary: List Triggers tags: - - Apps - /verified-from-addresses: + - Triggers + /trigger-subscriptions: get: - description: Retrieve a list of sender email addresses and their verification - statuses - operationId: listFromAddresses + description: Gets a list of all trigger subscriptions. + operationId: listSubscriptions parameters: - description: |- Max number of results to return. @@ -48399,19 +48136,25 @@ paths: Filtering is supported for the following fields and operators: - **email**: *eq, ge, le, sw* - example: email eq "john.doe@company.com" + **id**: *eq* + + **triggerId**: *eq* + + **type**: *eq, le* + example: id eq "12cff757-c0c0-413b-8ad7-2a47956d1e89" in: query name: filters + required: false schema: type: string - 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: **email** - example: email + Sorting is supported for the following fields: **triggerId, triggerName** + example: triggerName in: query name: sorters + required: false schema: format: comma-separated type: string @@ -48419,11 +48162,68 @@ paths: "200": content: application/json: + examples: + HTTP Subscription: + value: + - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + name: Access request subscription + description: Access requested to site xyz + triggerId: idn:access-requested + triggerName: Access Requested + type: HTTP + httpConfig: + url: https://www.example.com + httpDispatchMode: SYNC + httpAuthenticationType: BASIC_AUTH + basicAuthConfig: + userName: user@example.com + password: null + enabled: true + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ + )]" + HTTP Async Subscription: + value: + name: Access request subscription + description: Access requested to site xyz + triggerId: idn:access-requested + triggerName: Access Requested + type: HTTP + responseDeadline: PT1H + httpConfig: + url: https://www.example.com + httpDispatchMode: ASYNC + httpAuthenticationType: BASIC_AUTH + basicAuthConfig: + userName: user@example.com + password: null + enabled: true + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ + )]" + EventBridge Subscription: + value: + - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + name: Access request subscription + description: Access requested to site xyz + triggerId: idn:access-requested + triggerName: Access Requested + type: EVENTBRIDGE + eventBridgeConfig: + awsAccount: "123456789012" + awsRegion: us-west-1 + enabled: true + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ + )]" schema: items: - $ref: '#/components/schemas/EmailStatusDto' + $ref: '#/components/schemas/Subscription' type: array - description: List of Email Status + description: List of subscriptions. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: @@ -48474,27 +48274,78 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: List From Addresses + security: + - UserContextAuth: + - sp:trigger-service-subscriptions:read + summary: List Subscriptions tags: - - Notifications + - Triggers post: - description: Create a new sender email address and initiate verification process. - operationId: createVerifiedFromAddress + description: |- + This API creates a new subscription to a trigger and defines trigger invocation details. The type of subscription determines which config object is required: + * HTTP subscriptions require httpConfig + * EventBridge subscriptions require eventBridgeConfig + operationId: createSubscription requestBody: content: application/json: - example: - email: sender@example.com + examples: + HTTP Subscription: + value: + name: Access request subscription + description: Access requested to site xyz + triggerId: idn:access-requested + type: HTTP + httpConfig: + url: https://www.example.com + httpDispatchMode: SYNC + httpAuthenticationType: BASIC_AUTH + basicAuthConfig: + userName: user@example.com + password: eRtg4%6yuI! + enabled: true + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ + )]" + HTTP Async Subscription: + value: + name: Access request subscription + description: Access requested to site xyz + triggerId: idn:access-requested + type: HTTP + responseDeadline: PT1H + httpConfig: + url: https://www.example.com + httpDispatchMode: ASYNC + httpAuthenticationType: BASIC_AUTH + basicAuthConfig: + userName: user@example.com + password: eRtg4%6yuI! + enabled: true + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ + )]" + EventBridge Subscription: + value: + name: Access request subscription + description: Access requested to site xyz + triggerId: idn:access-requested + type: EVENTBRIDGE + eventBridgeConfig: + awsAccount: "123456789012" + awsRegion: us-west-1 + enabled: true + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ + )]" schema: - $ref: '#/components/schemas/EmailStatusDto' + $ref: '#/components/schemas/SubscriptionPostRequest' required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/EmailStatusDto' - description: New Verified Email Status + $ref: '#/components/schemas/Subscription' + description: New subscription to a trigger. The trigger can now be invoked + by the method defined in the subscription. "400": content: application/json: @@ -48551,15 +48402,20 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Create Verified From Address + security: + - UserContextAuth: + - sp:trigger-service-subscriptions:manage + summary: Create a Subscription tags: - - Notifications - /verified-from-addresses/{id}: + - Triggers + /trigger-subscriptions/{id}: delete: - description: Delete a verified sender email address - operationId: deleteVerifiedFromAddress + description: Deletes an existing subscription to a trigger. + operationId: deleteSubscription parameters: - - in: path + - description: Subscription ID + example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + in: path name: id required: true schema: @@ -48642,23 +48498,39 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Delete Verified From Address + security: + - UserContextAuth: + - sp:trigger-service-subscriptions:manage + summary: Delete a Subscription tags: - - Notifications - /verified-domains: - get: - description: Retrieve DKIM (DomainKeys Identified Mail) attributes for all your - tenants' AWS SES identities. Limits retrieval to 100 identities per call. - operationId: getDkimAttributes + - Triggers + patch: + description: |- + This API updates a trigger subscription in IdentityNow, using a set of instructions to modify a subscription partially. The following fields are patchable: + + **name**, **description**, **enabled**, **type**, **filter**, **responseDeadline**, **httpConfig**, **eventBridgeConfig**, **workflowConfig** + operationId: patchSubscription + parameters: + - description: ID of the Subscription to patch + example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/SubscriptionPatchRequest' + required: true responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/DkimAttributes' - type: array - description: List of DKIM Attributes + $ref: '#/components/schemas/Subscription' + description: Updated subscription. "400": content: application/json: @@ -48690,22 +48562,40 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": + "404": content: application/json: examples: - "500": - summary: An example of a 500 response object + "404": + summary: An example of a 404 response object value: - detailCode: 500.0 Internal Fault + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US @@ -48717,27 +48607,87 @@ paths: error. security: - UserContextAuth: - - sp:notification-dkim-attributes:read - summary: Get DKIM Attributes + - sp:trigger-service-subscriptions:manage + summary: Patch a Subscription tags: - - Notifications - post: - description: Create a domain to be verified via DKIM (DomainKeys Identified - Mail) - operationId: createDomainDkim + - Triggers + put: + description: |- + This API updates a trigger subscription in IdentityNow, using a full object representation. In other words, the existing + Subscription is completely replaced. The following fields are immutable: + + + * id + + * triggerId + + + Attempts to modify these fields result in 400. + operationId: updateSubscription + parameters: + - description: Subscription ID + example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: + examples: + HTTP Subscription: + value: + name: Access request subscription + description: Access requested to site xyz + type: HTTP + httpConfig: + url: https://www.example.com + httpDispatchMode: SYNC + httpAuthenticationType: BASIC_AUTH + basicAuthConfig: + userName: user@example.com + password: eRtg4%6yuI! + enabled: true + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ + )]" + HTTP Async Subscription: + value: + name: Access request subscription + description: Access requested to site xyz + type: HTTP + responseDeadline: PT1H + httpConfig: + url: https://www.example.com + httpDispatchMode: ASYNC + httpAuthenticationType: BASIC_AUTH + basicAuthConfig: + userName: user@example.com + password: eRtg4%6yuI! + enabled: true + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ + )]" + EventBridge Subscription: + value: + name: Access request subscription + description: Access requested to site xyz + type: EVENTBRIDGE + eventBridgeConfig: + awsAccount: "123456789012" + awsRegion: us-west-1 + enabled: true + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\"\ + )]" schema: - $ref: '#/components/schemas/DomainAddress' + $ref: '#/components/schemas/SubscriptionPutRequest' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/DomainStatusDto' - description: List of DKIM tokens required for the verification process. + $ref: '#/components/schemas/Subscription' + description: Updated subscription. "400": content: application/json: @@ -48769,13 +48719,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "405": + "404": content: application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. schema: - $ref: '#/components/schemas/createDomainDkim_405_response' - description: "Method Not Allowed - indicates that the server knows the request\ - \ method, but the target resource doesn't support this method." + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -48803,17 +48764,106 @@ paths: error. security: - UserContextAuth: - - sp:notification-verify-domain-dkim:write - summary: Verify domain address via DKIM + - sp:trigger-service-subscriptions:manage + summary: Update a Subscription tags: - - Notifications - /sod-policies: + - Triggers + /trigger-subscriptions/validate-filter: + post: + description: "Validates a JSONPath filter expression against a provided mock\ + \ input.\nRequest requires a security scope of: " + operationId: testSubscriptionFilter + requestBody: + content: + application/json: + example: + input: + identityId: 201327fda1c44704ac01181e963d463c + filter: "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\")]" + schema: + $ref: '#/components/schemas/ValidateFilterInputDto' + required: true + responses: + "200": + content: + application/json: + example: + isValid: true + isValidJSONPath: true + isPathExist: true + schema: + $ref: '#/components/schemas/ValidateFilterOutputDto' + description: Boolean whether specified filter expression is valid against + the input. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - sp:trigger-service-subscriptions:manage + summary: Validate a Subscription Filter + tags: + - Triggers + /trigger-invocations/status: get: - deprecated: true description: |- - This gets list of all SOD policies. - Requires role of ORG_ADMIN - operationId: listSodPolicies + Gets a list of latest invocation statuses. + Statuses of successful invocations are available for up to 24 hours. Statuses of failed invocations are available for up to 48 hours. + This endpoint may only fetch up to 2000 invocations, and should not be treated as a representation of the full history of invocations. + operationId: listTriggerInvocationStatus parameters: - description: |- Max number of results to return. @@ -48858,12 +48908,10 @@ paths: Filtering is supported for the following fields and operators: - **id**: *eq, in* - - **name**: *eq, in* + **triggerId**: *eq* - **state**: *eq, in* - example: id eq "bc693f07e7b645539626c25954c58554" + **subscriptionId**: *eq* + example: triggerId eq "idn:access-request-dynamic-approver" in: query name: filters required: false @@ -48872,8 +48920,8 @@ paths: - 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: **id, name, created, modified, description** - example: "id,name" + Sorting is supported for the following fields: **triggerId, subscriptionName, created, completed** + example: created in: query name: sorters required: false @@ -48884,77 +48932,11 @@ paths: "200": content: application/json: - example: - - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - name: Conflicting-Policy-Name - created: 2020-01-01T00:00:00.000000Z - modified: 2020-01-01T00:00:00.000000Z - description: This policy ensures compliance of xyz - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Owner Name - externalPolicyReference: XYZ policy - policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) - AND @access(id:2c9180866166b5b0016167c32ef31a68 OR id:2c9180866166b5b0016167c32ef31a69)' - compensatingControls: Have a manager review the transaction decisions - for their "out of compliance" employee - correctionAdvice: "Based on the role of the employee, managers should\ - \ remove access that is not required for their job function." - state: ENFORCED - tags: - - string - creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - violationOwnerAssignmentConfig: - assignmentRule: MANAGER - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Violation Owner Name - scheduled: true - type: CONFLICTING_ACCESS_BASED - conflictingAccessCriteria: - leftCriteria: - name: money-in - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a66 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a67 - rightCriteria: - name: money-out - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a68 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a69 - - description: Description - ownerRef: - type: IDENTITY - id: 2c918087682f9a86016839c05e8f1aff - name: Owner Name - externalPolicyReference: New policy - policyQuery: policy query implementation - compensatingControls: Compensating controls - correctionAdvice: Correction advice - tags: [] - state: ENFORCED - scheduled: false - creatorId: 2c918087682f9a86016839c05e8f1aff - modifierId: null - violationOwnerAssignmentConfig: null - type: GENERAL - conflictingAccessCriteria: null - id: 52c11db4-733e-4c31-949a-766c95ec95f1 - name: General-Policy-Name - created: 2020-05-12T19:47:38Z - modified: 2020-05-12T19:47:38Z schema: items: - $ref: '#/components/schemas/SodPolicy' + $ref: '#/components/schemas/InvocationStatus' type: array - description: List of all SOD policies. + description: List of latest invocation statuses. "400": content: application/json: @@ -49013,159 +48995,37 @@ paths: error. security: - UserContextAuth: - - idn:sod-policy:read - summary: List SOD policies + - sp:trigger-service-invocation-status:read + - sp:trigger-service-invocation-status:manage + summary: List Latest Invocation Statuses tags: - - SOD Policies + - Triggers + /trigger-invocations/{id}/complete: post: - deprecated: true - description: |- - This creates both General and Conflicting Access Based policy, with a limit of 50 entitlements for each (left & right) criteria for Conflicting Access Based SOD policy. - Requires role of ORG_ADMIN. - operationId: createSodPolicy + description: Completes an invocation to a REQUEST_RESPONSE type trigger. + operationId: completeTriggerInvocation + parameters: + - description: The ID of the invocation to complete. + example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: - examples: - Conflicting Access Based Policy: - value: - name: Conflicting-Policy-Name - description: This policy ensures compliance of xyz - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Owner Name - externalPolicyReference: XYZ policy - compensatingControls: Have a manager review the transaction decisions - for their "out of compliance" employee - correctionAdvice: "Based on the role of the employee, managers should\ - \ remove access that is not required for their job function." - state: ENFORCED - tags: - - string - creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - violationOwnerAssignmentConfig: - assignmentRule: MANAGER - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Violation Owner Name - scheduled: true - type: CONFLICTING_ACCESS_BASED - conflictingAccessCriteria: - leftCriteria: - name: money-in - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a66 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a67 - rightCriteria: - name: money-out - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a68 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a69 - General Policy: - value: - description: Description - ownerRef: - type: IDENTITY - id: 2c918087682f9a86016839c05e8f1aff - name: Owner Name - externalPolicyReference: New policy - policyQuery: policy query implementation - compensatingControls: Compensating controls - correctionAdvice: Correction advice - tags: [] - state: ENFORCED - scheduled: false - creatorId: 2c918087682f9a86016839c05e8f1aff - modifierId: null - violationOwnerAssignmentConfig: null - name: General-Policy-Name + example: + secret: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + output: + approved: false schema: - $ref: '#/components/schemas/SodPolicy' + $ref: '#/components/schemas/CompleteInvocation' required: true responses: - "201": - content: - application/json: - examples: - Conflicting Access Based Policy: - value: - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - name: Conflicting-Policy-Name - created: 2020-01-01T00:00:00.000000Z - modified: 2020-01-01T00:00:00.000000Z - description: This policy ensures compliance of xyz - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Owner Name - externalPolicyReference: XYZ policy - policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) - AND @access(id:2c9180866166b5b0016167c32ef31a68 OR id:2c9180866166b5b0016167c32ef31a69)' - compensatingControls: Have a manager review the transaction decisions - for their "out of compliance" employee - correctionAdvice: "Based on the role of the employee, managers\ - \ should remove access that is not required for their job function." - state: ENFORCED - tags: - - string - creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - violationOwnerAssignmentConfig: - assignmentRule: MANAGER - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Violation Owner Name - scheduled: true - type: CONFLICTING_ACCESS_BASED - conflictingAccessCriteria: - leftCriteria: - name: money-in - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a66 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a67 - rightCriteria: - name: money-out - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a68 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a69 - General Policy: - value: - description: Description - ownerRef: - type: IDENTITY - id: 2c918087682f9a86016839c05e8f1aff - name: Owner Name - externalPolicyReference: New policy - policyQuery: policy query implementation - compensatingControls: Compensating controls - correctionAdvice: Correction advice - tags: [] - state: ENFORCED - scheduled: false - creatorId: 2c918087682f9a86016839c05e8f1aff - modifierId: null - violationOwnerAssignmentConfig: null - type: GENERAL - conflictingAccessCriteria: null - id: 52c11db4-733e-4c31-949a-766c95ec95f1 - name: General-Policy-Name - created: 2020-05-12T19:47:38Z - modified: 2020-05-12T19:47:38Z - schema: - $ref: '#/components/schemas/SodPolicy' - description: SOD policy created + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -49222,39 +49082,49 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:sod-policy:write - summary: Create SOD policy + summary: Complete Trigger Invocation tags: - - SOD Policies - /sod-policies/{id}: - delete: - deprecated: true - description: |- - This deletes a specified SOD policy. - Requires role of ORG_ADMIN. - operationId: deleteSodPolicy - parameters: - - description: The ID of the SOD Policy to delete. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id - required: true - schema: - type: string - - description: Indicates whether this is a soft delete (logical true) or a hard - delete. - example: true - in: query - name: logical - required: false - schema: - default: true - type: boolean - responses: - "204": - description: No content. + - Triggers + /trigger-invocations/test: + post: + description: "Initiate a test event for all subscribers of the specified event\ + \ trigger. If there are no subscribers to the specified trigger in the tenant,\ + \ then no test event will be sent." + operationId: startTestTriggerInvocation + requestBody: + content: + application/json: + examples: + Test Trigger with Mock Input: + value: + triggerId: idn:access-requested + input: + identityId: 201327fda1c44704ac01181e963d463c + contentJson: + workflowId: 1234 + Send Test to only One Subscriber: + value: + triggerId: idn:access-requested + contentJson: + workflowId: 1234 + subscriptionIds: + - 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + schema: + $ref: '#/components/schemas/TestInvocation' + required: true + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Invocation' + type: array + description: Test trigger invocations that have been started for specified + subscription(s). + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -49286,24 +49156,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -49331,101 +49183,23 @@ paths: error. security: - UserContextAuth: - - idn:sod-policy:write - summary: Delete SOD policy by ID + - sp:trigger-service-invocation-status:manage + summary: Start a Test Invocation tags: - - SOD Policies + - Triggers + /ui-metadata/tenant: get: - deprecated: true description: |- - This gets specified SOD policy. - Requires role of ORG_ADMIN. - operationId: getSodPolicy - parameters: - - description: The ID of the object reference to retrieve. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id - required: true - schema: - type: string + This API endpoint retrieves UI metadata configured for your tenant. + A token with ORG_ADMIN authority is required to call this API. + operationId: getTenantUiMetadata responses: "200": content: application/json: - examples: - Conflicting Access Based Policy: - value: - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - name: Conflicting-Policy-Name - created: 2020-01-01T00:00:00.000000Z - modified: 2020-01-01T00:00:00.000000Z - description: This policy ensures compliance of xyz - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Owner Name - externalPolicyReference: XYZ policy - policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) - AND @access(id:2c9180866166b5b0016167c32ef31a68 OR id:2c9180866166b5b0016167c32ef31a69)' - compensatingControls: Have a manager review the transaction decisions - for their "out of compliance" employee - correctionAdvice: "Based on the role of the employee, managers\ - \ should remove access that is not required for their job function." - state: ENFORCED - tags: - - string - creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - violationOwnerAssignmentConfig: - assignmentRule: MANAGER - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Violation Owner Name - scheduled: true - type: CONFLICTING_ACCESS_BASED - conflictingAccessCriteria: - leftCriteria: - name: money-in - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a66 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a67 - rightCriteria: - name: money-out - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a68 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a69 - General Policy: - value: - description: Description - ownerRef: - type: IDENTITY - id: 2c918087682f9a86016839c05e8f1aff - name: Owner Name - externalPolicyReference: New policy - policyQuery: policy query implementation - compensatingControls: Compensating controls - correctionAdvice: Correction advice - tags: [] - state: ENFORCED - scheduled: false - creatorId: 2c918087682f9a86016839c05e8f1aff - modifierId: null - violationOwnerAssignmentConfig: null - type: GENERAL - conflictingAccessCriteria: null - id: 52c11db4-733e-4c31-949a-766c95ec95f1 - name: General-Policy-Name - created: 2020-05-12T19:47:38Z - modified: 2020-05-12T19:47:38Z schema: - $ref: '#/components/schemas/SodPolicy' - description: SOD policy ID. + $ref: '#/components/schemas/TenantUiMetadataItemResponse' + description: A tenant UI metadata object "400": content: application/json: @@ -49502,145 +49276,28 @@ paths: error. security: - UserContextAuth: - - idn:sod-policy:read - summary: Get SOD policy by ID + - idn:ui-access-metadata-page:read + summary: Get a tenant UI metadata tags: - - SOD Policies - patch: - deprecated: true + - UI Metadata + put: description: |- - Allows updating SOD Policy fields other than ["id","created","creatorId","policyQuery","type"] using the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. - Requires role of ORG_ADMIN. - This endpoint can only patch CONFLICTING_ACCESS_BASED type policies. Do not use this endpoint to patch general policies - doing so will build an API exception. - operationId: patchSodPolicy - parameters: - - description: The ID of the SOD policy being modified. - example: 2c9180835d191a86015d28455b4a2329 - in: path - name: id - required: true - schema: - type: string + This API endpoint updates UI metadata for your tenant. These changes may require up to 5 minutes to take effect on the UI. + A token with ORG_ADMIN authority is required to call this API. + operationId: setTenantUiMetadata requestBody: content: - application/json-patch+json: - examples: - Conflicting Access Based Policy: - value: - - op: replace - path: /description - value: Modified description - - op: replace - path: /conflictingAccessCriteria/leftCriteria/name - value: money-in-modified - - op: replace - path: /conflictingAccessCriteria/rightCriteria - value: - name: money-out-modified - criteriaList: - - type: ENTITLEMENT - id: 2c918087682f9a86016839c0509c1ab2 - General Policy: - value: - - op: replace - path: /description - value: Modified description + application/json: schema: - items: - type: object - type: array - description: | - A list of SOD Policy update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. - - The following fields are patchable: - * name - * description - * ownerRef - * externalPolicyReference - * compensatingControls - * correctionAdvice - * state - * tags - * violationOwnerAssignmentConfig - * scheduled - * conflictingAccessCriteria + $ref: '#/components/schemas/TenantUiMetadataItemUpdateRequest' required: true responses: "200": content: application/json: - examples: - Conflicting Access Based Policy: - value: - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - name: Conflicting-Policy-Name - created: 2020-01-01T00:00:00.000000Z - modified: 2020-01-01T00:00:00.000000Z - description: Modified description - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Owner Name - externalPolicyReference: XYZ policy - policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) - AND @access(id:2c918087682f9a86016839c0509c1ab2)' - compensatingControls: Have a manager review the transaction decisions - for their "out of compliance" employee - correctionAdvice: "Based on the role of the employee, managers\ - \ should remove access that is not required for their job function." - state: ENFORCED - tags: - - string - creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - violationOwnerAssignmentConfig: - assignmentRule: MANAGER - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Violation Owner Name - scheduled: true - type: CONFLICTING_ACCESS_BASED - conflictingAccessCriteria: - leftCriteria: - name: money-in-modified - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a66 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a67 - rightCriteria: - name: money-out-modified - criteriaList: - - type: ENTITLEMENT - id: 2c918087682f9a86016839c0509c1ab2 - General Policy: - value: - description: Modified description - ownerRef: - type: IDENTITY - id: 2c918087682f9a86016839c05e8f1aff - name: Owner Name - externalPolicyReference: New policy - policyQuery: policy query implementation - compensatingControls: Compensating controls - correctionAdvice: Correction advice - tags: [] - state: ENFORCED - scheduled: false - creatorId: 2c918087682f9a86016839c05e8f1aff - modifierId: null - violationOwnerAssignmentConfig: null - type: GENERAL - conflictingAccessCriteria: null - id: 52c11db4-733e-4c31-949a-766c95ec95f1 - name: General-Policy-Name - created: 2020-05-12T19:47:38Z - modified: 2020-05-12T19:47:38Z schema: - $ref: '#/components/schemas/SodPolicy' - description: "Indicates the PATCH operation succeeded, and returns the SOD\ - \ policy's new representation." + $ref: '#/components/schemas/TenantUiMetadataItemResponse' + description: A tenant UI metadata object "400": content: application/json: @@ -49717,175 +49374,44 @@ paths: error. security: - UserContextAuth: - - idn:sod-policy:write - summary: Patch a SOD policy + - idn:ui-access-metadata-page:manage + summary: Update tenant UI metadata tags: - - SOD Policies - put: - deprecated: true + - UI Metadata + /user-apps/{id}: + patch: description: |- - This updates a specified SOD policy. - Requires role of ORG_ADMIN. - operationId: putSodPolicy + This API updates an existing user app using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. + The following fields are patchable: **account** + operationId: patchUserApp parameters: - - description: The ID of the SOD policy to update. - example: ef38f94347e94562b5bb8424a56397d8 + - description: ID of the user app to patch in: path name: id required: true schema: + example: 2c91808a7813090a017814121e121518 type: string requestBody: content: - application/json: - examples: - Conflicting Access Based Policy: - value: - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - name: Conflicting-Policy-Name - created: 2020-01-01T00:00:00.000000Z - modified: 2020-01-01T00:00:00.000000Z - description: Modified Description - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Owner Name - externalPolicyReference: XYZ policy - compensatingControls: Have a manager review the transaction decisions - for their "out of compliance" employee - correctionAdvice: "Based on the role of the employee, managers should\ - \ remove access that is not required for their job function." - state: ENFORCED - tags: - - string - creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - violationOwnerAssignmentConfig: - assignmentRule: MANAGER - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Violation Owner Name - scheduled: true - type: CONFLICTING_ACCESS_BASED - conflictingAccessCriteria: - leftCriteria: - name: money-in - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a66 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a67 - rightCriteria: - name: money-out - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a68 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a69 - General Policy: - value: - description: Modified Description - ownerRef: - type: IDENTITY - id: 2c918087682f9a86016839c05e8f1aff - name: Owner Name - externalPolicyReference: New policy - policyQuery: policy query implementation - compensatingControls: Compensating controls - correctionAdvice: Correction advice - tags: [] - state: ENFORCED - scheduled: false - creatorId: 2c918087682f9a86016839c05e8f1aff - modifierId: null - violationOwnerAssignmentConfig: null - type: GENERAL - conflictingAccessCriteria: null - id: 52c11db4-733e-4c31-949a-766c95ec95f1 - name: General-Policy-Name - created: 2020-05-12T19:47:38Z - modified: 2020-05-12T19:47:38Z + application/json-patch+json: schema: - $ref: '#/components/schemas/SodPolicy' - required: true + example: + - op: replace + path: /account + value: + id: 0891808a7813090a017814121e121518 + type: ACCOUNT + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array responses: "200": content: application/json: - examples: - Conflicting Access Based Policy: - value: - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - name: Conflicting-Policy-Name - created: 2020-01-01T00:00:00.000000Z - modified: 2020-01-01T00:00:00.000000Z - description: Modified description - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Owner Name - externalPolicyReference: XYZ policy - policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) - AND @access(id:2c9180866166b5b0016167c32ef31a68 OR id:2c9180866166b5b0016167c32ef31a69)' - compensatingControls: Have a manager review the transaction decisions - for their "out of compliance" employee - correctionAdvice: "Based on the role of the employee, managers\ - \ should remove access that is not required for their job function." - state: ENFORCED - tags: - - string - creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - violationOwnerAssignmentConfig: - assignmentRule: MANAGER - ownerRef: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: Violation Owner Name - scheduled: true - type: CONFLICTING_ACCESS_BASED - conflictingAccessCriteria: - leftCriteria: - name: money-in - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a66 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a67 - rightCriteria: - name: money-out - criteriaList: - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a68 - - type: ENTITLEMENT - id: 2c9180866166b5b0016167c32ef31a69 - General Policy: - value: - description: Modified Description - ownerRef: - type: IDENTITY - id: 2c918087682f9a86016839c05e8f1aff - name: Owner Name - externalPolicyReference: New policy - policyQuery: policy query implementation - compensatingControls: Compensating controls - correctionAdvice: Correction advice - tags: [] - state: ENFORCED - scheduled: false - creatorId: 2c918087682f9a86016839c05e8f1aff - modifierId: null - violationOwnerAssignmentConfig: null - type: GENERAL - conflictingAccessCriteria: null - id: 52c11db4-733e-4c31-949a-766c95ec95f1 - name: General-Policy-Name - created: 2020-05-12T19:47:38Z - modified: 2020-05-12T19:47:38Z schema: - $ref: '#/components/schemas/SodPolicy' - description: SOD Policy by ID + $ref: '#/components/schemas/UserApp' + description: Responds with the user app as updated. "400": content: application/json: @@ -49962,45 +49488,75 @@ paths: error. security: - UserContextAuth: - - idn:sod-policy:write - summary: Update SOD policy by ID + - idn:app-roles:read + summary: Patch user app by ID tags: - - SOD Policies - /sod-policies/{id}/schedule: - delete: - deprecated: true - description: |- - This deletes schedule for a specified SOD policy. - Requires role of ORG_ADMIN. - operationId: deleteSodPolicySchedule + - Apps + /user-apps/{id}/available-accounts: + get: + description: This API returns the list of available accounts for the specified + user app. The user app needs to belong lo logged in user. + operationId: listAvailableAccountsForUserApp parameters: - - description: The ID of the SOD policy the schedule must be deleted for. - example: ef38f94347e94562b5bb8424a56397d8 + - description: ID of the user app in: path name: id required: true schema: + example: 2c91808a7813090a017814121e121518 type: string - responses: - "204": - description: No content. - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." - "403": - content: - application/json: - examples: + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/AppAccountDetails' + type: array + description: List of available accounts for the specified user app + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: "403": summary: An example of a 403 response object value: @@ -50015,24 +49571,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -50060,31 +49598,72 @@ paths: error. security: - UserContextAuth: - - idn:sod-policy:write - summary: Delete SOD policy schedule + - idn:app-roles:read + summary: List available accounts for user app tags: - - SOD Policies + - Apps + /user-apps: get: - deprecated: true - description: |- - This endpoint gets a specified SOD policy's schedule. - Requires the role of ORG_ADMIN. - operationId: getSodPolicySchedule + description: This API returns the list of user apps assigned to logged in user + operationId: listOwnedUserApps parameters: - - description: The ID of the object reference to retrieve. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id - required: true + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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* + + **ownerName**: *eq, sw* + + **ownerAlias**: *eq, sw* + + **accountId**: *eq* + + **sourceAppId**: *eq* + example: name eq "user app name" + explode: true + in: query + name: filters + required: false schema: type: string + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SodPolicySchedule' - description: SOD policy ID. + items: + $ref: '#/components/schemas/UserApp' + type: array + description: List of user apps "400": content: application/json: @@ -50143,37 +49722,76 @@ paths: error. security: - UserContextAuth: - - idn:sod-policy:read - summary: Get SOD policy schedule + - idn:app-roles:read + summary: List owned user apps tags: - - SOD Policies - put: - deprecated: true + - Apps + /user-apps/all: + get: description: |- - This updates schedule for a specified SOD policy. - Requires role of ORG_ADMIN. - operationId: putPolicySchedule + This API returns the list of all user apps with specified filters. + This API must be used with **filters** query parameter. + operationId: listAllUserApps parameters: - - description: The ID of the SOD policy to update its schedule. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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* + + **ownerId**: *eq* + + **ownerName**: *eq, sw* + + **ownerAlias**: *eq, sw* + + **accountId**: *eq* + + **sourceAppId**: *eq* + example: name eq "user app name" + explode: true + in: query + name: filters required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SodPolicySchedule' - required: true + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SodPolicySchedule' - description: SOD policy by ID. + items: + $ref: '#/components/schemas/UserApp' + type: array + description: List of user apps "400": content: application/json: @@ -50232,43 +49850,84 @@ paths: error. security: - UserContextAuth: - - idn:sod-policy:write - summary: Update SOD Policy schedule + - idn:app-roles:manage + summary: List all user apps tags: - - SOD Policies - /sod-policies/{id}/violation-report/run: - post: - deprecated: true - description: |- - This invokes processing of violation report for given SOD policy. If the policy reports more than 5000 violations, the report returns with violation limit exceeded message. - Requires role of ORG_ADMIN. - operationId: startSodPolicy + - Apps + /verified-from-addresses: + get: + description: Retrieve a list of sender email addresses and their verification + statuses + operationId: listFromAddresses parameters: - - description: The SOD policy ID to run. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id - required: true + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: + + **email**: *eq, ge, le, sw* + example: email eq "john.doe@company.com" + in: query + name: filters + schema: + type: string + - 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: **email** + example: email + in: query + name: sorters schema: + format: comma-separated type: string responses: "200": - content: - application/json: - example: - status: PENDING - type: REPORT_RESULT - id: 2e8d8180-24bc-4d21-91c6-7affdb473b0d - name: policy-xyz - schema: - $ref: '#/components/schemas/ReportResultReference' - description: Reference to the violation report run task. - "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + items: + $ref: '#/components/schemas/EmailStatusDto' + type: array + description: List of Email Status "401": content: application/json: @@ -50294,24 +49953,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -50337,39 +49978,27 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:sod-violation:write - summary: Runs SOD policy violation report + summary: List From Addresses tags: - - SOD Policies - /sod-policies/{id}/violation-report: - get: - deprecated: true - description: |- - This gets the status for a violation report run task that has already been invoked. - Requires role of ORG_ADMIN. - operationId: getSodViolationReportStatus - parameters: - - description: The ID of the object reference to retrieve. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id + - Notifications + post: + description: Create a new sender email address and initiate verification process. + operationId: createVerifiedFromAddress + requestBody: + content: + application/json: + example: + email: sender@example.com + schema: + $ref: '#/components/schemas/EmailStatusDto' required: true - schema: - type: string responses: - "200": + "201": content: application/json: - example: - status: SUCCESS - type: REPORT_RESULT - id: 2e8d8180-24bc-4d21-91c6-7affdb473b0d - name: policy-xyz schema: - $ref: '#/components/schemas/ReportResultReference' - description: Status of the violation report run task. + $ref: '#/components/schemas/EmailStatusDto' + description: New Verified Email Status "400": content: application/json: @@ -50401,24 +50030,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -50444,42 +50055,23 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:sod-violation:read - summary: Get SOD violation report status + summary: Create Verified From Address tags: - - SOD Policies - /sod-violations/predict: - post: - deprecated: true - description: |- - This API is used to check if granting some additional accesses would cause the subject to be in violation of any SOD policies. Returns the violations that would be caused. - - A token with ORG_ADMIN or API authority is required to call this API. - operationId: startPredictSodViolations - requestBody: - content: - application/json: - example: - identityId: 2c91808568c529c60168cca6f90c1313 - accessRefs: - - type: ENTITLEMENT - id: 2c918087682f9a86016839c050861ab1 - name: "CN=Information Access,OU=test,OU=test-service,DC=TestAD,DC=local" - - type: ENTITLEMENT - id: 2c918087682f9a86016839c0509c1ab2 - name: "CN=Information Technology,OU=test,OU=test-service,DC=TestAD,DC=local" - schema: - $ref: '#/components/schemas/IdentityWithNewAccess' + - Notifications + /verified-from-addresses/{id}: + delete: + description: Delete a verified sender email address + operationId: deleteVerifiedFromAddress + parameters: + - in: path + name: id required: true + schema: + type: string responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ViolationPrediction' - description: Violation Contexts + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -50554,39 +50146,23 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - idn:sod-violation:read - summary: Predict SOD violations for identity. + summary: Delete Verified From Address tags: - - SOD Violations - /sod-policies/sod-violation-report-status/{reportResultId}: + - Notifications + /verified-domains: get: - deprecated: true - description: |- - This gets the status for a violation report run task that has already been invoked. - Requires role of ORG_ADMIN. - operationId: getSodViolationReportRunStatus - parameters: - - description: The ID of the report reference to retrieve. - example: 2e8d8180-24bc-4d21-91c6-7affdb473b0d - in: path - name: reportResultId - required: true - schema: - type: string + description: Retrieve DKIM (DomainKeys Identified Mail) attributes for all your + tenants' AWS SES identities. Limits retrieval to 100 identities per call. + operationId: getDkimAttributes responses: "200": content: application/json: - example: - status: SUCCESS - type: REPORT_RESULT - id: 2e8d8180-24bc-4d21-91c6-7affdb473b0d - name: policy-xyz schema: - $ref: '#/components/schemas/ReportResultReference' - description: Status of the violation report run task. + items: + $ref: '#/components/schemas/DkimAttributes' + type: array + description: List of DKIM Attributes "400": content: application/json: @@ -50618,24 +50194,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -50663,39 +50221,27 @@ paths: error. security: - UserContextAuth: - - idn:sod-violation:read - summary: Get violation report run status + - sp:notification-dkim-attributes:read + summary: Get DKIM Attributes tags: - - SOD Policies - /sod-violation-report/run: + - Notifications post: - deprecated: true - description: |- - Runs multi-policy report for the org. If a policy reports more than 5000 violations, the report mentions that the violation limit was exceeded for that policy. If the request is empty, the report runs for all policies. Otherwise, the report runs for only the filtered policy list provided. - Requires role of ORG_ADMIN. - operationId: startSodAllPoliciesForOrg + description: Create a domain to be verified via DKIM (DomainKeys Identified + Mail) + operationId: createDomainDkim requestBody: content: application/json: - example: - filteredPolicyList: - - b868cd40-ffa4-4337-9c07-1a51846cfa94 - - 63a07a7b-39a4-48aa-956d-50c827deba2a schema: - $ref: '#/components/schemas/MultiPolicyRequest' - required: false + $ref: '#/components/schemas/DomainAddress' + required: true responses: "200": content: application/json: - example: - status: PENDING - type: REPORT_RESULT - id: 37b3b32a-f394-46f8-acad-b5223969fa68 - name: Multi Query Report schema: - $ref: '#/components/schemas/ReportResultReference' - description: Reference to the violation report run task. + $ref: '#/components/schemas/DomainStatusDto' + description: List of DKIM tokens required for the verification process. "400": content: application/json: @@ -50727,6 +50273,13 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "405": + content: + application/json: + schema: + $ref: '#/components/schemas/createDomainDkim_405_response' + description: "Method Not Allowed - indicates that the server knows the request\ + \ method, but the target resource doesn't support this method." "429": content: application/json: @@ -50754,29 +50307,158 @@ paths: error. security: - UserContextAuth: - - idn:sod-violation:write - summary: Runs all policies for org + - sp:notification-verify-domain-dkim:write + summary: Verify domain address via DKIM tags: - - SOD Policies - /sod-violation-report: + - Notifications + /sod-policies: get: deprecated: true description: |- - This endpoint gets the status for a violation report for all policy run. - Requires role of ORG_ADMIN. - operationId: getSodAllReportRunStatus + This gets list of all SOD policies. + Requires role of ORG_ADMIN + operationId: listSodPolicies + parameters: + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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* + + **name**: *eq, in* + + **state**: *eq, in* + example: id eq "bc693f07e7b645539626c25954c58554" + in: query + name: filters + required: false + schema: + type: string + - 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: **id, name, created, modified, description** + example: "id,name" + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string responses: "200": content: application/json: example: - status: SUCCESS - type: REPORT_RESULT - id: 37b3b32a-f394-46f8-acad-b5223969fa68 - name: Multi Query Report + - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + name: Conflicting-Policy-Name + created: 2020-01-01T00:00:00.000000Z + modified: 2020-01-01T00:00:00.000000Z + description: This policy ensures compliance of xyz + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Owner Name + externalPolicyReference: XYZ policy + policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) + AND @access(id:2c9180866166b5b0016167c32ef31a68 OR id:2c9180866166b5b0016167c32ef31a69)' + compensatingControls: Have a manager review the transaction decisions + for their "out of compliance" employee + correctionAdvice: "Based on the role of the employee, managers should\ + \ remove access that is not required for their job function." + state: ENFORCED + tags: + - string + creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + violationOwnerAssignmentConfig: + assignmentRule: MANAGER + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Violation Owner Name + scheduled: true + type: CONFLICTING_ACCESS_BASED + conflictingAccessCriteria: + leftCriteria: + name: money-in + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a66 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a67 + rightCriteria: + name: money-out + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a68 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a69 + - description: Description + ownerRef: + type: IDENTITY + id: 2c918087682f9a86016839c05e8f1aff + name: Owner Name + externalPolicyReference: New policy + policyQuery: policy query implementation + compensatingControls: Compensating controls + correctionAdvice: Correction advice + tags: [] + state: ENFORCED + scheduled: false + creatorId: 2c918087682f9a86016839c05e8f1aff + modifierId: null + violationOwnerAssignmentConfig: null + type: GENERAL + conflictingAccessCriteria: null + id: 52c11db4-733e-4c31-949a-766c95ec95f1 + name: General-Policy-Name + created: 2020-05-12T19:47:38Z + modified: 2020-05-12T19:47:38Z schema: - $ref: '#/components/schemas/ReportResultReference' - description: Status of the violation report run task for all policy run. + items: + $ref: '#/components/schemas/SodPolicy' + type: array + description: List of all SOD policies. "400": content: application/json: @@ -50835,34 +50517,159 @@ paths: error. security: - UserContextAuth: - - idn:sod-violation:read - summary: Get multi-report run task status + - idn:sod-policy:read + summary: List SOD policies tags: - SOD Policies - /sod-violation-report/{reportResultId}/download: - get: + post: deprecated: true description: |- - This allows to download a violation report for a given report reference. + This creates both General and Conflicting Access Based policy, with a limit of 50 entitlements for each (left & right) criteria for Conflicting Access Based SOD policy. Requires role of ORG_ADMIN. - operationId: getDefaultViolationReport - parameters: - - description: The ID of the report reference to download. - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: reportResultId + operationId: createSodPolicy + requestBody: + content: + application/json: + examples: + Conflicting Access Based Policy: + value: + name: Conflicting-Policy-Name + description: This policy ensures compliance of xyz + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Owner Name + externalPolicyReference: XYZ policy + compensatingControls: Have a manager review the transaction decisions + for their "out of compliance" employee + correctionAdvice: "Based on the role of the employee, managers should\ + \ remove access that is not required for their job function." + state: ENFORCED + tags: + - string + creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + violationOwnerAssignmentConfig: + assignmentRule: MANAGER + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Violation Owner Name + scheduled: true + type: CONFLICTING_ACCESS_BASED + conflictingAccessCriteria: + leftCriteria: + name: money-in + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a66 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a67 + rightCriteria: + name: money-out + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a68 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a69 + General Policy: + value: + description: Description + ownerRef: + type: IDENTITY + id: 2c918087682f9a86016839c05e8f1aff + name: Owner Name + externalPolicyReference: New policy + policyQuery: policy query implementation + compensatingControls: Compensating controls + correctionAdvice: Correction advice + tags: [] + state: ENFORCED + scheduled: false + creatorId: 2c918087682f9a86016839c05e8f1aff + modifierId: null + violationOwnerAssignmentConfig: null + name: General-Policy-Name + schema: + $ref: '#/components/schemas/SodPolicy' required: true - schema: - type: string responses: - "200": + "201": content: - application/zip: + application/json: + examples: + Conflicting Access Based Policy: + value: + id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + name: Conflicting-Policy-Name + created: 2020-01-01T00:00:00.000000Z + modified: 2020-01-01T00:00:00.000000Z + description: This policy ensures compliance of xyz + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Owner Name + externalPolicyReference: XYZ policy + policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) + AND @access(id:2c9180866166b5b0016167c32ef31a68 OR id:2c9180866166b5b0016167c32ef31a69)' + compensatingControls: Have a manager review the transaction decisions + for their "out of compliance" employee + correctionAdvice: "Based on the role of the employee, managers\ + \ should remove access that is not required for their job function." + state: ENFORCED + tags: + - string + creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + violationOwnerAssignmentConfig: + assignmentRule: MANAGER + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Violation Owner Name + scheduled: true + type: CONFLICTING_ACCESS_BASED + conflictingAccessCriteria: + leftCriteria: + name: money-in + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a66 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a67 + rightCriteria: + name: money-out + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a68 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a69 + General Policy: + value: + description: Description + ownerRef: + type: IDENTITY + id: 2c918087682f9a86016839c05e8f1aff + name: Owner Name + externalPolicyReference: New policy + policyQuery: policy query implementation + compensatingControls: Compensating controls + correctionAdvice: Correction advice + tags: [] + state: ENFORCED + scheduled: false + creatorId: 2c918087682f9a86016839c05e8f1aff + modifierId: null + violationOwnerAssignmentConfig: null + type: GENERAL + conflictingAccessCriteria: null + id: 52c11db4-733e-4c31-949a-766c95ec95f1 + name: General-Policy-Name + created: 2020-05-12T19:47:38Z + modified: 2020-05-12T19:47:38Z schema: - format: binary - type: string - description: Returns the PolicyReport.zip that contains the violation report - file. + $ref: '#/components/schemas/SodPolicy' + description: SOD policy created "400": content: application/json: @@ -50894,24 +50701,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -50939,41 +50728,37 @@ paths: error. security: - UserContextAuth: - - idn:sod-violation:read - summary: Download violation report + - idn:sod-policy:write + summary: Create SOD policy tags: - SOD Policies - /sod-violation-report/{reportResultId}/download/{fileName}: - get: + /sod-policies/{id}: + delete: deprecated: true description: |- - This allows to download a specified named violation report for a given report reference. + This deletes a specified SOD policy. Requires role of ORG_ADMIN. - operationId: getCustomViolationReport + operationId: deleteSodPolicy parameters: - - description: The ID of the report reference to download. + - description: The ID of the SOD Policy to delete. example: ef38f94347e94562b5bb8424a56397d8 in: path - name: reportResultId + name: id required: true schema: type: string - - description: Custom Name for the file. - example: custom-name - in: path - name: fileName - required: true + - description: Indicates whether this is a soft delete (logical true) or a hard + delete. + example: true + in: query + name: logical + required: false schema: - type: string + default: true + type: boolean responses: - "200": - content: - application/zip: - schema: - format: binary - type: string - description: Returns the zip file with given custom name that contains the - violation report file. + "204": + description: No content. "400": content: application/json: @@ -51050,244 +50835,114 @@ paths: error. security: - UserContextAuth: - - idn:sod-violation:read - summary: Download custom violation report + - idn:sod-policy:write + summary: Delete SOD policy by ID tags: - SOD Policies - /work-items: get: - description: "This gets a collection of work items belonging to either the specified\ - \ user(admin required), or the current user." - operationId: listWorkItems + deprecated: true + description: |- + This gets specified SOD policy. + Requires role of ORG_ADMIN. + operationId: getSodPolicy parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - description: ID of the work item owner. - in: query - name: ownerId - required: false + - description: The ID of the object reference to retrieve. + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true schema: type: string responses: "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/WorkItems' - type: array - description: List of work items - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "404": content: application/json: examples: - "404": - summary: An example of a 404 response object + Conflicting Access Based Policy: value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - summary: List Work Items - tags: - - Work Items - /work-items/completed: - get: - description: "This gets a collection of completed work items belonging to either\ - \ the specified user(admin required), or the current user." - operationId: getCompletedWorkItems - parameters: - - description: "The id of the owner of the work item list being requested. \ - \ Either an admin, or the owning/current user must make this request." - in: query - name: ownerId - required: false - schema: - type: string - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - responses: - "200": - content: - application/json: + id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + name: Conflicting-Policy-Name + created: 2020-01-01T00:00:00.000000Z + modified: 2020-01-01T00:00:00.000000Z + description: This policy ensures compliance of xyz + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Owner Name + externalPolicyReference: XYZ policy + policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) + AND @access(id:2c9180866166b5b0016167c32ef31a68 OR id:2c9180866166b5b0016167c32ef31a69)' + compensatingControls: Have a manager review the transaction decisions + for their "out of compliance" employee + correctionAdvice: "Based on the role of the employee, managers\ + \ should remove access that is not required for their job function." + state: ENFORCED + tags: + - string + creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + violationOwnerAssignmentConfig: + assignmentRule: MANAGER + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Violation Owner Name + scheduled: true + type: CONFLICTING_ACCESS_BASED + conflictingAccessCriteria: + leftCriteria: + name: money-in + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a66 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a67 + rightCriteria: + name: money-out + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a68 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a69 + General Policy: + value: + description: Description + ownerRef: + type: IDENTITY + id: 2c918087682f9a86016839c05e8f1aff + name: Owner Name + externalPolicyReference: New policy + policyQuery: policy query implementation + compensatingControls: Compensating controls + correctionAdvice: Correction advice + tags: [] + state: ENFORCED + scheduled: false + creatorId: 2c918087682f9a86016839c05e8f1aff + modifierId: null + violationOwnerAssignmentConfig: null + type: GENERAL + conflictingAccessCriteria: null + id: 52c11db4-733e-4c31-949a-766c95ec95f1 + name: General-Policy-Name + created: 2020-05-12T19:47:38Z + modified: 2020-05-12T19:47:38Z schema: - items: - $ref: '#/components/schemas/WorkItems' - type: array - description: List of completed work items. + $ref: '#/components/schemas/SodPolicy' + description: SOD policy ID. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - summary: Completed Work Items - tags: - - Work Items - /work-items/count: - get: - description: "This gets a count of work items belonging to either the specified\ - \ user(admin required), or the current user." - operationId: getCountWorkItems - parameters: - - description: ID of the work item owner. - in: query - name: ownerId - required: false - schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/WorkItemsCount' - description: List of work items - "400": + "401": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -51324,100 +50979,185 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - summary: Count Work Items - tags: - - Work Items - /work-items/completed/count: - get: - description: "This gets a count of completed work items belonging to either\ - \ the specified user(admin required), or the current user." - operationId: getCountCompletedWorkItems - parameters: - - description: ID of the work item owner. - in: query - name: ownerId - required: false - schema: - type: string - responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/WorkItemsCount' - type: array - description: List of work items - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "403": + "429": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "404": + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": content: application/json: examples: - "404": - summary: An example of a 404 response object + "500": + summary: An example of a 500 response object value: - detailCode: 404 Not found + detailCode: 500.0 Internal Fault trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. + text: An internal fault occurred. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - summary: Count Completed Work Items + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sod-policy:read + summary: Get SOD policy by ID tags: - - Work Items - /work-items/summary: - get: - description: "This gets a summary of work items belonging to either the specified\ - \ user(admin required), or the current user." - operationId: getWorkItemsSummary + - SOD Policies + patch: + deprecated: true + description: |- + Allows updating SOD Policy fields other than ["id","created","creatorId","policyQuery","type"] using the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + Requires role of ORG_ADMIN. + This endpoint can only patch CONFLICTING_ACCESS_BASED type policies. Do not use this endpoint to patch general policies - doing so will build an API exception. + operationId: patchSodPolicy parameters: - - description: ID of the work item owner. - in: query - name: ownerId - required: false + - description: The ID of the SOD policy being modified. + example: 2c9180835d191a86015d28455b4a2329 + in: path + name: id + required: true schema: type: string + requestBody: + content: + application/json-patch+json: + examples: + Conflicting Access Based Policy: + value: + - op: replace + path: /description + value: Modified description + - op: replace + path: /conflictingAccessCriteria/leftCriteria/name + value: money-in-modified + - op: replace + path: /conflictingAccessCriteria/rightCriteria + value: + name: money-out-modified + criteriaList: + - type: ENTITLEMENT + id: 2c918087682f9a86016839c0509c1ab2 + General Policy: + value: + - op: replace + path: /description + value: Modified description + schema: + items: + type: object + type: array + description: | + A list of SOD Policy update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. + + The following fields are patchable: + * name + * description + * ownerRef + * externalPolicyReference + * compensatingControls + * correctionAdvice + * state + * tags + * violationOwnerAssignmentConfig + * scheduled + * conflictingAccessCriteria + required: true responses: "200": content: application/json: + examples: + Conflicting Access Based Policy: + value: + id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + name: Conflicting-Policy-Name + created: 2020-01-01T00:00:00.000000Z + modified: 2020-01-01T00:00:00.000000Z + description: Modified description + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Owner Name + externalPolicyReference: XYZ policy + policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) + AND @access(id:2c918087682f9a86016839c0509c1ab2)' + compensatingControls: Have a manager review the transaction decisions + for their "out of compliance" employee + correctionAdvice: "Based on the role of the employee, managers\ + \ should remove access that is not required for their job function." + state: ENFORCED + tags: + - string + creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + violationOwnerAssignmentConfig: + assignmentRule: MANAGER + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Violation Owner Name + scheduled: true + type: CONFLICTING_ACCESS_BASED + conflictingAccessCriteria: + leftCriteria: + name: money-in-modified + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a66 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a67 + rightCriteria: + name: money-out-modified + criteriaList: + - type: ENTITLEMENT + id: 2c918087682f9a86016839c0509c1ab2 + General Policy: + value: + description: Modified description + ownerRef: + type: IDENTITY + id: 2c918087682f9a86016839c05e8f1aff + name: Owner Name + externalPolicyReference: New policy + policyQuery: policy query implementation + compensatingControls: Compensating controls + correctionAdvice: Correction advice + tags: [] + state: ENFORCED + scheduled: false + creatorId: 2c918087682f9a86016839c05e8f1aff + modifierId: null + violationOwnerAssignmentConfig: null + type: GENERAL + conflictingAccessCriteria: null + id: 52c11db4-733e-4c31-949a-766c95ec95f1 + name: General-Policy-Name + created: 2020-05-12T19:47:38Z + modified: 2020-05-12T19:47:38Z schema: - $ref: '#/components/schemas/WorkItemsSummary' - description: List of work items + $ref: '#/components/schemas/SodPolicy' + description: "Indicates the PATCH operation succeeded, and returns the SOD\ + \ policy's new representation." "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -51454,152 +51194,45 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - summary: Work Items Summary - tags: - - Work Items - /work-items/{id}: - get: - description: "This gets the details of a Work Item belonging to either the specified\ - \ user(admin required), or the current user." - operationId: getWorkItem - parameters: - - description: ID of the work item owner. - in: query - name: ownerId - required: false - schema: - type: string - - description: ID of the work item. - in: path - name: id - required: true - schema: - type: string - responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/WorkItems' - type: array - description: The work item with the given ID. - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "403": + "429": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "404": + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": content: application/json: examples: - "404": - summary: An example of a 404 response object + "500": + summary: An example of a 500 response object value: - detailCode: 404 Not found + detailCode: 500.0 Internal Fault trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. + text: An internal fault occurred. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - summary: Get a Work Item + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sod-policy:write + summary: Patch a SOD policy tags: - - Work Items - post: - description: "This API completes a work item. Either an admin, or the owning/current\ - \ user must make this request." - operationId: completeWorkItem + - SOD Policies + put: + deprecated: true + description: |- + This updates a specified SOD policy. + Requires role of ORG_ADMIN. + operationId: putSodPolicy parameters: - - description: The ID of the work item - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: id - required: true - schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/WorkItems' - description: A WorkItems object - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - summary: Complete a Work Item - tags: - - Work Items - /work-items/{id}/forward: - post: - description: "This API forwards a work item to a new owner. Either an admin,\ - \ or the owning/current user must make this request." - operationId: forwardWorkItem - parameters: - - description: The ID of the work item + - description: The ID of the SOD policy to update. example: ef38f94347e94562b5bb8424a56397d8 in: path name: id @@ -51609,12 +51242,154 @@ paths: requestBody: content: application/json: + examples: + Conflicting Access Based Policy: + value: + id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + name: Conflicting-Policy-Name + created: 2020-01-01T00:00:00.000000Z + modified: 2020-01-01T00:00:00.000000Z + description: Modified Description + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Owner Name + externalPolicyReference: XYZ policy + compensatingControls: Have a manager review the transaction decisions + for their "out of compliance" employee + correctionAdvice: "Based on the role of the employee, managers should\ + \ remove access that is not required for their job function." + state: ENFORCED + tags: + - string + creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + violationOwnerAssignmentConfig: + assignmentRule: MANAGER + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Violation Owner Name + scheduled: true + type: CONFLICTING_ACCESS_BASED + conflictingAccessCriteria: + leftCriteria: + name: money-in + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a66 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a67 + rightCriteria: + name: money-out + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a68 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a69 + General Policy: + value: + description: Modified Description + ownerRef: + type: IDENTITY + id: 2c918087682f9a86016839c05e8f1aff + name: Owner Name + externalPolicyReference: New policy + policyQuery: policy query implementation + compensatingControls: Compensating controls + correctionAdvice: Correction advice + tags: [] + state: ENFORCED + scheduled: false + creatorId: 2c918087682f9a86016839c05e8f1aff + modifierId: null + violationOwnerAssignmentConfig: null + type: GENERAL + conflictingAccessCriteria: null + id: 52c11db4-733e-4c31-949a-766c95ec95f1 + name: General-Policy-Name + created: 2020-05-12T19:47:38Z + modified: 2020-05-12T19:47:38Z schema: - $ref: '#/components/schemas/WorkItemForward' + $ref: '#/components/schemas/SodPolicy' required: true responses: "200": - description: "Success, but no data is returned." + content: + application/json: + examples: + Conflicting Access Based Policy: + value: + id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + name: Conflicting-Policy-Name + created: 2020-01-01T00:00:00.000000Z + modified: 2020-01-01T00:00:00.000000Z + description: Modified description + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Owner Name + externalPolicyReference: XYZ policy + policyQuery: '@access(id:2c9180866166b5b0016167c32ef31a66 OR id:2c9180866166b5b0016167c32ef31a67) + AND @access(id:2c9180866166b5b0016167c32ef31a68 OR id:2c9180866166b5b0016167c32ef31a69)' + compensatingControls: Have a manager review the transaction decisions + for their "out of compliance" employee + correctionAdvice: "Based on the role of the employee, managers\ + \ should remove access that is not required for their job function." + state: ENFORCED + tags: + - string + creatorId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + modifierId: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + violationOwnerAssignmentConfig: + assignmentRule: MANAGER + ownerRef: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: Violation Owner Name + scheduled: true + type: CONFLICTING_ACCESS_BASED + conflictingAccessCriteria: + leftCriteria: + name: money-in + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a66 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a67 + rightCriteria: + name: money-out + criteriaList: + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a68 + - type: ENTITLEMENT + id: 2c9180866166b5b0016167c32ef31a69 + General Policy: + value: + description: Modified Description + ownerRef: + type: IDENTITY + id: 2c918087682f9a86016839c05e8f1aff + name: Owner Name + externalPolicyReference: New policy + policyQuery: policy query implementation + compensatingControls: Compensating controls + correctionAdvice: Correction advice + tags: [] + state: ENFORCED + scheduled: false + creatorId: 2c918087682f9a86016839c05e8f1aff + modifierId: null + violationOwnerAssignmentConfig: null + type: GENERAL + conflictingAccessCriteria: null + id: 52c11db4-733e-4c31-949a-766c95ec95f1 + name: General-Policy-Name + created: 2020-05-12T19:47:38Z + modified: 2020-05-12T19:47:38Z + schema: + $ref: '#/components/schemas/SodPolicy' + description: SOD Policy by ID "400": content: application/json: @@ -51646,6 +51421,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -51671,42 +51464,43 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - summary: Forward a Work Item + security: + - UserContextAuth: + - idn:sod-policy:write + summary: Update SOD policy by ID tags: - - Work Items - /work-items/{id}/approve/{approvalItemId}: - post: - description: "This API approves an Approval Item. Either an admin, or the owning/current\ - \ user must make this request." - operationId: approveApprovalItem + - SOD Policies + /sod-policies/{id}/schedule: + delete: + deprecated: true + description: |- + This deletes schedule for a specified SOD policy. + Requires role of ORG_ADMIN. + operationId: deleteSodPolicySchedule parameters: - - description: The ID of the work item + - description: The ID of the SOD policy the schedule must be deleted for. example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true schema: type: string - - description: The ID of the approval item. - example: 1211bcaa32112bcef6122adb21cef1ac - in: path - name: approvalItemId - required: true - schema: - type: string responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/WorkItems' - description: A work items details object. + "204": + description: No content. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -51743,42 +51537,71 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - summary: Approve an Approval Item + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sod-policy:write + summary: Delete SOD policy schedule tags: - - Work Items - /work-items/{id}/reject/{approvalItemId}: - post: - description: "This API rejects an Approval Item. Either an admin, or the owning/current\ - \ user must make this request." - operationId: rejectApprovalItem + - SOD Policies + get: + deprecated: true + description: |- + This endpoint gets a specified SOD policy's schedule. + Requires the role of ORG_ADMIN. + operationId: getSodPolicySchedule parameters: - - description: The ID of the work item + - description: The ID of the object reference to retrieve. example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true schema: type: string - - description: The ID of the approval item. - example: 1211bcaa32112bcef6122adb21cef1ac - in: path - name: approvalItemId - required: true - schema: - type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/WorkItems' - description: A work items details object. + $ref: '#/components/schemas/SodPolicySchedule' + description: SOD policy ID. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -51797,53 +51620,77 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": content: application/json: examples: - "404": - summary: An example of a 404 response object + "500": + summary: An example of a 500 response object value: - detailCode: 404 Not found + detailCode: 500.0 Internal Fault trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. + text: An internal fault occurred. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - summary: Reject an Approval Item + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sod-policy:read + summary: Get SOD policy schedule tags: - - Work Items - /work-items/bulk-approve/{id}: - post: - description: "This API bulk approves Approval Items. Either an admin, or the\ - \ owning/current user must make this request." - operationId: approveApprovalItemsInBulk + - SOD Policies + put: + deprecated: true + description: |- + This updates schedule for a specified SOD policy. + Requires role of ORG_ADMIN. + operationId: putPolicySchedule parameters: - - description: The ID of the work item + - description: The ID of the SOD policy to update its schedule. example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true schema: type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SodPolicySchedule' + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/WorkItems' - description: A work items details object. + $ref: '#/components/schemas/SodPolicySchedule' + description: SOD policy by ID. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -51862,34 +51709,46 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": content: application/json: examples: - "404": - summary: An example of a 404 response object + "500": + summary: An example of a 500 response object value: - detailCode: 404 Not found + detailCode: 500.0 Internal Fault trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. + text: An internal fault occurred. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - summary: Bulk approve Approval Items + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sod-policy:write + summary: Update SOD Policy schedule tags: - - Work Items - /work-items/bulk-reject/{id}: + - SOD Policies + /sod-policies/{id}/violation-report/run: post: - description: "This API bulk rejects Approval Items. Either an admin, or the\ - \ owning/current user must make this request." - operationId: rejectApprovalItemsInBulk + deprecated: true + description: |- + This invokes processing of violation report for given SOD policy. If the policy reports more than 5000 violations, the report returns with violation limit exceeded message. + Requires role of ORG_ADMIN. + operationId: startSodPolicy parameters: - - description: The ID of the work item + - description: The SOD policy ID to run. example: ef38f94347e94562b5bb8424a56397d8 in: path name: id @@ -51900,15 +51759,27 @@ paths: "200": content: application/json: + example: + status: PENDING + type: REPORT_RESULT + id: 2e8d8180-24bc-4d21-91c6-7affdb473b0d + name: policy-xyz schema: - $ref: '#/components/schemas/WorkItems' - description: A work items details object. + $ref: '#/components/schemas/ReportResultReference' + description: Reference to the violation report run task. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -51945,45 +51816,77 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - summary: Bulk reject Approval Items + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sod-violation:write + summary: Runs SOD policy violation report tags: - - Work Items - /work-items/{id}/submit-account-selection: - post: - description: "This API submits account selections. Either an admin, or the owning/current\ - \ user must make this request." - operationId: submitAccountSelection + - SOD Policies + /sod-policies/{id}/violation-report: + get: + deprecated: true + description: |- + This gets the status for a violation report run task that has already been invoked. + Requires role of ORG_ADMIN. + operationId: getSodViolationReportStatus parameters: - - description: The ID of the work item + - description: The ID of the object reference to retrieve. example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true schema: type: string - requestBody: - content: - application/json: - example: - fieldName: fieldValue - schema: - additionalProperties: true - type: object - description: "Account Selection Data map, keyed on fieldName" - required: true responses: "200": content: application/json: + example: + status: SUCCESS + type: REPORT_RESULT + id: 2e8d8180-24bc-4d21-91c6-7affdb473b0d + name: policy-xyz schema: - $ref: '#/components/schemas/WorkItems' - description: A work items details object. + $ref: '#/components/schemas/ReportResultReference' + description: Status of the violation report run task. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: @@ -52020,53 +51923,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - summary: Submit Account Selections - tags: - - Work Items - /workflows: - get: - description: List all workflows in the tenant. - operationId: listWorkflows - responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/Workflow' - type: array - description: List of workflows - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." - "403": - content: - application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." "429": content: application/json: @@ -52094,87 +51950,40 @@ paths: error. security: - UserContextAuth: - - sp:workflow:read - summary: List Workflows + - idn:sod-violation:read + summary: Get SOD violation report status tags: - - Workflows + - SOD Policies + /sod-violations/predict: post: - description: Create a new workflow with the desired trigger and steps specified - in the request body. - operationId: createWorkflow + deprecated: true + description: |- + This API is used to check if granting some additional accesses would cause the subject to be in violation of any SOD policies. Returns the violations that would be caused. + + A token with ORG_ADMIN or API authority is required to call this API. + operationId: startPredictSodViolations requestBody: content: application/json: - examples: - Event Trigger: - description: Workflow initiated by an event trigger - value: - name: Send Email - owner: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: William Wilson - description: Send an email to the identity who's attributes changed. - definition: - start: Send Email Test - steps: - Send Email: - actionId: sp:send-email - attributes: - body: This is a test - from: sailpoint@sailpoint.com - recipientId.$: $.identity.id - subject: test - nextStep: success - selectResult: null - type: action - success: - type: success - enabled: false - trigger: - type: EVENT - attributes: - id: idn:identity-attributes-changed - filter: "$.changes[?(@.attribute == 'manager')]" - Scheduled Trigger: - description: Workflow initiated by a scheduled trigger - value: - name: Send Email - owner: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: William Wilson - description: Send an email to the identity who's attributes changed. - definition: - start: Send Email Test - steps: - Send Email: - actionId: sp:send-email - attributes: - body: This is a test - from: sailpoint@sailpoint.com - recipientId.$: $.identity.id - subject: test - nextStep: success - selectResult: null - type: action - success: - type: success - enabled: false - trigger: - type: SCHEDULED - attributes: - cronString: 0 * */3 */5 * + example: + identityId: 2c91808568c529c60168cca6f90c1313 + accessRefs: + - type: ENTITLEMENT + id: 2c918087682f9a86016839c050861ab1 + name: "CN=Information Access,OU=test,OU=test-service,DC=TestAD,DC=local" + - type: ENTITLEMENT + id: 2c918087682f9a86016839c0509c1ab2 + name: "CN=Information Technology,OU=test,OU=test-service,DC=TestAD,DC=local" schema: - $ref: '#/components/schemas/createWorkflow_request' + $ref: '#/components/schemas/IdentityWithNewAccess' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Workflow' - description: The Workflow object + $ref: '#/components/schemas/ViolationPrediction' + description: Violation Contexts "400": content: application/json: @@ -52206,6 +52015,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -52233,29 +52060,37 @@ paths: error. security: - UserContextAuth: - - sp:workflow:manage - summary: Create Workflow + - idn:sod-violation:read + summary: Predict SOD violations for identity. tags: - - Workflows - /workflows/{id}: - delete: - description: Delete a workflow. **Enabled workflows cannot be deleted**. They - must first be disabled. - operationId: deleteWorkflow + - SOD Violations + /sod-policies/sod-violation-report-status/{reportResultId}: + get: + deprecated: true + description: |- + This gets the status for a violation report run task that has already been invoked. + Requires role of ORG_ADMIN. + operationId: getSodViolationReportRunStatus parameters: - - description: Id of the Workflow - explode: false + - description: The ID of the report reference to retrieve. + example: 2e8d8180-24bc-4d21-91c6-7affdb473b0d in: path - name: id + name: reportResultId required: true schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - style: simple responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + example: + status: SUCCESS + type: REPORT_RESULT + id: 2e8d8180-24bc-4d21-91c6-7affdb473b0d + name: policy-xyz + schema: + $ref: '#/components/schemas/ReportResultReference' + description: Status of the violation report run task. "400": content: application/json: @@ -52287,6 +52122,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -52314,30 +52167,39 @@ paths: error. security: - UserContextAuth: - - sp:workflow:manage - summary: Delete Workflow By Id + - idn:sod-violation:read + summary: Get violation report run status tags: - - Workflows - get: - description: Get a single workflow by id. - operationId: getWorkflow - parameters: - - description: Id of the workflow - explode: false - in: path - name: id - required: true - schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b - type: string - style: simple + - SOD Policies + /sod-violation-report/run: + post: + deprecated: true + description: |- + Runs multi-policy report for the org. If a policy reports more than 5000 violations, the report mentions that the violation limit was exceeded for that policy. If the request is empty, the report runs for all policies. Otherwise, the report runs for only the filtered policy list provided. + Requires role of ORG_ADMIN. + operationId: startSodAllPoliciesForOrg + requestBody: + content: + application/json: + example: + filteredPolicyList: + - b868cd40-ffa4-4337-9c07-1a51846cfa94 + - 63a07a7b-39a4-48aa-956d-50c827deba2a + schema: + $ref: '#/components/schemas/MultiPolicyRequest' + required: false responses: "200": content: application/json: + example: + status: PENDING + type: REPORT_RESULT + id: 37b3b32a-f394-46f8-acad-b5223969fa68 + name: Multi Query Report schema: - $ref: '#/components/schemas/Workflow' - description: The workflow object + $ref: '#/components/schemas/ReportResultReference' + description: Reference to the violation report run task. "400": content: application/json: @@ -52396,82 +52258,29 @@ paths: error. security: - UserContextAuth: - - sp:workflow:read - summary: Get Workflow By Id + - idn:sod-violation:write + summary: Runs all policies for org tags: - - Workflows - patch: - description: "Partially update an existing Workflow using [JSON Patch](https://tools.ietf.org/html/rfc6902)\ - \ syntax." - operationId: patchWorkflow - parameters: - - description: Id of the Workflow - explode: false - in: path - name: id - required: true - schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b - type: string - style: simple - requestBody: - content: - application/json-patch+json: - examples: - Update all patchable fields: - description: Demonstrate how to update each patchable field in one - PATCH request. - value: - - op: replace - path: /name - value: Send Email - - op: replace - path: /owner - value: - type: IDENTITY - id: 2c91808568c529c60168cca6f90c1313 - name: William Wilson - - op: replace - path: /description - value: Send an email to the identity who's attributes changed. - - op: replace - path: /enabled - value: false - - op: replace - path: /definition - value: - start: Send Email Test - steps: - Send Email: - actionId: sp:send-email - attributes: - body: This is a test - from: sailpoint@sailpoint.com - recipientId.$: $.identity.id - subject: test - nextStep: success - selectResult: null - type: action - success: - type: success - - op: replace - path: /trigger - value: - type: EVENT - attributes: - id: idn:identity-attributes-changed - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - required: true + - SOD Policies + /sod-violation-report: + get: + deprecated: true + description: |- + This endpoint gets the status for a violation report for all policy run. + Requires role of ORG_ADMIN. + operationId: getSodAllReportRunStatus responses: "200": content: application/json: + example: + status: SUCCESS + type: REPORT_RESULT + id: 37b3b32a-f394-46f8-acad-b5223969fa68 + name: Multi Query Report schema: - $ref: '#/components/schemas/Workflow' - description: The Workflow object + $ref: '#/components/schemas/ReportResultReference' + description: Status of the violation report run task for all policy run. "400": content: application/json: @@ -52530,37 +52339,34 @@ paths: error. security: - UserContextAuth: - - sp:workflow:manage - summary: Patch Workflow + - idn:sod-violation:read + summary: Get multi-report run task status tags: - - Workflows - put: - description: Perform a full update of a workflow. The updated workflow object - is returned in the response. - operationId: updateWorkflow + - SOD Policies + /sod-violation-report/{reportResultId}/download: + get: + deprecated: true + description: |- + This allows to download a violation report for a given report reference. + Requires role of ORG_ADMIN. + operationId: getDefaultViolationReport parameters: - - description: Id of the Workflow - explode: false + - description: The ID of the report reference to download. + example: ef38f94347e94562b5bb8424a56397d8 in: path - name: id + name: reportResultId required: true schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/WorkflowBody' - required: true responses: "200": content: - application/json: + application/zip: schema: - $ref: '#/components/schemas/Workflow' - description: The Workflow object + format: binary + type: string + description: Returns the PolicyReport.zip that contains the violation report + file. "400": content: application/json: @@ -52592,6 +52398,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -52619,65 +52443,41 @@ paths: error. security: - UserContextAuth: - - sp:workflow:manage - summary: Update Workflow + - idn:sod-violation:read + summary: Download violation report tags: - - Workflows - /workflows/{id}/test: - post: + - SOD Policies + /sod-violation-report/{reportResultId}/download/{fileName}: + get: + deprecated: true description: |- - Test a workflow with the provided input data. The input data should resemble the input that the trigger will send the workflow. See the [event trigger documentation](https://developer.sailpoint.com/idn/docs/event-triggers/available) for an example input for the trigger that initiates this workflow. - This endpoint will return an execution ID, which can be used to lookup more information about the execution using the `Get a Workflow Execution` endpoint. - **This will cause a live run of the workflow, which could result in unintended modifications to your IDN tenant.** - operationId: testWorkflow + This allows to download a specified named violation report for a given report reference. + Requires role of ORG_ADMIN. + operationId: getCustomViolationReport parameters: - - description: Id of the workflow - explode: false + - description: The ID of the report reference to download. + example: ef38f94347e94562b5bb8424a56397d8 in: path - name: id + name: reportResultId required: true schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - style: simple - requestBody: - content: - application/json: - examples: - Identity Attributes Changed: - description: Identity Attributes Changed Trigger Input - value: - input: - identity: - id: ee769173319b41d19ccec6cea52f237b - name: john.doe - type: IDENTITY - changes: - - attribute: department - oldValue: sales - newValue: marketing - - attribute: manager - oldValue: - id: ee769173319b41d19ccec6c235423237b - name: nice.guy - type: IDENTITY - newValue: - id: ee769173319b41d19ccec6c235423236c - name: mean.guy - type: IDENTITY - - attribute: email - oldValue: john.doe@hotmail.com - newValue: john.doe@gmail.com - schema: - $ref: '#/components/schemas/testWorkflow_request' + - description: Custom Name for the file. + example: custom-name + in: path + name: fileName required: true + schema: + type: string responses: "200": content: - application/json: + application/zip: schema: - $ref: '#/components/schemas/testWorkflow_200_response' - description: The Workflow object + format: binary + type: string + description: Returns the zip file with given custom name that contains the + violation report file. "400": content: application/json: @@ -52709,6 +52509,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -52736,36 +52554,16 @@ paths: error. security: - UserContextAuth: - - sp:workflow-execute:external - summary: Test Workflow By Id + - idn:sod-violation:read + summary: Download custom violation report tags: - - Workflows - /workflows/{id}/executions: + - SOD Policies + /work-items: get: - description: "Use this API to list a specified workflow's executions. Workflow\ - \ executions are available for up to 90 days before being archived. By default,\ - \ you can get a maximum of 250 executions. To get executions past the first\ - \ 250 records, you can do the following: \n1. Use the [Get Workflows](https://developer.sailpoint.com/idn/api/beta/list-workflows)\ - \ endpoint to get your workflows. \n2. Get your workflow ID from the response.\ - \ \n3. You can then do either of the following: \n\n - Filter to find relevant\ - \ workflow executions.\n For example, you can filter for failed workflow\ - \ executions: `GET /workflows/:workflowID/executions?filters=status eq \"\ - Failed\"`\n\n - Paginate through results with the `offset` parameter. \n\ - \ For example, you can page through 50 executions per page and use that as\ - \ a way to get to the records past the first 250. \n Refer to [Paginating\ - \ Results](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results)\ - \ for more information about the query parameters you can use to achieve pagination. " - operationId: getWorkflowExecutions - parameters: - - description: Workflow ID. - explode: false - in: path - name: id - required: true - schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b - type: string - style: simple + description: "This gets a collection of work items belonging to either the specified\ + \ user(admin required), or the current user." + operationId: listWorkItems + parameters: - 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. @@ -52804,17 +52602,9 @@ paths: schema: default: false type: boolean - - 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: - - **startTime**: *eq, lt, le, gt, ge* - - **status**: *eq* - example: status eq "Failed" + - description: ID of the work item owner. in: query - name: filters + name: ownerId required: false schema: type: string @@ -52824,22 +52614,15 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/WorkflowExecution' + $ref: '#/components/schemas/WorkItems' type: array - description: 'List of workflow executions for the specified workflow. ' + description: List of work items "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." "403": content: application/json: @@ -52876,76 +52659,75 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": - content: - application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - sp:workflow:read - summary: List Workflow Executions + summary: List Work Items tags: - - Workflows - /workflow-executions/{id}: + - Work Items + /work-items/completed: get: - description: "Use this API to get a single workflow execution. Workflow executions\ - \ are available for up to 90 days before being archived. If you attempt to\ - \ access a workflow execution that has been archived, you will receive a \"\ - 404 Not Found\" response." - operationId: getWorkflowExecution + description: "This gets a collection of completed work items belonging to either\ + \ the specified user(admin required), or the current user." + operationId: getCompletedWorkItems parameters: - - description: Workflow execution ID. - explode: false - in: path - name: id - required: true + - description: "The id of the owner of the work item list being requested. \ + \ Either an admin, or the owning/current user must make this request." + in: query + name: ownerId + required: false schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - style: simple + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean responses: "200": content: application/json: schema: items: - $ref: ../schemas/WorkflowExecution.yaml - type: object - description: Workflow execution. + $ref: '#/components/schemas/WorkItems' + type: array + description: List of completed work items. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." "403": content: application/json: @@ -52982,76 +52764,100 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - "429": + summary: Completed Work Items + tags: + - Work Items + /work-items/count: + get: + description: "This gets a count of work items belonging to either the specified\ + \ user(admin required), or the current user." + operationId: getCountWorkItems + parameters: + - description: ID of the work item owner. + in: query + name: ownerId + required: false + schema: + type: string + responses: + "200": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": + $ref: '#/components/schemas/WorkItemsCount' + description: List of work items + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "403": content: application/json: examples: - "500": - summary: An example of a 500 response object + "403": + summary: An example of a 403 response object value: - detailCode: 500.0 Internal Fault + detailCode: 403 Forbidden trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: An internal fault occurred. + text: The server understood the request but refuses to authorize + it. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - sp:workflow:read - summary: Get Workflow Execution + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + summary: Count Work Items tags: - - Workflows - /workflow-executions/{id}/history: + - Work Items + /work-items/completed/count: get: - description: "Get a detailed history of a single workflow execution. Workflow\ - \ executions are available for up to 90 days before being archived. If you\ - \ attempt to access a workflow execution that has been archived, you will\ - \ receive a 404 Not Found." - operationId: getWorkflowExecutionHistory + description: "This gets a count of completed work items belonging to either\ + \ the specified user(admin required), or the current user." + operationId: getCountCompletedWorkItems parameters: - - description: Id of the workflow execution - explode: false - in: path - name: id - required: true + - description: ID of the work item owner. + in: query + name: ownerId + required: false schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - style: simple responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/WorkflowExecutionEvent' + $ref: '#/components/schemas/WorkItemsCount' type: array - description: List of workflow execution events for the given workflow execution + description: List of work items "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." "403": content: application/json: @@ -53088,68 +52894,106 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - "429": + summary: Count Completed Work Items + tags: + - Work Items + /work-items/summary: + get: + description: "This gets a summary of work items belonging to either the specified\ + \ user(admin required), or the current user." + operationId: getWorkItemsSummary + parameters: + - description: ID of the work item owner. + in: query + name: ownerId + required: false + schema: + type: string + responses: + "200": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": + $ref: '#/components/schemas/WorkItemsSummary' + description: List of work items + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "403": content: application/json: examples: - "500": - summary: An example of a 500 response object + "403": + summary: An example of a 403 response object value: - detailCode: 500.0 Internal Fault + detailCode: 403 Forbidden trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: An internal fault occurred. + text: The server understood the request but refuses to authorize + it. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - sp:workflow:read - summary: Get Workflow Execution History + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + summary: Work Items Summary tags: - - Workflows - /workflow-executions/{id}/cancel: - post: - description: Use this API to cancel a running workflow execution. - operationId: cancelWorkflowExecution + - Work Items + /work-items/{id}: + get: + description: "This gets the details of a Work Item belonging to either the specified\ + \ user(admin required), or the current user." + operationId: getWorkItem parameters: - - description: The workflow execution ID - explode: false + - description: ID of the work item owner. + in: query + name: ownerId + required: false + schema: + type: string + - description: ID of the work item. in: path name: id required: true schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - style: simple responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. - "400": + "200": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. - "401": + items: + $ref: '#/components/schemas/WorkItems' + type: array + description: The work item with the given ID. + "400": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "403": content: application/json: @@ -53186,79 +53030,95 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Not Found - returned if the request URL refers to a resource or object that does not exist - "429": + summary: Get a Work Item + tags: + - Work Items + post: + description: "This API completes a work item. Either an admin, or the owning/current\ + \ user must make this request." + operationId: completeWorkItem + parameters: + - description: The ID of the work item + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true + schema: + type: string + responses: + "200": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": + $ref: '#/components/schemas/WorkItems' + description: A WorkItems object + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "403": content: application/json: examples: - "500": - summary: An example of a 500 response object + "403": + summary: An example of a 403 response object value: - detailCode: 500.0 Internal Fault + detailCode: 403 Forbidden trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: An internal fault occurred. + text: The server understood the request but refuses to authorize + it. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - sp:workflow-execute:external - summary: Cancel Workflow Execution by ID + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + summary: Complete a Work Item tags: - - Workflows - /workflow-library: - get: - description: "This lists all triggers, actions, and operators in the library" - externalDocs: - description: Additional documentation for workflows - url: https://documentation.sailpoint.com/saas/help/workflows/workflow-steps.html - operationId: listCompleteWorkflowLibrary + - Work Items + /work-items/{id}/forward: + post: + description: "This API forwards a work item to a new owner. Either an admin,\ + \ or the owning/current user must make this request." + operationId: forwardWorkItem parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false + - description: The ID of the work item + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true schema: - default: 0 - format: int32 - minimum: 0 - type: integer + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkItemForward' + required: true responses: "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/listCompleteWorkflowLibrary_200_response_inner' - type: array - description: List of workflow steps + description: "Success, but no data is returned." "400": content: application/json: @@ -53315,55 +53175,27 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: Internal Server Error - Returned if there is an unexpected error. - security: - - UserContextAuth: - - sp:workflow:read - summary: List Complete Workflow Library + summary: Forward a Work Item tags: - - Workflows - /workflow-library/actions: - get: - description: This lists the workflow actions available to you. - externalDocs: - description: Additional documentation for each action - url: https://documentation.sailpoint.com/saas/help/workflows/workflow-steps.html#actions - operationId: listWorkflowLibraryActions + - Work Items + /work-items/{id}/approve/{approvalItemId}: + post: + description: "This API approves an Approval Item. Either an admin, or the owning/current\ + \ user must make this request." + operationId: approveApprovalItem parameters: - - 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. - example: 250 - in: query - name: limit - required: false + - description: The ID of the work item + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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* - example: id eq "sp:create-campaign" - in: query - name: filters - required: false + type: string + - description: The ID of the approval item. + example: 1211bcaa32112bcef6122adb21cef1ac + in: path + name: approvalItemId + required: true schema: type: string responses: @@ -53371,23 +53203,14 @@ paths: content: application/json: schema: - items: - $ref: '#/components/schemas/WorkflowLibraryAction' - type: array - description: List of workflow actions + $ref: '#/components/schemas/WorkItems' + description: A work items details object. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." "403": content: application/json: @@ -53406,80 +53229,45 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": + "404": content: application/json: examples: - "500": - summary: An example of a 500 response object + "404": + summary: An example of a 404 response object value: - detailCode: 500.0 Internal Fault + detailCode: 404 Not found trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: An internal fault occurred. + text: The server did not find a current representation for the + target resource. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - sp:workflow:read - summary: List Workflow Library Actions + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + summary: Approve an Approval Item tags: - - Workflows - /workflow-library/triggers: - get: - description: This lists the workflow triggers available to you - externalDocs: - description: Additional documentation for each trigger - url: https://documentation.sailpoint.com/saas/help/workflows/workflow-steps.html#triggers - operationId: listWorkflowLibraryTriggers + - Work Items + /work-items/{id}/reject/{approvalItemId}: + post: + description: "This API rejects an Approval Item. Either an admin, or the owning/current\ + \ user must make this request." + operationId: rejectApprovalItem parameters: - - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false + - description: The ID of the work item + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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* - example: id eq "idn:identity-attributes-changed" - in: query - name: filters - required: false + type: string + - description: The ID of the approval item. + example: 1211bcaa32112bcef6122adb21cef1ac + in: path + name: approvalItemId + required: true schema: type: string responses: @@ -53487,23 +53275,14 @@ paths: content: application/json: schema: - items: - $ref: '#/components/schemas/WorkflowLibraryTrigger' - type: array - description: List of workflow triggers + $ref: '#/components/schemas/WorkItems' + description: A work items details object. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." "403": content: application/json: @@ -53522,63 +53301,53 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": + "404": content: application/json: examples: - "500": - summary: An example of a 500 response object + "404": + summary: An example of a 404 response object value: - detailCode: 500.0 Internal Fault + detailCode: 404 Not found trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: An internal fault occurred. + text: The server did not find a current representation for the + target resource. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - sp:workflow:read - summary: List Workflow Library Triggers + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + summary: Reject an Approval Item tags: - - Workflows - /workflow-library/operators: - get: - description: This lists the workflow operators available to you - operationId: listWorkflowLibraryOperators + - Work Items + /work-items/bulk-approve/{id}: + post: + description: "This API bulk approves Approval Items. Either an admin, or the\ + \ owning/current user must make this request." + operationId: approveApprovalItemsInBulk + parameters: + - description: The ID of the work item + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true + schema: + type: string responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/WorkflowLibraryOperator' - type: array - description: List of workflow operators + $ref: '#/components/schemas/WorkItems' + description: A work items details object. "400": content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' description: Client Error - Returned if the request body is invalid. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." "403": content: application/json: @@ -53597,61 +53366,180 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "429": + "404": content: application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. - "500": + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + summary: Bulk approve Approval Items + tags: + - Work Items + /work-items/bulk-reject/{id}: + post: + description: "This API bulk rejects Approval Items. Either an admin, or the\ + \ owning/current user must make this request." + operationId: rejectApprovalItemsInBulk + parameters: + - description: The ID of the work item + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/WorkItems' + description: A work items details object. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "403": content: application/json: examples: - "500": - summary: An example of a 500 response object + "403": + summary: An example of a 403 response object value: - detailCode: 500.0 Internal Fault + detailCode: 403 Forbidden trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: An internal fault occurred. + text: The server understood the request but refuses to authorize + it. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. - security: - - UserContextAuth: - - sp:workflow:read - summary: List Workflow Library Operators + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + summary: Bulk reject Approval Items tags: - - Workflows - /workflows/{id}/external/oauth-clients: + - Work Items + /work-items/{id}/submit-account-selection: post: - description: "Create OAuth client ID, client secret, and callback URL for use\ - \ in an external trigger. External triggers will need this information to\ - \ generate an access token to authenticate to the callback URL and submit\ - \ a trigger payload that will initiate the workflow." - operationId: postWorkflowExternalTrigger + description: "This API submits account selections. Either an admin, or the owning/current\ + \ user must make this request." + operationId: submitAccountSelection parameters: - - description: Id of the workflow - explode: false + - description: The ID of the work item + example: ef38f94347e94562b5bb8424a56397d8 in: path name: id required: true schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - style: simple + requestBody: + content: + application/json: + example: + fieldName: fieldValue + schema: + additionalProperties: true + type: object + description: "Account Selection Data map, keyed on fieldName" + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/WorkflowOAuthClient' - description: The OAuth Client object + $ref: '#/components/schemas/WorkItems' + description: A work items details object. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + summary: Submit Account Selections + tags: + - Work Items + /workflows: + get: + description: List all workflows in the tenant. + operationId: listWorkflows + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Workflow' + type: array + description: List of workflows "400": content: application/json: @@ -53710,39 +53598,86 @@ paths: error. security: - UserContextAuth: - - sp:workflow:manage - summary: Generate External Trigger OAuth Client + - sp:workflow:read + summary: List Workflows tags: - Workflows - /workflows/execute/external/{id}: post: - description: This endpoint allows a service outside of IdentityNow to initiate - a workflow that uses the "External Trigger" step. The external service will - invoke this endpoint with the input data it wants to send to the workflow - in the body. - operationId: postExternalExecuteWorkflow - parameters: - - description: Id of the workflow - explode: false - in: path - name: id - required: true - schema: - example: c17bea3a-574d-453c-9e04-4365fbf5af0b - type: string - style: simple + description: Create a new workflow with the desired trigger and steps specified + in the request body. + operationId: createWorkflow requestBody: content: application/json: + examples: + Event Trigger: + description: Workflow initiated by an event trigger + value: + name: Send Email + owner: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: William Wilson + description: Send an email to the identity who's attributes changed. + definition: + start: Send Email Test + steps: + Send Email: + actionId: sp:send-email + attributes: + body: This is a test + from: sailpoint@sailpoint.com + recipientId.$: $.identity.id + subject: test + nextStep: success + selectResult: null + type: action + success: + type: success + enabled: false + trigger: + type: EVENT + attributes: + id: idn:identity-attributes-changed + filter: "$.changes[?(@.attribute == 'manager')]" + Scheduled Trigger: + description: Workflow initiated by a scheduled trigger + value: + name: Send Email + owner: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: William Wilson + description: Send an email to the identity who's attributes changed. + definition: + start: Send Email Test + steps: + Send Email: + actionId: sp:send-email + attributes: + body: This is a test + from: sailpoint@sailpoint.com + recipientId.$: $.identity.id + subject: test + nextStep: success + selectResult: null + type: action + success: + type: success + enabled: false + trigger: + type: SCHEDULED + attributes: + cronString: 0 * */3 */5 * schema: - $ref: '#/components/schemas/postExternalExecuteWorkflow_request' - required: false + $ref: '#/components/schemas/createWorkflow_request' + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/postExternalExecuteWorkflow_200_response' + $ref: '#/components/schemas/Workflow' description: The Workflow object "400": content: @@ -53802,18 +53737,17 @@ paths: error. security: - UserContextAuth: - - sp:workflow-execute:external - summary: Execute Workflow via External Trigger + - sp:workflow:manage + summary: Create Workflow tags: - Workflows - /workflows/execute/external/{id}/test: - post: - description: "Validate a workflow with an \"External Trigger\" can receive input.\ - \ The response includes the input that the workflow received, which can be\ - \ used to validate that the input is intact when it reaches the workflow." - operationId: testExternalExecuteWorkflow + /workflows/{id}: + delete: + description: Delete a workflow. **Enabled workflows cannot be deleted**. They + must first be disabled. + operationId: deleteWorkflow parameters: - - description: Id of the workflow + - description: Id of the Workflow explode: false in: path name: id @@ -53822,19 +53756,10 @@ paths: example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/testExternalExecuteWorkflow_request' - required: false responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/testExternalExecuteWorkflow_200_response' - description: Responds with the test input + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -53893,89 +53818,30 @@ paths: error. security: - UserContextAuth: - - sp:workflow-execute:external - summary: Test Workflow via External Trigger + - sp:workflow:manage + summary: Delete Workflow By Id tags: - Workflows - /workgroups: get: - description: This API returns list of Governance Groups - operationId: listWorkgroups + description: Get a single workflow by id. + operationId: getWorkflow parameters: - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - description: |- - Note that for this API the maximum value for limit is 50. - See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: 50 - in: query - name: limit - required: false - schema: - default: 50 - format: int32 - maximum: 50 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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, sw* - - **name**: *eq, sw, in* - - **memberships.identityId**: *eq, in* - example: name sw "Test" - in: query - name: filters - required: false - schema: - type: string - - 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: **name, created, modified, id, description** - example: "name,-modified" - in: query - name: sorters - required: false + - description: Id of the workflow + explode: false + in: path + name: id + required: true schema: - format: comma-separated + example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string + style: simple responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/WorkgroupDto' - type: array - description: List of Governance Groups + $ref: '#/components/schemas/Workflow' + description: The workflow object "400": content: application/json: @@ -54034,26 +53900,82 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:read - summary: List Governance Groups + - sp:workflow:read + summary: Get Workflow By Id tags: - - Governance Groups - post: - description: This API creates a new Governance Group. - operationId: createWorkgroup + - Workflows + patch: + description: "Partially update an existing Workflow using [JSON Patch](https://tools.ietf.org/html/rfc6902)\ + \ syntax." + operationId: patchWorkflow + parameters: + - description: Id of the Workflow + explode: false + in: path + name: id + required: true + schema: + example: c17bea3a-574d-453c-9e04-4365fbf5af0b + type: string + style: simple requestBody: content: - application/json: + application/json-patch+json: + examples: + Update all patchable fields: + description: Demonstrate how to update each patchable field in one + PATCH request. + value: + - op: replace + path: /name + value: Send Email + - op: replace + path: /owner + value: + type: IDENTITY + id: 2c91808568c529c60168cca6f90c1313 + name: William Wilson + - op: replace + path: /description + value: Send an email to the identity who's attributes changed. + - op: replace + path: /enabled + value: false + - op: replace + path: /definition + value: + start: Send Email Test + steps: + Send Email: + actionId: sp:send-email + attributes: + body: This is a test + from: sailpoint@sailpoint.com + recipientId.$: $.identity.id + subject: test + nextStep: success + selectResult: null + type: action + success: + type: success + - op: replace + path: /trigger + value: + type: EVENT + attributes: + id: idn:identity-attributes-changed schema: - $ref: '#/components/schemas/WorkgroupDto' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/WorkgroupDto' - description: Governance Group object created. + $ref: '#/components/schemas/Workflow' + description: The Workflow object "400": content: application/json: @@ -54112,26 +54034,37 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:write - summary: Create a new Governance Group. + - sp:workflow:manage + summary: Patch Workflow tags: - - Governance Groups - /workgroups/{id}: - delete: - description: This API deletes a Governance Group by its ID. - operationId: deleteWorkgroup + - Workflows + put: + description: Perform a full update of a workflow. The updated workflow object + is returned in the response. + operationId: updateWorkflow parameters: - - description: ID of the Governance Group - example: 2c9180837ca6693d017ca8d097500149 + - description: Id of the Workflow + explode: false in: path name: id required: true schema: + example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowBody' + required: true responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/Workflow' + description: The Workflow object "400": content: application/json: @@ -54190,28 +54123,65 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:write - summary: Delete a Governance Group + - sp:workflow:manage + summary: Update Workflow tags: - - Governance Groups - get: - description: This API returns a Governance Groups by its ID. - operationId: getWorkgroup + - Workflows + /workflows/{id}/test: + post: + description: |- + Test a workflow with the provided input data. The input data should resemble the input that the trigger will send the workflow. See the [event trigger documentation](https://developer.sailpoint.com/idn/docs/event-triggers/available) for an example input for the trigger that initiates this workflow. + This endpoint will return an execution ID, which can be used to lookup more information about the execution using the `Get a Workflow Execution` endpoint. + **This will cause a live run of the workflow, which could result in unintended modifications to your IDN tenant.** + operationId: testWorkflow parameters: - - description: ID of the Governance Group - example: 2c9180837ca6693d017ca8d097500149 + - description: Id of the workflow + explode: false in: path name: id required: true schema: + example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string + style: simple + requestBody: + content: + application/json: + examples: + Identity Attributes Changed: + description: Identity Attributes Changed Trigger Input + value: + input: + identity: + id: ee769173319b41d19ccec6cea52f237b + name: john.doe + type: IDENTITY + changes: + - attribute: department + oldValue: sales + newValue: marketing + - attribute: manager + oldValue: + id: ee769173319b41d19ccec6c235423237b + name: nice.guy + type: IDENTITY + newValue: + id: ee769173319b41d19ccec6c235423236c + name: mean.guy + type: IDENTITY + - attribute: email + oldValue: john.doe@hotmail.com + newValue: john.doe@gmail.com + schema: + $ref: '#/components/schemas/testWorkflow_request' + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/WorkgroupDto' - description: A Governance Group + $ref: '#/components/schemas/testWorkflow_200_response' + description: The Workflow object "400": content: application/json: @@ -54270,44 +54240,97 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:read - summary: Get Governance Group by Id + - sp:workflow-execute:external + summary: Test Workflow By Id tags: - - Governance Groups - patch: - description: "This API updates an existing governance group by ID. \nThe following\ - \ fields and objects are patchable:\n * name\n * description\n * owner\n\ - \nA token with API or ORG_ADMIN authority is required to call this API." - operationId: patchWorkgroup + - Workflows + /workflows/{id}/executions: + get: + description: "Use this API to list a specified workflow's executions. Workflow\ + \ executions are available for up to 90 days before being archived. By default,\ + \ you can get a maximum of 250 executions. To get executions past the first\ + \ 250 records, you can do the following: \n1. Use the [Get Workflows](https://developer.sailpoint.com/idn/api/beta/list-workflows)\ + \ endpoint to get your workflows. \n2. Get your workflow ID from the response.\ + \ \n3. You can then do either of the following: \n\n - Filter to find relevant\ + \ workflow executions.\n For example, you can filter for failed workflow\ + \ executions: `GET /workflows/:workflowID/executions?filters=status eq \"\ + Failed\"`\n\n - Paginate through results with the `offset` parameter. \n\ + \ For example, you can page through 50 executions per page and use that as\ + \ a way to get to the records past the first 250. \n Refer to [Paginating\ + \ Results](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results)\ + \ for more information about the query parameters you can use to achieve pagination. " + operationId: getWorkflowExecutions parameters: - - description: ID of the Governance Group - example: 2c9180837ca6693d017ca8d097500149 + - description: Workflow ID. + explode: false in: path name: id required: true + schema: + example: c17bea3a-574d-453c-9e04-4365fbf5af0b + type: string + style: simple + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: + + **startTime**: *eq, lt, le, gt, ge* + + **status**: *eq* + example: status eq "Failed" + in: query + name: filters + required: false schema: type: string - requestBody: - content: - application/json-patch+json: - examples: - Replace Description: - description: Replace description of a Governance Group. - value: - - op: replace - path: /description - value: Governance Group new description. - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array responses: "200": content: application/json: schema: - $ref: '#/components/schemas/WorkgroupDto' - description: A Governance Group. + items: + $ref: '#/components/schemas/WorkflowExecution' + type: array + description: 'List of workflow executions for the specified workflow. ' "400": content: application/json: @@ -54339,6 +54362,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -54366,47 +54407,36 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:write - summary: Patch a Governance Group + - sp:workflow:read + summary: List Workflow Executions tags: - - Governance Groups - /workgroups/bulk-delete: - post: - description: "\nThis API initiates a bulk deletion of one or more Governance\ - \ Groups.\n\n> If any of the indicated Governance Groups have one or more\ - \ connections associated with it,then those Governance Groups will be added\ - \ in **inUse** list of the response. Governance Group(s) marked as **inUse**\ - \ can not be deleted.\n\n> If any of the indicated Governance Groups is not\ - \ does not exists in Organization,then those Governance Groups will be added\ - \ in **notFound** list of the response. Governance Groups marked as **notFound**\ - \ will not be deleted.\n\n> If any of the indicated Governance Groups does\ - \ not have any connections associated with it,then those Governance Groups\ - \ will be added in **deleted** list of the response. A Governance Group marked\ - \ as **deleted** will be deleted from current Organization.\n\n> If the request\ - \ contains any **inUse** or **notFound** Governance Group IDs then it skips\ - \ only these Governance Groups for deletion and deletes the rest of Governance\ - \ Groups which have no connections associated with it. \n\n> **This API has\ - \ limit number of Governance Groups can be deleted at one time. If the request\ - \ contains more then 100 Governance Groups IDs to be deleted then the API\ - \ will throw an exception.**" - operationId: deleteWorkgroupsInBulk - requestBody: - content: - application/json: - example: - ids: - - 567a697e-885b-495a-afc5-d55e1c23a302 - - c7b0f7b2-1e78-4063-b294-a555333dacd2 - schema: - $ref: '#/components/schemas/WorkgroupBulkDeleteRequest' + - Workflows + /workflow-executions/{id}: + get: + description: "Use this API to get a single workflow execution. Workflow executions\ + \ are available for up to 90 days before being archived. If you attempt to\ + \ access a workflow execution that has been archived, you will receive a \"\ + 404 Not Found\" response." + operationId: getWorkflowExecution + parameters: + - description: Workflow execution ID. + explode: false + in: path + name: id required: true + schema: + example: c17bea3a-574d-453c-9e04-4365fbf5af0b + type: string + style: simple responses: - "207": + "200": content: application/json: schema: - $ref: '#/components/schemas/WorkgroupBulkDeleteResponse' - description: Governance Group bulk delete response. + items: + $ref: ../schemas/WorkflowExecution.yaml + type: object + description: Workflow execution. "400": content: application/json: @@ -54438,6 +54468,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -54465,81 +54513,36 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:write - summary: Delete Governance Group(s) + - sp:workflow:read + summary: Get Workflow Execution tags: - - Governance Groups - /workgroups/{workgroupId}/connections: + - Workflows + /workflow-executions/{id}/history: get: - description: This API returns list of connections associated with a Governance - Group. - operationId: listConnections + description: "Get a detailed history of a single workflow execution. Workflow\ + \ executions are available for up to 90 days before being archived. If you\ + \ attempt to access a workflow execution that has been archived, you will\ + \ receive a 404 Not Found." + operationId: getWorkflowExecutionHistory parameters: - - description: ID of the Governance Group. + - description: Id of the workflow execution + explode: false in: path - name: workgroupId + name: id required: true schema: - example: 2c91808a7813090a017814121919ecca - type: string - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - description: |- - Note that for this API the maximum value for limit is 50. - See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: 50 - in: query - name: limit - required: false - schema: - default: 50 - format: int32 - maximum: 50 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: **name, created, modified** - example: "name,-modified" - in: query - name: sorters - required: false - schema: - format: comma-separated + example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string + style: simple responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/WorkgroupConnectionDto' + $ref: '#/components/schemas/WorkflowExecutionEvent' type: array - description: List all connections associated with a Governance Group. + description: List of workflow execution events for the given workflow execution "400": content: application/json: @@ -54571,6 +54574,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -54598,80 +54619,28 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:read - summary: List connections for Governance Group + - sp:workflow:read + summary: Get Workflow Execution History tags: - - Governance Groups - /workgroups/{workgroupId}/members: - get: - description: This API returns list of members associated with a Governance Group. - operationId: listWorkgroupMembers + - Workflows + /workflow-executions/{id}/cancel: + post: + description: Use this API to cancel a running workflow execution. + operationId: cancelWorkflowExecution parameters: - - description: ID of the Governance Group. + - description: The workflow execution ID + explode: false in: path - name: workgroupId + name: id required: true schema: - example: 2c91808a7813090a017814121919ecca - type: string - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - description: |- - Note that for this API the maximum value for limit is 50. - See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: 50 - in: query - name: limit - required: false - schema: - default: 50 - format: int32 - maximum: 50 - minimum: 0 - type: integer - - 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. - example: true - in: query - name: count - required: false - schema: - default: false - type: boolean - - 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: **name, created, modified** - example: "name,-modified" - in: query - name: sorters - required: false - schema: - format: comma-separated + example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string + style: simple responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/listWorkgroupMembers_200_response_inner' - type: array - description: List all members associated with a Governance Group. + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: @@ -54703,6 +54672,24 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist "429": content: application/json: @@ -54730,43 +54717,52 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:read - summary: List Governance Group Members + - sp:workflow-execute:external + summary: Cancel Workflow Execution by ID tags: - - Governance Groups - /workgroups/{workgroupId}/members/bulk-add: - post: - description: |- - This API adds one or more members to a Governance Group. A token with API, ORG_ADMIN authority is required to call this API. - - > **Following field of Identity is an optional field in the request.** - - > **name** - operationId: updateWorkgroupMembers + - Workflows + /workflow-library: + get: + description: "This lists all triggers, actions, and operators in the library" + externalDocs: + description: Additional documentation for workflows + url: https://documentation.sailpoint.com/saas/help/workflows/workflow-steps.html + operationId: listCompleteWorkflowLibrary parameters: - - description: ID of the Governance Group. - in: path - name: workgroupId - required: true + - 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. + example: 250 + in: query + name: limit + required: false schema: - example: 2c91808a7813090a017814121919ecca - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BulkWorkgroupMembersRequest' - description: List of identities to be added to a Governance Group members - list. - required: true + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer responses: - "207": + "200": content: application/json: schema: - $ref: '#/components/schemas/WorkgroupMemberBulkAddResponse' - description: List of added and not added identities into Governance Group - members list. + items: + $ref: '#/components/schemas/listCompleteWorkflowLibrary_200_response_inner' + type: array + description: List of workflow steps "400": content: application/json: @@ -54825,43 +54821,64 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:write - summary: Add members to Governance Group + - sp:workflow:read + summary: List Complete Workflow Library tags: - - Governance Groups - /workgroups/{workgroupId}/members/bulk-delete: - post: - description: |- - This API removes one or more members from a Governance Group. A token with API, ORG_ADMIN authority is required to call this API. + - Workflows + /workflow-library/actions: + get: + description: This lists the workflow actions available to you. + externalDocs: + description: Additional documentation for each action + url: https://documentation.sailpoint.com/saas/help/workflows/workflow-steps.html#actions + operationId: listWorkflowLibraryActions + parameters: + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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) - > **Following field of Identity is an optional field in the request.** + Filtering is supported for the following fields and operators: - > **name** - operationId: deleteWorkgroupMembers - parameters: - - description: ID of the Governance Group. - in: path - name: workgroupId - required: true + **id**: *eq* + example: id eq "sp:create-campaign" + in: query + name: filters + required: false schema: - example: 2c91808a7813090a017814121919ecca type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BulkWorkgroupMembersRequest' - description: List of identities to be removed from a Governance Group members - list. - required: true responses: - "207": + "200": content: application/json: schema: - $ref: '#/components/schemas/WorkgroupMemberBulkDeleteResponse' - description: List of deleted and not deleted identities from Governance - Group members list. + items: + $ref: '#/components/schemas/WorkflowLibraryAction' + type: array + description: List of workflow actions "400": content: application/json: @@ -54920,1421 +54937,1515 @@ paths: error. security: - UserContextAuth: - - idn:workgroup:write - summary: Remove members from Governance Group + - sp:workflow:read + summary: List Workflow Library Actions tags: - - Governance Groups - /form-definitions: + - Workflows + /workflow-library/triggers: get: - description: No parameters required. - operationId: searchFormDefinitionsByTenant + description: This lists the workflow triggers available to you + externalDocs: + description: Additional documentation for each trigger + url: https://documentation.sailpoint.com/saas/help/workflows/workflow-steps.html#triggers + operationId: listWorkflowLibraryTriggers parameters: - description: |- - Offset - - Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). - The offset value is record-based, not page-based, and the index starts at 0. + Max number of results to return. + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. example: 250 in: query - name: offset + name: limit required: false schema: - default: 0 - format: int64 + default: 250 + format: int32 + maximum: 250 + minimum: 0 type: integer - description: |- - Limit - - Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). - If it is not specified, a default limit is used. - example: 250 + Offset into the full result set. Usually specified with *limit* to paginate through the results. + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: 0 in: query - name: limit + name: offset required: false schema: - default: 250 - format: int64 - maxLength: 250 - minLength: 0 + default: 0 + format: int32 + minimum: 0 type: integer - 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: - **name**: *eq, gt, sw, in* - - **description**: *eq, gt, sw, in* - - **created**: *eq, gt, sw, in* - - **modified**: *eq, gt, sw, in* - example: name sw "my form" + **id**: *eq* + example: id eq "idn:identity-attributes-changed" in: query name: filters required: false schema: type: string - - 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: **name, description, created, modified** - example: name - in: query - name: sorters - required: false - schema: - default: name - type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ListFormDefinitionsByTenantResponse' - description: Returns a list of form definitions by tenant + items: + $ref: '#/components/schemas/WorkflowLibraryTrigger' + type: array + description: List of workflow triggers "400": content: application/json: schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An error with the user permissions occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Export form definitions by tenant. + - sp:workflow:read + summary: List Workflow Library Triggers tags: - - Custom Forms - post: - operationId: createFormDefinition - requestBody: - content: - application/json: - example: - name: my form - description: my form description - owner: - type: IDENTITY - id: 00000000-0000-0000-0000-000000000000 - formElements: - - id: "000000000000" - elementType: SECTION - config: - alignment: LEFT - description: "elementType must be 'SECTION' for the root formElements,\ - \ child formElements must be within the 'config' attribute" - label: Section - labelStyle: h2 - showLabel: true - formElements: - - id: "0000000000000" - key: textField - elementType: TEXT - config: - default: "" - description: "" - helpText: form element type text - label: Text Field - placeholder: "" - required: false - validations: [] - schema: - $ref: '#/components/schemas/CreateFormDefinitionRequest' - description: Body is the request payload to create form definition request - required: false + - Workflows + /workflow-library/operators: + get: + description: This lists the workflow operators available to you + operationId: listWorkflowLibraryOperators responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/FormDefinitionResponse' - description: Returns a new form definition + items: + $ref: '#/components/schemas/WorkflowLibraryOperator' + type: array + description: List of workflow operators "400": content: application/json: schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An error with the user permissions occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Creates a form definition. + - sp:workflow:read + summary: List Workflow Library Operators tags: - - Custom Forms - /form-definitions/{formDefinitionID}: - delete: - description: "Parameter `{formDefinitionID}` should match a form definition\ - \ ID." - operationId: deleteFormDefinition + - Workflows + /workflows/{id}/external/oauth-clients: + post: + description: "Create OAuth client ID, client secret, and callback URL for use\ + \ in an external trigger. External triggers will need this information to\ + \ generate an access token to authenticate to the callback URL and submit\ + \ a trigger payload that will initiate the workflow." + operationId: postWorkflowExternalTrigger parameters: - - description: Form definition ID - example: 00000000-0000-0000-0000-000000000000 + - description: Id of the workflow + explode: false in: path - name: formDefinitionID - required: true - schema: - type: string - x-go-name: FormDefinitionID - x-go-name: FormDefinitionID - responses: - "204": - content: - application/json: - schema: - $ref: '#/components/schemas/Nil' - description: Returns an empty body - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the item not found - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Too many requests - "500": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred - security: - - UserContextAuth: - - sp:forms:manage - summary: Deletes a form definition. - tags: - - Custom Forms - get: - description: "Parameter `{formDefinitionID}` should match a form definition\ - \ ID." - operationId: getFormDefinitionByKey - parameters: - - description: Form definition ID - example: 00000000-0000-0000-0000-000000000000 - in: path - name: formDefinitionID + name: id required: true schema: + example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - x-go-name: FormDefinitionID - x-go-name: FormDefinitionID + style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/FormDefinitionResponse' - description: Returns a form definition + $ref: '#/components/schemas/WorkflowOAuthClient' + description: The OAuth Client object "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the item not found + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Return a form definition. + - sp:workflow:manage + summary: Generate External Trigger OAuth Client tags: - - Custom Forms - patch: - description: "Parameter `{formDefinitionID}` should match a form definition\ - \ ID." - operationId: patchFormDefinition + - Workflows + /workflows/execute/external/{id}: + post: + description: This endpoint allows a service outside of IdentityNow to initiate + a workflow that uses the "External Trigger" step. The external service will + invoke this endpoint with the input data it wants to send to the workflow + in the body. + operationId: postExternalExecuteWorkflow parameters: - - description: Form definition ID - example: 00000000-0000-0000-0000-000000000000 + - description: Id of the workflow + explode: false in: path - name: formDefinitionID + name: id required: true schema: + example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - x-go-name: FormDefinitionID - x-go-name: FormDefinitionID + style: simple requestBody: content: application/json: - example: - - op: replace - path: /description - value: test-description schema: - $ref: '#/components/schemas/Patch' - description: "Body is the request payload to patch a form definition, check:\ - \ https://jsonpatch.com" + $ref: '#/components/schemas/postExternalExecuteWorkflow_request' required: false responses: "200": content: application/json: schema: - $ref: '#/components/schemas/FormDefinitionResponse' - description: Returns the form definition updated + $ref: '#/components/schemas/postExternalExecuteWorkflow_200_response' + description: The Workflow object "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Patch a form definition. + - sp:workflow-execute:external + summary: Execute Workflow via External Trigger tags: - - Custom Forms - x-codegen-request-body-name: Body - /form-definitions/{formDefinitionID}/data-source: + - Workflows + /workflows/execute/external/{id}/test: post: - operationId: showPreviewDataSource + description: "Validate a workflow with an \"External Trigger\" can receive input.\ + \ The response includes the input that the workflow received, which can be\ + \ used to validate that the input is intact when it reaches the workflow." + operationId: testExternalExecuteWorkflow parameters: - - description: Form definition ID - example: 00000000-0000-0000-0000-000000000000 + - description: Id of the workflow + explode: false in: path - name: formDefinitionID + name: id required: true schema: + example: c17bea3a-574d-453c-9e04-4365fbf5af0b type: string - x-go-name: FormDefinitionID - x-go-name: FormDefinitionID - - description: |- - Limit - - Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). - If it is not specified, a default limit is used. - example: 10 - in: query - name: limit - required: false - schema: - default: 10 - format: int64 - maxLength: 250 - minLength: 0 - type: integer - x-go-name: Limit - x-go-name: Limit - - 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: - - **value**: *eq, ne, in* - - Supported composite operators: *not* - - Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in ("ID01")` - example: value eq "ID01" - in: query - name: filters - required: false - schema: - type: string - x-go-name: Filters - x-go-name: Filters - - description: "String that is passed to the underlying API to filter other\ - \ (non-ID) fields. For example, for access profile data sources, this\ - \ string will be passed to the access profile api and used with a \"starts\ - \ with\" filter against several fields." - example: ac - in: query - name: query - required: false - schema: - type: string - x-go-name: Query - x-go-name: Query + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/FormElementPreviewRequest' - description: Body is the request payload to create a form definition dynamic - schema + $ref: '#/components/schemas/testExternalExecuteWorkflow_request' required: false responses: "200": content: application/json: schema: - $ref: '#/components/schemas/PreviewDataSourceResponse' - description: Returns a preview of a form definition data source + $ref: '#/components/schemas/testExternalExecuteWorkflow_200_response' + description: Responds with the test input "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the item not found + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Preview form definition data source. + - sp:workflow-execute:external + summary: Test Workflow via External Trigger tags: - - Custom Forms - /form-definitions/export: + - Workflows + /workgroups: get: - description: No parameters required. - operationId: exportFormDefinitionsByTenant + description: This API returns list of Governance Groups + operationId: listWorkgroups parameters: - description: |- - Offset - - Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). - The offset value is record-based, not page-based, and the index starts at 0. + Offset into the full result set. Usually specified with *limit* to paginate through the results. + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. example: 0 in: query name: offset required: false schema: default: 0 - format: int64 + format: int32 + minimum: 0 type: integer - x-go-name: Offset - x-go-name: Offset - description: |- - Limit - - Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). - If it is not specified, a default limit is used. - example: 250 + Note that for this API the maximum value for limit is 50. + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: 50 in: query name: limit required: false schema: - default: 250 - format: int64 - maxLength: 250 - minLength: 0 + default: 50 + format: int32 + maximum: 50 + minimum: 0 type: integer - x-go-name: Limit - x-go-name: Limit + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean - 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: - **name**: *eq, gt, sw, in* - - **description**: *eq, gt, sw, in* + **id**: *eq, in, sw* - **created**: *eq, gt, sw, in* + **name**: *eq, sw, in* - **modified**: *eq, gt, sw, in* - example: name sw "my form" + **memberships.identityId**: *eq, in* + example: name sw "Test" in: query name: filters required: false schema: type: string - x-go-name: Filters - x-go-name: Filters - 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: **name, description, created, modified** - example: name + Sorting is supported for the following fields: **name, created, modified, id, description** + example: "name,-modified" in: query name: sorters required: false schema: - default: name + format: comma-separated type: string - x-go-name: Sorters - x-go-name: Sorters responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/exportFormDefinitionsByTenant_200_response_inner' + $ref: '#/components/schemas/WorkgroupDto' type: array - description: Returns a list of form definition objects by tenant used by - SP-Config + description: List of Governance Groups "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: List form definitions by tenant. + - idn:workgroup:read + summary: List Governance Groups tags: - - Custom Forms - /form-definitions/forms-action-dynamic-schema: + - Governance Groups post: - operationId: createFormDefinitionDynamicSchema + description: This API creates a new Governance Group. + operationId: createWorkgroup requestBody: content: application/json: - example: - id: sp:forms - attributes: - formDefinitionId: 00000000-0000-0000-0000-000000000000 - description: AnotherDescription - type: action - versionNumber: 1 schema: - $ref: '#/components/schemas/FormDefinitionDynamicSchemaRequest' - description: Body is the request payload to create a form definition dynamic - schema - required: false + $ref: '#/components/schemas/WorkgroupDto' + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/FormDefinitionDynamicSchemaResponse' - description: Returns a form elements dynamic schema + $ref: '#/components/schemas/WorkgroupDto' + description: Governance Group object created. "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the item not found + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Generate JSON Schema dynamically. + - idn:workgroup:write + summary: Create a new Governance Group. tags: - - Custom Forms - x-codegen-request-body-name: Body - /form-definitions/import: - post: - operationId: importFormDefinitions - requestBody: - content: - application/json: - example: - - version: 1 - self: - name: All fields not required - id: 05ed4edb-d0a9-41d9-ad0c-2f6e486ec4aa - type: FORM_DEFINITION - object: - id: 05ed4edb-d0a9-41d9-ad0c-2f6e486ec4aa - name: All fields not required - description: description - owner: - type: IDENTITY - id: 3447d8ec2602455ab6f1e8408a0f0150 - usedBy: - - type: WORKFLOW - id: 5008594c-dacc-4295-8fee-41df60477304 - - type: WORKFLOW - id: 97e75a75-c179-4fbc-a2da-b5fa4aaa8743 - formInput: - - type: STRING - label: input1 - description: "A single dynamic scalar value (i.e. number, string,\ - \ date, etc) that can be passed into the form for use in conditional\ - \ logic" - formElements: - - id: "3069272797630701" - elementType: SECTION - config: - label: First Section - formElements: - - id: "3069272797630700" - elementType: TEXT - key: firstName - config: - label: First Name - - id: "3498415402897539" - elementType: TEXT - key: lastName - config: - label: Last Name - formConditions: - - ruleOperator: AND - rules: - - sourceType: INPUT - source: Department - operator: EQ - valueType: STRING - value: Sales - effects: - - effectType: HIDE - config: - element: "2614088730489570" - created: 2022-10-04T19:27:04.456Z - modified: 2022-11-16T20:45:02.172Z - schema: - items: - $ref: '#/components/schemas/importFormDefinitions_request_inner' - type: array - description: Body is the request payload to import form definitions - required: false + - Governance Groups + /workgroups/{id}: + delete: + description: This API deletes a Governance Group by its ID. + operationId: deleteWorkgroup + parameters: + - description: ID of the Governance Group + example: 2c9180837ca6693d017ca8d097500149 + in: path + name: id + required: true + schema: + type: string responses: - "202": - content: - application/json: - schema: - $ref: '#/components/schemas/importFormDefinitions_202_response' - description: Returns statuses of those form definition objects imported + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Import form definitions from export. + - idn:workgroup:write + summary: Delete a Governance Group tags: - - Custom Forms - x-codegen-request-body-name: Body - /form-definitions/template: - post: - operationId: createFormDefinitionByTemplate - requestBody: - content: - application/json: - example: - name: my form - description: my form description - owner: - type: IDENTITY - id: 00000000-0000-0000-0000-000000000000 - formElements: - - id: "000000000000" - elementType: SECTION - config: - alignment: LEFT - description: "elementType must be 'SECTION' for the root formElements,\ - \ child formElements must be within the 'config' attribute" - label: Section - labelStyle: h2 - showLabel: true - formElements: - - id: "0000000000000" - key: textField - elementType: TEXT - config: - default: "" - description: "" - helpText: form element type text - label: Text Field - placeholder: "" - required: false - validations: [] - schema: - $ref: '#/components/schemas/CreateFormDefinitionRequest' - description: Body is the request payload to create form definition request - required: false + - Governance Groups + get: + description: This API returns a Governance Groups by its ID. + operationId: getWorkgroup + parameters: + - description: ID of the Governance Group + example: 2c9180837ca6693d017ca8d097500149 + in: path + name: id + required: true + schema: + type: string responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/FormDefinitionResponse' - description: Returns a new form definition + $ref: '#/components/schemas/WorkgroupDto' + description: A Governance Group "400": content: application/json: schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An error with the user permissions occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Create a form definition by template. + - idn:workgroup:read + summary: Get Governance Group by Id tags: - - Custom Forms - /form-definitions/{formDefinitionID}/upload: - post: - description: "Parameter `{formDefinitionID}` should match a form definition\ - \ ID." - operationId: createFormDefinitionFileRequest + - Governance Groups + patch: + description: "This API updates an existing governance group by ID. \nThe following\ + \ fields and objects are patchable:\n * name\n * description\n * owner\n\ + \nA token with API or ORG_ADMIN authority is required to call this API." + operationId: patchWorkgroup parameters: - - description: |- - FormDefinitionID - - String specifying FormDefinitionID - example: 00000000-0000-0000-0000-000000000000 + - description: ID of the Governance Group + example: 2c9180837ca6693d017ca8d097500149 in: path - name: formDefinitionID + name: id required: true schema: type: string - x-go-name: FormDefinitionID - x-go-name: FormDefinitionID requestBody: content: - multipart/form-data: - encoding: - file: - contentType: "image/png, image/jpeg" + application/json-patch+json: + examples: + Replace Description: + description: Replace description of a Governance Group. + value: + - op: replace + path: /description + value: Governance Group new description. schema: - $ref: '#/components/schemas/createFormDefinitionFileRequest_request' - required: true + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/FormDefinitionFileUploadResponse' - description: Returns a new form definition file + $ref: '#/components/schemas/WorkgroupDto' + description: A Governance Group. "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred - "404": + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "429": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the item not found - "413": + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with payload size too large - "415": + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:workgroup:write + summary: Patch a Governance Group + tags: + - Governance Groups + /workgroups/bulk-delete: + post: + description: "\nThis API initiates a bulk deletion of one or more Governance\ + \ Groups.\n\n> If any of the indicated Governance Groups have one or more\ + \ connections associated with it,then those Governance Groups will be added\ + \ in **inUse** list of the response. Governance Group(s) marked as **inUse**\ + \ can not be deleted.\n\n> If any of the indicated Governance Groups is not\ + \ does not exists in Organization,then those Governance Groups will be added\ + \ in **notFound** list of the response. Governance Groups marked as **notFound**\ + \ will not be deleted.\n\n> If any of the indicated Governance Groups does\ + \ not have any connections associated with it,then those Governance Groups\ + \ will be added in **deleted** list of the response. A Governance Group marked\ + \ as **deleted** will be deleted from current Organization.\n\n> If the request\ + \ contains any **inUse** or **notFound** Governance Group IDs then it skips\ + \ only these Governance Groups for deletion and deletes the rest of Governance\ + \ Groups which have no connections associated with it. \n\n> **This API has\ + \ limit number of Governance Groups can be deleted at one time. If the request\ + \ contains more then 100 Governance Groups IDs to be deleted then the API\ + \ will throw an exception.**" + operationId: deleteWorkgroupsInBulk + requestBody: + content: + application/json: + example: + ids: + - 567a697e-885b-495a-afc5-d55e1c23a302 + - c7b0f7b2-1e78-4063-b294-a555333dacd2 + schema: + $ref: '#/components/schemas/WorkgroupBulkDeleteRequest' + required: true + responses: + "207": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with unsupported media type - "429": + $ref: '#/components/schemas/WorkgroupBulkDeleteResponse' + description: Governance Group bulk delete response. + "400": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests - "500": + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred - "503": + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "429": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An external service is not available + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Upload new form definition file. + - idn:workgroup:write + summary: Delete Governance Group(s) tags: - - Custom Forms - x-codegen-request-body-name: Body - /form-definitions/{formDefinitionID}/file/{fileID}: + - Governance Groups + /workgroups/{workgroupId}/connections: get: - operationId: getFileFromS3 + description: This API returns list of connections associated with a Governance + Group. + operationId: listConnections parameters: - - description: |- - FormDefinitionID - - Form definition ID - example: 00000000-0000-0000-0000-000000000000 + - description: ID of the Governance Group. in: path - name: formDefinitionID + name: workgroupId required: true schema: + example: 2c91808a7813090a017814121919ecca type: string - x-go-name: FormDefinitionID - x-go-name: FormDefinitionID - description: |- - FileID - - String specifying the hashed name of the uploaded file we are retrieving. - example: 00000031N0J7R2B57M8YG73J7M.png - in: path - name: fileID - required: true + Offset into the full result set. Usually specified with *limit* to paginate through the results. + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - description: |- + Note that for this API the maximum value for limit is 50. + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: 50 + in: query + name: limit + required: false + schema: + default: 50 + format: int32 + maximum: 50 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: **name, created, modified** + example: "name,-modified" + in: query + name: sorters + required: false schema: + format: comma-separated type: string - x-go-name: FileID - x-go-name: FileID responses: "200": content: application/json: schema: - format: binary - type: string - image/jpeg: - schema: - format: binary - type: string - image/png: - schema: - format: binary - type: string - application/octet-stream: - schema: - format: binary - type: string - description: Returns a file that is referred to by fileID and associated - with the formDefinitionID + items: + $ref: '#/components/schemas/WorkgroupConnectionDto' + type: array + description: List all connections associated with a Governance Group. "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the item not found + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred - "503": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An external service is not available + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Download definition file by fileId. + - idn:workgroup:read + summary: List connections for Governance Group tags: - - Custom Forms - x-codegen-request-body-name: Body - /form-instances: + - Governance Groups + /workgroups/{workgroupId}/members: get: - description: No parameters required. - operationId: searchFormInstancesByTenant + description: This API returns list of members associated with a Governance Group. + operationId: listWorkgroupMembers + parameters: + - description: ID of the Governance Group. + in: path + name: workgroupId + required: true + schema: + example: 2c91808a7813090a017814121919ecca + type: string + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - description: |- + Note that for this API the maximum value for limit is 50. + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: 50 + in: query + name: limit + required: false + schema: + default: 50 + format: int32 + maximum: 50 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: **name, created, modified** + example: "name,-modified" + in: query + name: sorters + required: false + schema: + format: comma-separated + type: string responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/FormInstanceResponse' + $ref: '#/components/schemas/listWorkgroupMembers_200_response_inner' type: array - description: Returns a list of form instances by tenant + description: List all members associated with a Governance Group. "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: List form instances by tenant. + - idn:workgroup:read + summary: List Governance Group Members tags: - - Custom Forms + - Governance Groups + /workgroups/{workgroupId}/members/bulk-add: post: - operationId: createFormInstance + description: |- + This API adds one or more members to a Governance Group. A token with API, ORG_ADMIN authority is required to call this API. + + > **Following field of Identity is an optional field in the request.** + + > **name** + operationId: updateWorkgroupMembers + parameters: + - description: ID of the Governance Group. + in: path + name: workgroupId + required: true + schema: + example: 2c91808a7813090a017814121919ecca + type: string requestBody: content: application/json: - example: - expire: 2023-06-20T15:57:55.332882Z - formDefinitionId: 00000000-0000-0000-0000-000000000000 - recipients: - - type: IDENTITY - id: an-identity-id - createdBy: - type: WORKFLOW_EXECUTION - id: a-workflow-execution-id schema: - $ref: '#/components/schemas/CreateFormInstanceRequest' - description: Body is the request payload to create a form instance - required: false + $ref: '#/components/schemas/BulkWorkgroupMembersRequest' + description: List of identities to be added to a Governance Group members + list. + required: true responses: - "201": + "207": content: application/json: schema: - $ref: '#/components/schemas/FormInstanceResponse' - description: Returns a new form instance + $ref: '#/components/schemas/WorkgroupMemberBulkAddResponse' + description: List of added and not added identities into Governance Group + members list. "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - UserContextAuth: - - sp:forms:manage - summary: Creates a form instance. + - idn:workgroup:write + summary: Add members to Governance Group tags: - - Custom Forms - x-codegen-request-body-name: Body - /form-instances/{formInstanceID}: - get: - description: "Parameter `{formInstanceID}` should match a form instance ID." - operationId: getFormInstanceByKey + - Governance Groups + /workgroups/{workgroupId}/members/bulk-delete: + post: + description: |- + This API removes one or more members from a Governance Group. A token with API, ORG_ADMIN authority is required to call this API. + + > **Following field of Identity is an optional field in the request.** + + > **name** + operationId: deleteWorkgroupMembers parameters: - - description: Form instance ID - example: 00000000-0000-0000-0000-000000000000 + - description: ID of the Governance Group. in: path - name: formInstanceID + name: workgroupId required: true schema: + example: 2c91808a7813090a017814121919ecca type: string - x-go-name: FormInstanceID - x-go-name: FormInstanceID + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BulkWorkgroupMembersRequest' + description: List of identities to be removed from a Governance Group members + list. + required: true responses: - "200": + "207": content: application/json: schema: - $ref: '#/components/schemas/FormInstanceResponse' - description: Returns a form instance by its key + $ref: '#/components/schemas/WorkgroupMemberBulkDeleteResponse' + description: List of deleted and not deleted identities from Governance + Group members list. "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." "403": content: application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the item not found + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: schema: - $ref: '#/components/schemas/Error' - description: Too many requests + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. "500": content: application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. security: - - UserContextAuth: [] - summary: Returns a form instance. + - UserContextAuth: + - idn:workgroup:write + summary: Remove members from Governance Group tags: - - Custom Forms - patch: - description: "Parameter `{formInstanceID}` should match a form instance ID." - operationId: patchFormInstance + - Governance Groups + /form-definitions: + get: + description: No parameters required. + operationId: searchFormDefinitionsByTenant parameters: - - description: Form instance ID - example: 00000000-0000-0000-0000-000000000000 - in: path - name: formInstanceID - required: true - schema: - type: string - x-go-name: FormInstanceID - x-go-name: FormInstanceID - requestBody: - content: - application/json: - example: - - op: replace - path: /state - value: SUBMITTED - - op: replace - path: /formData - value: - a-key-1: a-value-1 - a-key-2: true - a-key-3: 1 - schema: - $ref: '#/components/schemas/Patch' - description: "Body is the request payload to patch a form instance, check:\ - \ https://jsonpatch.com" + - description: |- + Offset + + Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). + The offset value is record-based, not page-based, and the index starts at 0. + example: 250 + in: query + name: offset required: false - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/FormInstanceResponse' - description: Returns the form instance updated - "400": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request occurred - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the authorization occurred - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the user permissions occurred - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the item not found - "409": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the request property conflicts with stored - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Too many requests - "500": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An internal server error occurred - security: - - UserContextAuth: [] - summary: Patch a form instance. - tags: - - Custom Forms - x-codegen-request-body-name: Body - /form-instances/{formInstanceID}/data-source/{formElementID}: - get: - description: |- - Parameter `{formInstanceID}` should match a form instance ID. - Parameter `{formElementID}` should match a form element ID at the data source configuration. - operationId: searchFormElementDataByElementID - parameters: - - description: Form instance ID - example: 00000000-0000-0000-0000-000000000000 - in: path - name: formInstanceID - required: true - schema: - type: string - x-go-name: FormInstanceID - x-go-name: FormInstanceID - - description: Form element ID - example: 1 - in: path - name: formElementID - required: true schema: - type: string - x-go-name: FormElementID - x-go-name: FormElementID + default: 0 + format: int64 + type: integer - description: |- Limit @@ -56350,70 +56461,140 @@ paths: maxLength: 250 minLength: 0 type: integer - x-go-name: Limit - x-go-name: Limit - 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: - **value**: *eq, ne, in* + **name**: *eq, gt, sw, in* - Supported composite operators: *not* + **description**: *eq, gt, sw, in* - Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in ("ID01")` - example: value eq "ID01" + **created**: *eq, gt, sw, in* + + **modified**: *eq, gt, sw, in* + example: name sw "my form" in: query name: filters required: false schema: type: string - x-go-name: Filters - x-go-name: Filters - - description: "String that is passed to the underlying API to filter other\ - \ (non-ID) fields. For example, for access profile data sources, this\ - \ string will be passed to the access profile api and used with a \"starts\ - \ with\" filter against several fields." - example: support + - 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: **name, description, created, modified** + example: name in: query - name: query + name: sorters required: false schema: + default: name type: string - x-go-name: Query - x-go-name: Query responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ListFormElementDataByElementIDResponse' - description: Retrieves dynamic data to aid in correctly completing a valid - form by form element ID from data source configuration + $ref: '#/components/schemas/ListFormDefinitionsByTenantResponse' + description: Returns a list of form definitions by tenant "400": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' description: An error with the authorization occurred "403": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' description: An error with the user permissions occurred - "404": + "429": content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An error with the item not found + $ref: '#/components/schemas/Error' + description: Too many requests + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' + description: An internal server error occurred + security: + - UserContextAuth: + - sp:forms:manage + summary: Export form definitions by tenant. + tags: + - Custom Forms + post: + operationId: createFormDefinition + requestBody: + content: + application/json: + example: + name: my form + description: my form description + owner: + type: IDENTITY + id: 00000000-0000-0000-0000-000000000000 + formElements: + - id: "000000000000" + elementType: SECTION + config: + alignment: LEFT + description: "elementType must be 'SECTION' for the root formElements,\ + \ child formElements must be within the 'config' attribute" + label: Section + labelStyle: h2 + showLabel: true + formElements: + - id: "0000000000000" + key: textField + elementType: TEXT + config: + default: "" + description: "" + helpText: form element type text + label: Text Field + placeholder: "" + required: false + validations: [] + schema: + $ref: '#/components/schemas/CreateFormDefinitionRequest' + description: Body is the request payload to create form definition request + required: false + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/FormDefinitionResponse' + description: Returns a new form definition + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' + description: An error with the request occurred + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' + description: An error with the authorization occurred + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' + description: An error with the user permissions occurred "429": content: application/json: @@ -56424,121 +56605,59 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' description: An internal server error occurred security: - - UserContextAuth: [] - summary: Retrieves dynamic data by element. + - UserContextAuth: + - sp:forms:manage + summary: Creates a form definition. tags: - Custom Forms - /form-instances/{formInstanceID}/file/{fileID}: - get: - operationId: getFormInstanceFile + /form-definitions/{formDefinitionID}: + delete: + description: "Parameter `{formDefinitionID}` should match a form definition\ + \ ID." + operationId: deleteFormDefinition parameters: - - description: |- - FormInstanceID - - Form instance ID + - description: Form definition ID example: 00000000-0000-0000-0000-000000000000 in: path - name: formInstanceID - required: true - schema: - type: string - x-go-name: FormInstanceID - x-go-name: FormInstanceID - - description: |- - FileID - - String specifying the hashed name of the uploaded file we are retrieving. - example: 00000031N0J7R2B57M8YG73J7M.png - in: path - name: fileID + name: formDefinitionID required: true schema: type: string - x-go-name: FileID - x-go-name: FileID + x-go-name: FormDefinitionID + x-go-name: FormDefinitionID responses: - "200": + "204": content: application/json: schema: - format: binary - type: string - image/jpeg: - schema: - format: binary - type: string - image/png: - schema: - format: binary - type: string - application/octet-stream: - schema: - format: binary - type: string - description: Returns a file that is referred to by fileID and associated - with the formInstanceID + $ref: '#/components/schemas/Nil' + description: Returns an empty body "400": content: application/json: schema: $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' description: An error with the request occurred "401": content: application/json: schema: $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' description: An error with the authorization occurred "403": content: application/json: schema: $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' description: An error with the user permissions occurred "404": content: application/json: schema: $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' description: An error with the item not found "429": content: @@ -56551,49 +56670,34 @@ paths: application/json: schema: $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' description: An internal server error occurred - "503": - content: - application/json: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/jpeg: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - image/png: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - application/octet-stream: - schema: - $ref: '#/components/schemas/getFormDefinitionByKey_400_response' - description: An external service is not available security: - UserContextAuth: - sp:forms:manage - summary: Download instance file by fileId. + summary: Deletes a form definition. tags: - Custom Forms - x-codegen-request-body-name: Body - /form-definitions/predefined-select-options: get: - description: No parameters required. - operationId: searchPreDefinedSelectOptions + description: "Parameter `{formDefinitionID}` should match a form definition\ + \ ID." + operationId: getFormDefinitionByKey + parameters: + - description: Form definition ID + example: 00000000-0000-0000-0000-000000000000 + in: path + name: formDefinitionID + required: true + schema: + type: string + x-go-name: FormDefinitionID + x-go-name: FormDefinitionID responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ListPredefinedSelectOptionsResponse' - description: Returns a list of available predefined select options + $ref: '#/components/schemas/FormDefinitionResponse' + description: Returns a form definition "400": content: application/json: @@ -56612,6 +56716,12 @@ paths: schema: $ref: '#/components/schemas/getFormDefinitionByKey_400_response' description: An error with the user permissions occurred + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the item not found "429": content: application/json: @@ -56627,1420 +56737,1423 @@ paths: security: - UserContextAuth: - sp:forms:manage - summary: List predefined select options. + summary: Return a form definition. tags: - Custom Forms - /source-usages/{sourceId}/status: - get: - description: This API returns the status of the source usage insights setup - by IDN source ID. - operationId: getStatusBySourceId + patch: + description: "Parameter `{formDefinitionID}` should match a form definition\ + \ ID." + operationId: patchFormDefinition parameters: - - description: ID of IDN source - example: 2c9180835d191a86015d28455b4a2329 + - description: Form definition ID + example: 00000000-0000-0000-0000-000000000000 in: path - name: sourceId + name: formDefinitionID required: true schema: type: string + x-go-name: FormDefinitionID + x-go-name: FormDefinitionID + requestBody: + content: + application/json: + example: + - op: replace + path: /description + value: test-description + schema: + $ref: '#/components/schemas/Patch' + description: "Body is the request payload to patch a form definition, check:\ + \ https://jsonpatch.com" + required: false responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SourceUsageStatus' - description: Status of the source usage insights setup by IDN source ID. + $ref: '#/components/schemas/FormDefinitionResponse' + description: Returns the form definition updated "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - UserContextAuth: - - idn:accounts:read - summary: Finds status of source usage + - sp:forms:manage + summary: Patch a form definition. tags: - - Source Usages - /source-usages/{sourceId}/summaries: - get: - description: This API returns a summary of source usage insights for past 12 - months. - operationId: getUsagesBySourceId + - Custom Forms + x-codegen-request-body-name: Body + /form-definitions/{formDefinitionID}/data-source: + post: + operationId: showPreviewDataSource parameters: - - description: ID of IDN source - example: 2c9180835d191a86015d28455b4a2329 + - description: Form definition ID + example: 00000000-0000-0000-0000-000000000000 in: path - name: sourceId + name: formDefinitionID required: true schema: type: string + x-go-name: FormDefinitionID + x-go-name: FormDefinitionID - 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. - example: 250 + Limit + + Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). + If it is not specified, a default limit is used. + example: 10 in: query name: limit required: false schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 + default: 10 + format: int64 + maxLength: 250 + minLength: 0 type: integer + x-go-name: Limit + x-go-name: Limit - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - 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. + Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) - Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. + Filtering is supported for the following fields and operators: - See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: true + **value**: *eq, ne, in* + + Supported composite operators: *not* + + Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in ("ID01")` + example: value eq "ID01" in: query - name: count + name: filters required: false schema: - default: false - type: boolean - - 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: **date** - example: -date + type: string + x-go-name: Filters + x-go-name: Filters + - description: "String that is passed to the underlying API to filter other\ + \ (non-ID) fields. For example, for access profile data sources, this\ + \ string will be passed to the access profile api and used with a \"starts\ + \ with\" filter against several fields." + example: ac in: query - name: sorters + name: query + required: false schema: - format: comma-separated type: string + x-go-name: Query + x-go-name: Query + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FormElementPreviewRequest' + description: Body is the request payload to create a form definition dynamic + schema + required: false responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/SourceUsage' - type: array - description: Summary of source usage insights for past 12 months. + $ref: '#/components/schemas/PreviewDataSourceResponse' + description: Returns a preview of a form definition data source "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the item not found "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - UserContextAuth: - - idn:accounts:read - summary: Returns source usage insights + - sp:forms:manage + summary: Preview form definition data source. tags: - - Source Usages - /account-usages/{accountId}/summaries: + - Custom Forms + /form-definitions/export: get: - description: This API returns a summary of account usage insights for past 12 - months. - operationId: getUsagesByAccountId + description: No parameters required. + operationId: exportFormDefinitionsByTenant parameters: - - description: ID of IDN account - example: ef38f94347e94562b5bb8424a56397d8 - in: path - name: accountId - required: true - schema: - type: string - 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. - example: 250 + Offset + + Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). + The offset value is record-based, not page-based, and the index starts at 0. + example: 0 in: query - name: limit + name: offset required: false schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 + default: 0 + format: int64 type: integer + x-go-name: Offset + x-go-name: Offset - 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. - example: 0 + Limit + + Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). + If it is not specified, a default limit is used. + example: 250 in: query - name: offset + name: limit required: false schema: - default: 0 - format: int32 - minimum: 0 + default: 250 + format: int64 + maxLength: 250 + minLength: 0 type: integer + x-go-name: Limit + x-go-name: Limit - 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. + Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) - Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. + Filtering is supported for the following fields and operators: - See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. - example: true + **name**: *eq, gt, sw, in* + + **description**: *eq, gt, sw, in* + + **created**: *eq, gt, sw, in* + + **modified**: *eq, gt, sw, in* + example: name sw "my form" in: query - name: count + name: filters required: false schema: - default: false - type: boolean + type: string + x-go-name: Filters + x-go-name: Filters - 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: **date** - example: -date + Sorting is supported for the following fields: **name, description, created, modified** + example: name in: query name: sorters + required: false schema: - format: comma-separated + default: name type: string + x-go-name: Sorters + x-go-name: Sorters responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/AccountUsage' + $ref: '#/components/schemas/exportFormDefinitionsByTenant_200_response_inner' type: array - description: Summary of account usage insights for past 12 months. + description: Returns a list of form definition objects by tenant used by + SP-Config "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - UserContextAuth: - - idn:accounts:read - summary: Returns account usage insights + - sp:forms:manage + summary: List form definitions by tenant. tags: - - Account Usages - /access-request-identity-metrics/{identityId}/requested-objects/{requestedObjectId}/type/{type}: - get: - description: Use this API to return information access metrics. - operationId: getAccessRequestIdentityMetrics - parameters: - - description: Manager's identity ID. - example: 7025c863-c270-4ba6-beea-edf3cb091573 - in: path - name: identityId - required: true - schema: - type: string - - description: Requested access item's ID. - example: 2db501be-f0fb-4cc5-a695-334133c52891 - in: path - name: requestedObjectId - required: true - schema: - type: string - - description: Requested access item's type. - example: ENTITLEMENT - in: path - name: type - required: true - schema: - items: - $ref: ../schemas/AccessItemRef.yaml - type: string + - Custom Forms + /form-definitions/forms-action-dynamic-schema: + post: + operationId: createFormDefinitionDynamicSchema + requestBody: + content: + application/json: + example: + id: sp:forms + attributes: + formDefinitionId: 00000000-0000-0000-0000-000000000000 + description: AnotherDescription + type: action + versionNumber: 1 + schema: + $ref: '#/components/schemas/FormDefinitionDynamicSchemaRequest' + description: Body is the request payload to create a form definition dynamic + schema + required: false responses: "200": content: application/json: schema: - items: - $ref: ../schemas/AccessRequestIdentityMetrics.yaml - type: object - description: Summary of the resource access and source activity for the - direct reports of the provided manager. + $ref: '#/components/schemas/FormDefinitionDynamicSchemaResponse' + description: Returns a form elements dynamic schema "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the item not found "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - UserContextAuth: - - idn:access-request-approvals:read - summary: Return access request identity metrics + - sp:forms:manage + summary: Generate JSON Schema dynamically. tags: - - Access Request Identity Metrics - /manual-discover-applications-template: - get: - description: | - This endpoint allows the user to download an example CSV file with two columns `application_name` and `description`. The CSV file contains a single row with the values 'Example Application' and 'Example Description'. - - The downloaded template is specifically designed for use with the `/manual-discover-applications` endpoint. - operationId: getManualDiscoverApplicationsCsvTemplate + - Custom Forms + x-codegen-request-body-name: Body + /form-definitions/import: + post: + operationId: importFormDefinitions + requestBody: + content: + application/json: + example: + - version: 1 + self: + name: All fields not required + id: 05ed4edb-d0a9-41d9-ad0c-2f6e486ec4aa + type: FORM_DEFINITION + object: + id: 05ed4edb-d0a9-41d9-ad0c-2f6e486ec4aa + name: All fields not required + description: description + owner: + type: IDENTITY + id: 3447d8ec2602455ab6f1e8408a0f0150 + usedBy: + - type: WORKFLOW + id: 5008594c-dacc-4295-8fee-41df60477304 + - type: WORKFLOW + id: 97e75a75-c179-4fbc-a2da-b5fa4aaa8743 + formInput: + - type: STRING + label: input1 + description: "A single dynamic scalar value (i.e. number, string,\ + \ date, etc) that can be passed into the form for use in conditional\ + \ logic" + formElements: + - id: "3069272797630701" + elementType: SECTION + config: + label: First Section + formElements: + - id: "3069272797630700" + elementType: TEXT + key: firstName + config: + label: First Name + - id: "3498415402897539" + elementType: TEXT + key: lastName + config: + label: Last Name + formConditions: + - ruleOperator: AND + rules: + - sourceType: INPUT + source: Department + operator: EQ + valueType: STRING + value: Sales + effects: + - effectType: HIDE + config: + element: "2614088730489570" + created: 2022-10-04T19:27:04.456Z + modified: 2022-11-16T20:45:02.172Z + schema: + items: + $ref: '#/components/schemas/importFormDefinitions_request_inner' + type: array + description: Body is the request payload to import form definitions + required: false responses: - "200": + "202": content: - text/csv: - example: | - application_name,description - Example Application,Example Description + application/json: schema: - $ref: '#/components/schemas/ManualDiscoverApplicationsTemplate' - description: A CSV file download was successful. + $ref: '#/components/schemas/importFormDefinitions_202_response' + description: Returns statuses of those form definition objects imported "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - UserContextAuth: - - idn:application-discovery:read - summary: CSV template download for discovery + - sp:forms:manage + summary: Import form definitions from export. tags: - - Application Discovery - /manual-discover-applications: + - Custom Forms + x-codegen-request-body-name: Body + /form-definitions/template: post: - description: "This endpoint supports uploading a CSV file with application data\ - \ for manual correlation to specific IDN connectors. \nIf a suitable IDN connector\ - \ is unavailable, the system will recommend generic connectors instead." - operationId: sendManualDiscoverApplicationsCsvTemplate + operationId: createFormDefinitionByTemplate requestBody: content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ManualDiscoverApplications' - responses: - "200": - description: The CSV has been successfully processed. - "400": + application/json: + example: + name: my form + description: my form description + owner: + type: IDENTITY + id: 00000000-0000-0000-0000-000000000000 + formElements: + - id: "000000000000" + elementType: SECTION + config: + alignment: LEFT + description: "elementType must be 'SECTION' for the root formElements,\ + \ child formElements must be within the 'config' attribute" + label: Section + labelStyle: h2 + showLabel: true + formElements: + - id: "0000000000000" + key: textField + elementType: TEXT + config: + default: "" + description: "" + helpText: form element type text + label: Text Field + placeholder: "" + required: false + validations: [] + schema: + $ref: '#/components/schemas/CreateFormDefinitionRequest' + description: Body is the request payload to create form definition request + required: false + responses: + "201": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/FormDefinitionResponse' + description: Returns a new form definition + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' + description: An error with the user permissions occurred "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/searchFormDefinitionsByTenant_400_response' + description: An internal server error occurred security: - UserContextAuth: - - idn:application-discovery:write - summary: CSV Upload to discover applications + - sp:forms:manage + summary: Create a form definition by template. tags: - - Application Discovery - /discovered-applications: - get: - description: | - Fetches a list of applications that have been identified within the environment. This includes details such as application names, discovery dates, potential correlated saas_vendors and related suggested connectors. - operationId: getDiscoveredApplications + - Custom Forms + /form-definitions/{formDefinitionID}/upload: + post: + description: "Parameter `{formDefinitionID}` should match a form definition\ + \ ID." + operationId: createFormDefinitionFileRequest parameters: - 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. - example: 250 - in: query - name: limit - required: false - schema: - default: 250 - format: int32 - maximum: 250 - minimum: 0 - type: integer - - 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. - example: 0 - in: query - name: offset - required: false - schema: - default: 0 - format: int32 - minimum: 0 - type: integer - - description: "Determines whether slim, or increased level of detail is provided\ - \ for each discovered application in the returned list. SLIM is the default\ - \ behavior." - example: FULL - in: query - name: detail - schema: - enum: - - SLIM - - FULL - type: string - - 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)\n\ - \ \n \nFiltering is supported for the following fields and operators:\n\ - \n**name**: *eq, sw, co*\n\n**description**: *eq, sw, co*\n\n**createdAtStart**:\ - \ *eq, le, ge*\n\n**createdAtEnd**: *eq, le, ge*\n\n**discoveredAtStart**:\ - \ *eq, le, ge*\n\n**discoveredAtEnd**: *eq, le, ge*\n\n**discoverySource**:\ - \ *eq, in*\n" - example: "name eq \"Okta\" and description co \"Okta\" and discoverySource\ - \ in (\"csv\", \"Okta Saas\")" - in: query - name: filter - required: false - schema: - type: string - style: form - - 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) + FormDefinitionID - Sorting is supported for the following fields: **name, description, discoveredAt, discoverySource** - example: name - in: query - name: sorters + String specifying FormDefinitionID + example: 00000000-0000-0000-0000-000000000000 + in: path + name: formDefinitionID + required: true schema: - format: comma-separated type: string + x-go-name: FormDefinitionID + x-go-name: FormDefinitionID + requestBody: + content: + multipart/form-data: + encoding: + file: + contentType: "image/png, image/jpeg" + schema: + $ref: '#/components/schemas/createFormDefinitionFileRequest_request' + required: true responses: - "200": + "201": content: application/json: - examples: - Slim Discovered Application: - $ref: '#/components/examples/SlimDiscoveredApplications' - Discovered Application: - $ref: '#/components/examples/FullDiscoveredApplications' schema: - items: - $ref: '#/components/schemas/getDiscoveredApplications_200_response_inner' - type: array - description: "List of discovered applications. By default, the API returns\ - \ a list of SLIM discovered applications." + $ref: '#/components/schemas/FormDefinitionFileUploadResponse' + description: Returns a new form definition file "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the item not found + "413": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with payload size too large + "415": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with unsupported media type "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred + "503": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An external service is not available security: - UserContextAuth: - - idn:application-discovery:read - summary: Retrieve discovered applications for tenant + - sp:forms:manage + summary: Upload new form definition file. tags: - - Application Discovery - /discovered-applications/{id}: + - Custom Forms + x-codegen-request-body-name: Body + /form-definitions/{formDefinitionID}/file/{fileID}: get: - description: | - This API returns a discovered application with its associated sources based on the ID provided. - operationId: getDiscoveredApplicationByID + operationId: getFileFromS3 parameters: - - description: ID of the discovered application. - example: 123e4567-e89b-12d3-a456-426655440000 + - description: |- + FormDefinitionID + + Form definition ID + example: 00000000-0000-0000-0000-000000000000 in: path - name: id + name: formDefinitionID + required: true + schema: + type: string + x-go-name: FormDefinitionID + x-go-name: FormDefinitionID + - description: |- + FileID + + String specifying the hashed name of the uploaded file we are retrieving. + example: 00000031N0J7R2B57M8YG73J7M.png + in: path + name: fileID required: true schema: type: string + x-go-name: FileID + x-go-name: FileID responses: "200": content: application/json: - example: - id: app-123 - name: Example App - discoverySource: csv - discoveredVendor: Example Vendor - description: An application for managing examples. - recommendedConnectors: - - ConnectorA - - ConnectorB - discoveredAt: 2023-07-01T12:00:00Z - createdAt: 2024-06-01T12:00:00Z - status: ACTIVE - associatedSources: - - 4e2d7605-833f-4c34-8d03-5b2c7d2f4f66 - - f9b7e2ce-aced-4117-a95f-4ffad8b33989 - - a3b159f2-5f09-43c9-b40e-a6f317aa5b8f - description: Returns the discovered application along with its associated - sources. + schema: + format: binary + type: string + image/jpeg: + schema: + format: binary + type: string + image/png: + schema: + format: binary + type: string + application/octet-stream: + schema: + format: binary + type: string + description: Returns a file that is referred to by fileID and associated + with the formDefinitionID "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the item not found "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred + "503": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An external service is not available security: - UserContextAuth: - - idn:application-discovery:read - summary: Get Discovered Application by ID + - sp:forms:manage + summary: Download definition file by fileId. tags: - - Application Discovery - patch: - description: |- - This API updates an existing discovered application using a limited version of the [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. - The following fields are patchable: - **associatedSources** - **dismissed** - operationId: patchDiscoveredApplicationByID - parameters: - - description: ID of the discovered application. - example: 123e4567-e89b-12d3-a456-426655440000 - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - examples: - Dismiss an app: - description: This example shows how use patch to set the dismissal - status of a correlated application to true - value: - - op: replace - path: /dismissed - value: true - Replace associated sources: - description: This example shows how use patch to replace the values - of the associatedSources field. - value: - - op: replace - path: /associatedSources - value: - - 4e2d7605-833f-4c34-8d03-5b2c7d2f4f66 - - f9b7e2ce-aced-4117-a95f-4ffad8b33989 - - a3b159f2-5f09-43c9-b40e-a6f317aa5b8f - Add an associated source to a correlated application: - description: This example shows how to use patch to add an associated - source to a correlated application - value: - - op: add - path: /associatedSources - value: 123e4567-e89b-a456-42655440005 - schema: - example: - - op: replace - path: /dismissed - value: false - items: - $ref: '#/components/schemas/JsonPatchOperations' - type: array + - Custom Forms + x-codegen-request-body-name: Body + /form-instances: + get: + description: No parameters required. + operationId: searchFormInstancesByTenant responses: "200": content: application/json: - example: - id: app-123 - name: Example App - discoverySource: csv - discoveredVendor: Example Vendor - description: An application for managing examples. - recommendedConnectors: - - ConnectorA - - ConnectorB - discoveredAt: 2023-07-01T12:00:00Z - createdAt: 2024-06-01T12:00:00Z - status: ACTIVE - associatedSources: - - 4e2d7605-833f-4c34-8d03-5b2c7d2f4f66 - - f9b7e2ce-aced-4117-a95f-4ffad8b33989 - - a3b159f2-5f09-43c9-b40e-a6f317aa5b8f - description: Returns the single patched discovered application. + schema: + items: + $ref: '#/components/schemas/FormInstanceResponse' + type: array + description: Returns a list of form instances by tenant "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - UserContextAuth: - - idn:application-discovery:write - summary: Patch Discovered Application by Id + - sp:forms:manage + summary: List form instances by tenant. tags: - - Application Discovery - /vendor-connector-mappings: - delete: - description: | - Soft deletes a mapping between a SaaS vendor and an IDN connector, removing the established correlation. - operationId: deleteVendorConnectorMapping + - Custom Forms + post: + operationId: createFormInstance requestBody: content: application/json: + example: + expire: 2023-06-20T15:57:55.332882Z + formDefinitionId: 00000000-0000-0000-0000-000000000000 + recipients: + - type: IDENTITY + id: an-identity-id + createdBy: + type: WORKFLOW_EXECUTION + id: a-workflow-execution-id schema: - $ref: '#/components/schemas/VendorConnectorMapping' - required: true + $ref: '#/components/schemas/CreateFormInstanceRequest' + description: Body is the request payload to create a form instance + required: false responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/deleteVendorConnectorMapping_200_response' - description: Successfully deleted the specified vendor connector mapping. + $ref: '#/components/schemas/FormInstanceResponse' + description: Returns a new form instance "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - UserContextAuth: - - idn:application-discovery:write - summary: Delete a vendor connector mapping + - sp:forms:manage + summary: Creates a form instance. tags: - - Vendor Connector Mappings + - Custom Forms + x-codegen-request-body-name: Body + /form-instances/{formInstanceID}: get: - description: | - Retrieves a list of mappings between SaaS vendors and IDN connectors, detailing the connections established for correlation. - operationId: getVendorConnectorMappings + description: "Parameter `{formInstanceID}` should match a form instance ID." + operationId: getFormInstanceByKey + parameters: + - description: Form instance ID + example: 00000000-0000-0000-0000-000000000000 + in: path + name: formInstanceID + required: true + schema: + type: string + x-go-name: FormInstanceID + x-go-name: FormInstanceID responses: "200": content: application/json: schema: - example: - - id: 78733556-9ea3-4f59-bf69-e5cd92b011b4 - vendor: Example Vendor - connector: Example Connector - createdAt: 2024-03-13T12:56:19.391294Z - createdBy: admin - updatedAt: - Time: 2024-03-14T12:56:19.391294Z - Valid: true - updatedBy: - String: user-67891 - Valid: true - deletedAt: - Time: 0001-01-01T00:00:00Z - Valid: false - deletedBy: - String: "" - Valid: false - - id: 78733556-9ea3-4f59-bf69-e5cd92b011b5 - vendor: Another Corporation - connector: Another Connector - createdAt: 2024-04-13T11:46:19.391294Z - createdBy: admin - updatedAt: - Time: 0001-01-01T00:00:00Z - Valid: false - updatedBy: - String: "" - Valid: false - deletedAt: - Time: 0001-01-01T00:00:00Z - Valid: false - deletedBy: - String: "" - Valid: false - items: - $ref: '#/components/schemas/VendorConnectorMapping' - type: array - description: Successfully retrieved list. + $ref: '#/components/schemas/FormInstanceResponse' + description: Returns a form instance by its key "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "405": + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred + "404": content: application/json: schema: - $ref: '#/components/schemas/createDomainDkim_405_response' - description: "Method Not Allowed - indicates that the server knows the request\ - \ method, but the target resource doesn't support this method." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the item not found "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - - UserContextAuth: - - idn:application-discovery:read - summary: List vendor connector mappings + - UserContextAuth: [] + summary: Returns a form instance. tags: - - Application Discovery - post: - description: | - Creates a new mapping between a SaaS vendor and an IDN connector to establish correlation paths. - operationId: createVendorConnectorMapping + - Custom Forms + patch: + description: "Parameter `{formInstanceID}` should match a form instance ID." + operationId: patchFormInstance + parameters: + - description: Form instance ID + example: 00000000-0000-0000-0000-000000000000 + in: path + name: formInstanceID + required: true + schema: + type: string + x-go-name: FormInstanceID + x-go-name: FormInstanceID requestBody: content: application/json: + example: + - op: replace + path: /state + value: SUBMITTED + - op: replace + path: /formData + value: + a-key-1: a-value-1 + a-key-2: true + a-key-3: 1 schema: - $ref: '#/components/schemas/VendorConnectorMapping' - required: true + $ref: '#/components/schemas/Patch' + description: "Body is the request payload to patch a form instance, check:\ + \ https://jsonpatch.com" + required: false responses: "200": content: application/json: schema: - $ref: '#/components/schemas/VendorConnectorMapping' - description: Successfully created a new vendor connector mapping. + $ref: '#/components/schemas/FormInstanceResponse' + description: Returns the form instance updated "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." - "405": + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred + "404": content: application/json: schema: - $ref: '#/components/schemas/createDomainDkim_405_response' - description: "Method Not Allowed - indicates that the server knows the request\ - \ method, but the target resource doesn't support this method." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the item not found + "409": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request property conflicts with stored "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - - UserContextAuth: - - idn:application-discovery:write - summary: Create a vendor connector mapping + - UserContextAuth: [] + summary: Patch a form instance. tags: - - Vendor Connector Mappings - /icons/{objectType}/{objectId}: - delete: - description: This API endpoint delete an icon by object type and object id. - A token with ORG_ADMIN authority is required to call this API. - operationId: deleteIcon + - Custom Forms + x-codegen-request-body-name: Body + /form-instances/{formInstanceID}/data-source/{formElementID}: + get: + description: |- + Parameter `{formInstanceID}` should match a form instance ID. + Parameter `{formElementID}` should match a form element ID at the data source configuration. + operationId: searchFormElementDataByElementID parameters: - - description: "Object type. Available options ['application']" - example: application + - description: Form instance ID + example: 00000000-0000-0000-0000-000000000000 in: path - name: objectType + name: formInstanceID required: true schema: type: string - - description: Object id. - example: a291e870-48c3-4953-b656-fb5ce2a93169 + x-go-name: FormInstanceID + x-go-name: FormInstanceID + - description: Form element ID + example: 1 in: path - name: objectId + name: formElementID required: true schema: type: string + x-go-name: FormElementID + x-go-name: FormElementID + - description: |- + Limit + + Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). + If it is not specified, a default limit is used. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int64 + maxLength: 250 + minLength: 0 + type: integer + x-go-name: Limit + x-go-name: Limit + - 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: + + **value**: *eq, ne, in* + + Supported composite operators: *not* + + Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in ("ID01")` + example: value eq "ID01" + in: query + name: filters + required: false + schema: + type: string + x-go-name: Filters + x-go-name: Filters + - description: "String that is passed to the underlying API to filter other\ + \ (non-ID) fields. For example, for access profile data sources, this\ + \ string will be passed to the access profile api and used with a \"starts\ + \ with\" filter against several fields." + example: support + in: query + name: query + required: false + schema: + type: string + x-go-name: Query + x-go-name: Query responses: - "204": - description: No content - indicates the request was successful but there - is no content to be returned in the response. + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ListFormElementDataByElementIDResponse' + description: Retrieves dynamic data to aid in correctly completing a valid + form by form element ID from data source configuration "400": content: application/json: schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Client Error - Returned if the request body is invalid. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred "401": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' - description: "Unauthorized - Returned if there is no authorization header,\ - \ or if the JWT token is expired." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred "403": content: application/json: - examples: - "403": - summary: An example of a 403 response object - value: - detailCode: 403 Forbidden - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server understood the request but refuses to authorize - it. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: "Forbidden - Returned if the user you are running as, doesn't\ - \ have access to this end-point." + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred "404": content: application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the item not found "429": content: application/json: schema: - $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' - description: 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. + $ref: '#/components/schemas/Error' + description: Too many requests "500": content: application/json: - examples: - "500": - summary: An example of a 500 response object - value: - detailCode: 500.0 Internal Fault - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: An internal fault occurred. schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Internal Server Error - Returned if there is an unexpected - error. + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred security: - - UserContextAuth: - - idn:icons:manage - summary: Delete an icon + - UserContextAuth: [] + summary: Retrieves dynamic data by element. tags: - - Icons - put: - description: This API endpoint updates an icon by object type and object id. - A token with ORG_ADMIN authority is required to call this API. - operationId: setIcon + - Custom Forms + /form-instances/{formInstanceID}/file/{fileID}: + get: + operationId: getFormInstanceFile parameters: - - description: "Object type. Available options ['application']" - example: application + - description: |- + FormInstanceID + + Form instance ID + example: 00000000-0000-0000-0000-000000000000 in: path - name: objectType + name: formInstanceID required: true schema: type: string - - description: Object id. - example: a291e870-48c3-4953-b656-fb5ce2a93169 + x-go-name: FormInstanceID + x-go-name: FormInstanceID + - description: |- + FileID + + String specifying the hashed name of the uploaded file we are retrieving. + example: 00000031N0J7R2B57M8YG73J7M.png in: path - name: objectId + name: fileID required: true schema: type: string - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/setIcon_request' + x-go-name: FileID + x-go-name: FileID + responses: + "200": + content: + application/json: + schema: + format: binary + type: string + image/jpeg: + schema: + format: binary + type: string + image/png: + schema: + format: binary + type: string + application/octet-stream: + schema: + format: binary + type: string + description: Returns a file that is referred to by fileID and associated + with the formInstanceID + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the item not found + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + description: Too many requests + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred + "503": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/jpeg: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + image/png: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + application/octet-stream: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An external service is not available + security: + - UserContextAuth: + - sp:forms:manage + summary: Download instance file by fileId. + tags: + - Custom Forms + x-codegen-request-body-name: Body + /form-definitions/predefined-select-options: + get: + description: No parameters required. + operationId: searchPreDefinedSelectOptions + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ListPredefinedSelectOptionsResponse' + description: Returns a list of available predefined select options + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the request occurred + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the authorization occurred + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An error with the user permissions occurred + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + description: Too many requests + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/getFormDefinitionByKey_400_response' + description: An internal server error occurred + security: + - UserContextAuth: + - sp:forms:manage + summary: List predefined select options. + tags: + - Custom Forms + /source-usages/{sourceId}/status: + get: + description: This API returns the status of the source usage insights setup + by IDN source ID. + operationId: getStatusBySourceId + parameters: + - description: ID of IDN source + example: 2c9180835d191a86015d28455b4a2329 + in: path + name: sourceId required: true + schema: + type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/setIcon_200_response' - description: Icon updated + $ref: '#/components/schemas/SourceUsageStatus' + description: Status of the source usage insights setup by IDN source ID. "400": content: application/json: @@ -58072,24 +58185,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -58117,32 +58212,80 @@ paths: error. security: - UserContextAuth: - - idn:icons:manage - summary: Update an icon + - idn:accounts:read + summary: Finds status of source usage tags: - - Icons - /suggested-entitlement-description-batches/{batchId}/stats: + - Source Usages + /source-usages/{sourceId}/summaries: get: - description: |- - Submit Sed Batch Stats Request. - Submits batchId in the path param (e.g. {batchId}/stats). API responses with stats of the batchId. - operationId: getSedBatchStats + description: This API returns a summary of source usage insights for past 12 + months. + operationId: getUsagesBySourceId parameters: - - description: Batch Id - example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + - description: ID of IDN source + example: 2c9180835d191a86015d28455b4a2329 in: path - name: batchId + name: sourceId required: true schema: - format: uuid + type: string + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: **date** + example: -date + in: query + name: sorters + schema: + format: comma-separated type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SedBatchStats' - description: Stats of Sed batch. + items: + $ref: '#/components/schemas/SourceUsage' + type: array + description: Summary of source usage insights for past 12 months. "400": content: application/json: @@ -58174,24 +58317,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -58219,23 +58344,80 @@ paths: error. security: - UserContextAuth: - - idn:sed:read - summary: Submit Sed Batch Stats Request + - idn:accounts:read + summary: Returns source usage insights tags: - - Suggested Entitlement Description - /suggested-entitlement-description-batches: + - Source Usages + /account-usages/{accountId}/summaries: get: - description: |- - List Sed Batches. - API responses with Sed Batch Status - operationId: getSedBatches + description: This API returns a summary of account usage insights for past 12 + months. + operationId: getUsagesByAccountId + parameters: + - description: ID of IDN account + example: ef38f94347e94562b5bb8424a56397d8 + in: path + name: accountId + required: true + schema: + type: string + - 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. + example: 250 + in: query + name: limit + required: false + schema: + default: 250 + format: int32 + maximum: 250 + minimum: 0 + type: integer + - 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. + example: 0 + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + minimum: 0 + type: integer + - 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. + example: true + in: query + name: count + required: false + schema: + default: false + type: boolean + - 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: **date** + example: -date + in: query + name: sorters + schema: + format: comma-separated + type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SedBatchStatus' - description: Status of batch + items: + $ref: '#/components/schemas/AccountUsage' + type: array + description: Summary of account usage insights for past 12 months. "400": content: application/json: @@ -58267,24 +58449,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -58312,31 +58476,48 @@ paths: error. security: - UserContextAuth: - - idn:sed:read - summary: List Sed Batch Request + - idn:accounts:read + summary: Returns account usage insights tags: - - Suggested Entitlement Description - post: - description: |- - Submit Sed Batch Request. - Request body has one of the following: - - a list of entitlement Ids - - a list of SED Ids - that user wants to have description generated by LLM. API responses with batchId that groups Ids together - operationId: submitSedBatchRequest - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/SedBatchRequest' - description: Sed Batch Request + - Account Usages + /access-request-identity-metrics/{identityId}/requested-objects/{requestedObjectId}/type/{type}: + get: + description: Use this API to return information access metrics. + operationId: getAccessRequestIdentityMetrics + parameters: + - description: Manager's identity ID. + example: 7025c863-c270-4ba6-beea-edf3cb091573 + in: path + name: identityId + required: true + schema: + type: string + - description: Requested access item's ID. + example: 2db501be-f0fb-4cc5-a695-334133c52891 + in: path + name: requestedObjectId + required: true + schema: + type: string + - description: Requested access item's type. + example: ENTITLEMENT + in: path + name: type + required: true + schema: + items: + $ref: ../schemas/AccessItemRef.yaml + type: string responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SedBatchResponse' - description: Sed Batch Response + items: + $ref: ../schemas/AccessRequestIdentityMetrics.yaml + type: object + description: Summary of the resource access and source activity for the + direct reports of the provided manager. "400": content: application/json: @@ -58368,25 +58549,7 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist - "429": + "429": content: application/json: schema: @@ -58413,34 +58576,27 @@ paths: error. security: - UserContextAuth: - - idn:sed:write - summary: Submit Sed Batch Request + - idn:access-request-approvals:read + summary: Return access request identity metrics tags: - - Suggested Entitlement Description - /suggested-entitlement-description-approvals: - post: - description: |- - Submit Bulk Approval Request for SED. - Request body takes list of SED Ids. API responses with list of SED Approval Status - operationId: submitSedApproval - requestBody: - content: - application/json-patch+json: - schema: - items: - $ref: '#/components/schemas/SedApproval' - type: array - description: Sed Approval - required: true + - Access Request Identity Metrics + /manual-discover-applications-template: + get: + description: | + This endpoint allows the user to download an example CSV file with two columns `application_name` and `description`. The CSV file contains a single row with the values 'Example Application' and 'Example Description'. + + The downloaded template is specifically designed for use with the `/manual-discover-applications` endpoint. + operationId: getManualDiscoverApplicationsCsvTemplate responses: "200": content: - application/json: + text/csv: + example: | + application_name,description + Example Application,Example Description schema: - items: - $ref: '#/components/schemas/SedApprovalStatus' - type: array - description: List of SED Approval Status + $ref: '#/components/schemas/ManualDiscoverApplicationsTemplate' + description: A CSV file download was successful. "400": content: application/json: @@ -58472,24 +58628,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -58517,30 +58655,24 @@ paths: error. security: - UserContextAuth: - - idn:sed:write - summary: Submit Bulk Approval Request + - idn:application-discovery:read + summary: CSV template download for discovery tags: - - Suggested Entitlement Description - /suggested-entitlement-description-assignments: + - Application Discovery + /manual-discover-applications: post: - description: |- - Submit Assignment Request. - Request body has an assignee, and list of SED Ids that are assigned to that assignee API responses with batchId that groups all approval requests together - operationId: submitSedAssignment + description: "This endpoint supports uploading a CSV file with application data\ + \ for manual correlation to specific IDN connectors. \nIf a suitable IDN connector\ + \ is unavailable, the system will recommend generic connectors instead." + operationId: sendManualDiscoverApplicationsCsvTemplate requestBody: content: - application/json-patch+json: + multipart/form-data: schema: - $ref: '#/components/schemas/SedAssignment' - description: Sed Assignment Request - required: true + $ref: '#/components/schemas/ManualDiscoverApplications' responses: - "202": - content: - application/json: - schema: - $ref: '#/components/schemas/SedAssignmentResponse' - description: Sed Assignment Response + "200": + description: The CSV has been successfully processed. "400": content: application/json: @@ -58572,24 +58704,6 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": - content: - application/json: - examples: - "404": - summary: An example of a 404 response object - value: - detailCode: 404 Not found - trackingId: b21b1f7ce4da4d639f2c62a57171b427 - messages: - - locale: en-US - localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. - schema: - $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist "429": content: application/json: @@ -58617,83 +58731,92 @@ paths: error. security: - UserContextAuth: - - idn:sed:write - summary: Submit Sed Assignment Request + - idn:application-discovery:write + summary: CSV Upload to discover applications tags: - - Suggested Entitlement Description - /suggested-entitlement-descriptions: + - Application Discovery + /discovered-applications: get: - description: List of Suggested Entitlement Description - operationId: listSeds + description: | + Fetches a list of applications that have been identified within the environment. This includes details such as application names, discovery dates, potential correlated saas_vendors and related suggested connectors. + operationId: getDiscoveredApplications parameters: - - description: "Integer specifying the maximum number of records to return in\ - \ a single API call. \nThe standard syntax described in [V3 API Standard\ - \ Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results).\ - \ If it is not specified, a default limit is used." - example: limit=0 + - 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. + example: 250 in: query name: limit + required: false schema: - format: int64 + default: 250 + format: int32 + maximum: 250 + minimum: 0 type: integer - 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: - - **batchId**: *eq* - - **status**: *eq, ne, in* - - **displayName**: *eq, co* - example: displayName co "Read and Write" - in: query - name: filters - schema: - type: string - - 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. \nThe standard syntax described in [V3 API Standard Collection\ - \ Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results).\n\ - Since requesting a total count can have a performance impact, it is recommended\ - \ not to send `count=true` if that value will not be used." - example: count=true + Offset into the full result set. Usually specified with *limit* to paginate through the results. + See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + example: 0 in: query - name: count + name: offset + required: false schema: - type: boolean - - 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. - This parameter differs from the Coun parameter in that this one skip executing the actual query and always return an empty array. - example: count-only=true + default: 0 + format: int32 + minimum: 0 + type: integer + - description: "Determines whether slim, or increased level of detail is provided\ + \ for each discovered application in the returned list. SLIM is the default\ + \ behavior." + example: FULL in: query - name: count-only + name: detail schema: - type: boolean - - description: "By default, the ListSeds API will only return items that you\ - \ have requested to be generated. \nThis option will allow you to see all\ - \ items that have been requested" - example: requested-by-anyone=true + enum: + - SLIM + - FULL + type: string + - 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)\n\ + \ \n \nFiltering is supported for the following fields and operators:\n\ + \n**name**: *eq, sw, co*\n\n**description**: *eq, sw, co*\n\n**createdAtStart**:\ + \ *eq, le, ge*\n\n**createdAtEnd**: *eq, le, ge*\n\n**discoveredAtStart**:\ + \ *eq, le, ge*\n\n**discoveredAtEnd**: *eq, le, ge*\n\n**discoverySource**:\ + \ *eq, in*\n" + example: "name eq \"Okta\" and description co \"Okta\" and discoverySource\ + \ in (\"csv\", \"Okta Saas\")" in: query - name: requested-by-anyone + name: filter + required: false schema: - type: boolean - - description: Will limit records to items that are in "suggested" or "approved" - status - example: show-pending-status-only=true + type: string + style: form + - 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: **name, description, discoveredAt, discoverySource** + example: name in: query - name: show-pending-status-only + name: sorters schema: - type: boolean + format: comma-separated + type: string responses: "200": content: application/json: + examples: + Slim Discovered Application: + $ref: '#/components/examples/SlimDiscoveredApplications' + Discovered Application: + $ref: '#/components/examples/FullDiscoveredApplications' schema: items: - $ref: '#/components/schemas/Sed' + $ref: '#/components/schemas/getDiscoveredApplications_200_response_inner' type: array - description: List of Suggested Entitlement Details + description: "List of discovered applications. By default, the API returns\ + \ a list of SLIM discovered applications." "400": content: application/json: @@ -58725,24 +58848,103 @@ paths: $ref: '#/components/schemas/ErrorResponseDto' description: "Forbidden - Returned if the user you are running as, doesn't\ \ have access to this end-point." - "404": + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": content: application/json: examples: - "404": - summary: An example of a 404 response object + "500": + summary: An example of a 500 response object value: - detailCode: 404 Not found + detailCode: 500.0 Internal Fault trackingId: b21b1f7ce4da4d639f2c62a57171b427 messages: - locale: en-US localeOrigin: DEFAULT - text: The server did not find a current representation for the - target resource. + text: An internal fault occurred. schema: $ref: '#/components/schemas/ErrorResponseDto' - description: Not Found - returned if the request URL refers to a resource - or object that does not exist + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:application-discovery:read + summary: Retrieve discovered applications for tenant + tags: + - Application Discovery + /discovered-applications/{id}: + get: + description: | + This API returns a discovered application with its associated sources based on the ID provided. + operationId: getDiscoveredApplicationByID + parameters: + - description: ID of the discovered application. + example: 123e4567-e89b-12d3-a456-426655440000 + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + example: + id: app-123 + name: Example App + discoverySource: csv + discoveredVendor: Example Vendor + description: An application for managing examples. + recommendedConnectors: + - ConnectorA + - ConnectorB + discoveredAt: 2023-07-01T12:00:00Z + createdAt: 2024-06-01T12:00:00Z + status: ACTIVE + associatedSources: + - 4e2d7605-833f-4c34-8d03-5b2c7d2f4f66 + - f9b7e2ce-aced-4117-a95f-4ffad8b33989 + - a3b159f2-5f09-43c9-b40e-a6f317aa5b8f + description: Returns the discovered application along with its associated + sources. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." "429": content: application/json: @@ -58770,38 +58972,160 @@ paths: error. security: - UserContextAuth: - - idn:sed:read - summary: List Suggested Entitlement Description + - idn:application-discovery:read + summary: Get Discovered Application by ID tags: - - Suggested Entitlement Description + - Application Discovery patch: - description: Patch Suggested Entitlement Description - operationId: patchSed + description: |- + This API updates an existing discovered application using a limited version of the [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. + The following fields are patchable: - **associatedSources** - **dismissed** + operationId: patchDiscoveredApplicationByID parameters: - - description: id is sed id - example: ebab396f-0af1-4050-89b7-dafc63ec70e7 + - description: ID of the discovered application. + example: 123e4567-e89b-12d3-a456-426655440000 in: path name: id required: true schema: - format: uuid type: string requestBody: content: application/json-patch+json: + examples: + Dismiss an app: + description: This example shows how use patch to set the dismissal + status of a correlated application to true + value: + - op: replace + path: /dismissed + value: true + Replace associated sources: + description: This example shows how use patch to replace the values + of the associatedSources field. + value: + - op: replace + path: /associatedSources + value: + - 4e2d7605-833f-4c34-8d03-5b2c7d2f4f66 + - f9b7e2ce-aced-4117-a95f-4ffad8b33989 + - a3b159f2-5f09-43c9-b40e-a6f317aa5b8f + Add an associated source to a correlated application: + description: This example shows how to use patch to add an associated + source to a correlated application + value: + - op: add + path: /associatedSources + value: 123e4567-e89b-a456-42655440005 schema: + example: + - op: replace + path: /dismissed + value: false items: - $ref: '#/components/schemas/SedPatch' + $ref: '#/components/schemas/JsonPatchOperations' type: array - description: Sed Patch Request + responses: + "200": + content: + application/json: + example: + id: app-123 + name: Example App + discoverySource: csv + discoveredVendor: Example Vendor + description: An application for managing examples. + recommendedConnectors: + - ConnectorA + - ConnectorB + discoveredAt: 2023-07-01T12:00:00Z + createdAt: 2024-06-01T12:00:00Z + status: ACTIVE + associatedSources: + - 4e2d7605-833f-4c34-8d03-5b2c7d2f4f66 + - f9b7e2ce-aced-4117-a95f-4ffad8b33989 + - a3b159f2-5f09-43c9-b40e-a6f317aa5b8f + description: Returns the single patched discovered application. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:application-discovery:write + summary: Patch Discovered Application by Id + tags: + - Application Discovery + /vendor-connector-mappings: + delete: + description: | + Soft deletes a mapping between a SaaS vendor and an IDN connector, removing the established correlation. + operationId: deleteVendorConnectorMapping + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VendorConnectorMapping' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Sed' - description: detail of patched sed + $ref: '#/components/schemas/deleteVendorConnectorMapping_200_response' + description: Successfully deleted the specified vendor connector mapping. "400": content: application/json: @@ -58878,37 +59202,1217 @@ paths: error. security: - UserContextAuth: - - idn:sed:write - summary: Patch Suggested Entitlement Description + - idn:application-discovery:write + summary: Delete a vendor connector mapping tags: - - Suggested Entitlement Description -components: - examples: - SlimCampaigns: - description: List of Slim Campaigns that would result from not specifying *detail* - or specifying SLIM - value: - - id: 2c918086719eec070171a7e3355a360a - name: Manager Review - description: A review of everyone's access by their manager. - deadline: 2020-12-25T06:00:00.123Z - type: MANAGER - status: ACTIVE - emailNotificationEnabled: false - autoRevokeAllowed: false - recommendationsEnabled: false - created: 2022-08-02T20:29:51.065Z - totalCertifications: 10 - completedCertifications: 3 - alerts: - - level: ERROR - localizations: - - locale: en - localeOrigin: DEFAULT - text: Composite criterion must have children non-composite criterion must - not. - - id: 7e1a731e3fb845cfbe58112ba4673ee4 - name: Search Campaign + - Vendor Connector Mappings + get: + description: | + Retrieves a list of mappings between SaaS vendors and IDN connectors, detailing the connections established for correlation. + operationId: getVendorConnectorMappings + responses: + "200": + content: + application/json: + schema: + example: + - id: 78733556-9ea3-4f59-bf69-e5cd92b011b4 + vendor: Example Vendor + connector: Example Connector + createdAt: 2024-03-13T12:56:19.391294Z + createdBy: admin + updatedAt: + Time: 2024-03-14T12:56:19.391294Z + Valid: true + updatedBy: + String: user-67891 + Valid: true + deletedAt: + Time: 0001-01-01T00:00:00Z + Valid: false + deletedBy: + String: "" + Valid: false + - id: 78733556-9ea3-4f59-bf69-e5cd92b011b5 + vendor: Another Corporation + connector: Another Connector + createdAt: 2024-04-13T11:46:19.391294Z + createdBy: admin + updatedAt: + Time: 0001-01-01T00:00:00Z + Valid: false + updatedBy: + String: "" + Valid: false + deletedAt: + Time: 0001-01-01T00:00:00Z + Valid: false + deletedBy: + String: "" + Valid: false + items: + $ref: '#/components/schemas/VendorConnectorMapping' + type: array + description: Successfully retrieved list. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "405": + content: + application/json: + schema: + $ref: '#/components/schemas/createDomainDkim_405_response' + description: "Method Not Allowed - indicates that the server knows the request\ + \ method, but the target resource doesn't support this method." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:application-discovery:read + summary: List vendor connector mappings + tags: + - Application Discovery + post: + description: | + Creates a new mapping between a SaaS vendor and an IDN connector to establish correlation paths. + operationId: createVendorConnectorMapping + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VendorConnectorMapping' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/VendorConnectorMapping' + description: Successfully created a new vendor connector mapping. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "405": + content: + application/json: + schema: + $ref: '#/components/schemas/createDomainDkim_405_response' + description: "Method Not Allowed - indicates that the server knows the request\ + \ method, but the target resource doesn't support this method." + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:application-discovery:write + summary: Create a vendor connector mapping + tags: + - Vendor Connector Mappings + /icons/{objectType}/{objectId}: + delete: + description: This API endpoint delete an icon by object type and object id. + A token with ORG_ADMIN authority is required to call this API. + operationId: deleteIcon + parameters: + - description: "Object type. Available options ['application']" + example: application + in: path + name: objectType + required: true + schema: + type: string + - description: Object id. + example: a291e870-48c3-4953-b656-fb5ce2a93169 + in: path + name: objectId + required: true + schema: + type: string + responses: + "204": + description: No content - indicates the request was successful but there + is no content to be returned in the response. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:icons:manage + summary: Delete an icon + tags: + - Icons + put: + description: This API endpoint updates an icon by object type and object id. + A token with ORG_ADMIN authority is required to call this API. + operationId: setIcon + parameters: + - description: "Object type. Available options ['application']" + example: application + in: path + name: objectType + required: true + schema: + type: string + - description: Object id. + example: a291e870-48c3-4953-b656-fb5ce2a93169 + in: path + name: objectId + required: true + schema: + type: string + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/setIcon_request' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/setIcon_200_response' + description: Icon updated + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:icons:manage + summary: Update an icon + tags: + - Icons + /suggested-entitlement-description-batches/{batchId}/stats: + get: + description: |- + Submit Sed Batch Stats Request. + Submits batchId in the path param (e.g. {batchId}/stats). API responses with stats of the batchId. + operationId: getSedBatchStats + parameters: + - description: Batch Id + example: 8c190e67-87aa-4ed9-a90b-d9d5344523fb + in: path + name: batchId + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SedBatchStats' + description: Stats of Sed batch. + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sed:read + summary: Submit Sed Batch Stats Request + tags: + - Suggested Entitlement Description + /suggested-entitlement-description-batches: + get: + description: |- + List Sed Batches. + API responses with Sed Batch Status + operationId: getSedBatches + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SedBatchStatus' + description: Status of batch + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sed:read + summary: List Sed Batch Request + tags: + - Suggested Entitlement Description + post: + description: |- + Submit Sed Batch Request. + Request body has one of the following: + - a list of entitlement Ids + - a list of SED Ids + that user wants to have description generated by LLM. API responses with batchId that groups Ids together + operationId: submitSedBatchRequest + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/SedBatchRequest' + description: Sed Batch Request + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SedBatchResponse' + description: Sed Batch Response + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sed:write + summary: Submit Sed Batch Request + tags: + - Suggested Entitlement Description + /suggested-entitlement-description-approvals: + post: + description: |- + Submit Bulk Approval Request for SED. + Request body takes list of SED Ids. API responses with list of SED Approval Status + operationId: submitSedApproval + requestBody: + content: + application/json-patch+json: + schema: + items: + $ref: '#/components/schemas/SedApproval' + type: array + description: Sed Approval + required: true + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SedApprovalStatus' + type: array + description: List of SED Approval Status + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sed:write + summary: Submit Bulk Approval Request + tags: + - Suggested Entitlement Description + /suggested-entitlement-description-assignments: + post: + description: |- + Submit Assignment Request. + Request body has an assignee, and list of SED Ids that are assigned to that assignee API responses with batchId that groups all approval requests together + operationId: submitSedAssignment + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/SedAssignment' + description: Sed Assignment Request + required: true + responses: + "202": + content: + application/json: + schema: + $ref: '#/components/schemas/SedAssignmentResponse' + description: Sed Assignment Response + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sed:write + summary: Submit Sed Assignment Request + tags: + - Suggested Entitlement Description + /suggested-entitlement-descriptions: + get: + description: List of Suggested Entitlement Description + operationId: listSeds + parameters: + - description: "Integer specifying the maximum number of records to return in\ + \ a single API call. \nThe standard syntax described in [V3 API Standard\ + \ Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results).\ + \ If it is not specified, a default limit is used." + example: limit=0 + in: query + name: limit + schema: + format: int64 + type: integer + - 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: + + **batchId**: *eq* + + **status**: *eq, ne, in* + + **displayName**: *eq, co* + example: displayName co "Read and Write" + in: query + name: filters + schema: + type: string + - 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. \nThe standard syntax described in [V3 API Standard Collection\ + \ Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results).\n\ + Since requesting a total count can have a performance impact, it is recommended\ + \ not to send `count=true` if that value will not be used." + example: count=true + in: query + name: count + schema: + type: boolean + - 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. + This parameter differs from the Coun parameter in that this one skip executing the actual query and always return an empty array. + example: count-only=true + in: query + name: count-only + schema: + type: boolean + - description: "By default, the ListSeds API will only return items that you\ + \ have requested to be generated. \nThis option will allow you to see all\ + \ items that have been requested" + example: requested-by-anyone=true + in: query + name: requested-by-anyone + schema: + type: boolean + - description: Will limit records to items that are in "suggested" or "approved" + status + example: show-pending-status-only=true + in: query + name: show-pending-status-only + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Sed' + type: array + description: List of Suggested Entitlement Details + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sed:read + summary: List Suggested Entitlement Description + tags: + - Suggested Entitlement Description + patch: + description: Patch Suggested Entitlement Description + operationId: patchSed + parameters: + - description: id is sed id + example: ebab396f-0af1-4050-89b7-dafc63ec70e7 + in: path + name: id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json-patch+json: + schema: + items: + $ref: '#/components/schemas/SedPatch' + type: array + description: Sed Patch Request + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/Sed' + description: detail of patched sed + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Client Error - Returned if the request body is invalid. + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_401_response' + description: "Unauthorized - Returned if there is no authorization header,\ + \ or if the JWT token is expired." + "403": + content: + application/json: + examples: + "403": + summary: An example of a 403 response object + value: + detailCode: 403 Forbidden + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server understood the request but refuses to authorize + it. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: "Forbidden - Returned if the user you are running as, doesn't\ + \ have access to this end-point." + "404": + content: + application/json: + examples: + "404": + summary: An example of a 404 response object + value: + detailCode: 404 Not found + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: The server did not find a current representation for the + target resource. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Not Found - returned if the request URL refers to a resource + or object that does not exist + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/listAccessModelMetadataAttribute_429_response' + description: 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. + "500": + content: + application/json: + examples: + "500": + summary: An example of a 500 response object + value: + detailCode: 500.0 Internal Fault + trackingId: b21b1f7ce4da4d639f2c62a57171b427 + messages: + - locale: en-US + localeOrigin: DEFAULT + text: An internal fault occurred. + schema: + $ref: '#/components/schemas/ErrorResponseDto' + description: Internal Server Error - Returned if there is an unexpected + error. + security: + - UserContextAuth: + - idn:sed:write + summary: Patch Suggested Entitlement Description + tags: + - Suggested Entitlement Description +components: + examples: + SlimCampaigns: + description: List of Slim Campaigns that would result from not specifying *detail* + or specifying SLIM + value: + - id: 2c918086719eec070171a7e3355a360a + name: Manager Review + description: A review of everyone's access by their manager. + deadline: 2020-12-25T06:00:00.123Z + type: MANAGER + status: ACTIVE + emailNotificationEnabled: false + autoRevokeAllowed: false + recommendationsEnabled: false + created: 2022-08-02T20:29:51.065Z + totalCertifications: 10 + completedCertifications: 3 + alerts: + - level: ERROR + localizations: + - locale: en + localeOrigin: DEFAULT + text: Composite criterion must have children non-composite criterion must + not. + - id: 7e1a731e3fb845cfbe58112ba4673ee4 + name: Search Campaign description: Search Campaign Info deadline: 2022-07-26T15:42:44Z type: SEARCH @@ -64771,1377 +66275,2106 @@ components: description: the access item id example: 2c918087763e69d901763e72e97f006f type: string - displayName: - description: the role display name - example: sample + displayName: + description: the role display name + example: sample + type: string + description: + description: the description for the role + example: Role - Workday/Citizenship access + type: string + sourceName: + description: the associated source name if it exists + example: Source Name + type: string + removeDate: + description: the date the role is no longer assigned to the specified identity + example: 2024-07-01T06:00:00.00Z + type: string + revocable: + description: indicates whether the role is revocable + example: true + type: boolean + required: + - revocable + type: object + IdentitySnapshotSummaryResponse: + example: + snapshot: 2007-03-01T13:00:00.000Z + properties: + snapshot: + description: the date when the identity record was created + example: 2007-03-01T13:00:00.000Z + type: string + type: object + MetricResponse: + example: + name: 2021-04-01T00:00:00.000Z + value: 2 + properties: + name: + description: the name of metric + type: string + value: + description: the value associated to the metric + type: number + type: object + CommonAccessResponse: + example: + lastUpdated: 2000-01-23T04:56:07.000+00:00 + access: + ownerName: ownerName + name: name + description: description + id: id + type: ACCESS_PROFILE + ownerId: ownerId + createdByUser: false + commonAccessType: UNSET + id: 555ab47a-0d32-4813-906f-adf3567de6a4 + reviewedByUser: true + status: status + lastReviewed: 2000-01-23T04:56:07.000+00:00 + properties: + id: + description: Unique ID of the common access item + example: 555ab47a-0d32-4813-906f-adf3567de6a4 + type: string + access: + $ref: '#/components/schemas/CommonAccessItemAccess' + status: + description: CONFIRMED or DENIED + type: string + commonAccessType: + example: UNSET + type: string + lastUpdated: + format: date-time + readOnly: true + type: string + reviewedByUser: + description: true if user has confirmed or denied status + type: boolean + lastReviewed: + format: date-time + nullable: true + readOnly: true + type: string + createdByUser: + default: false + example: false + type: boolean + type: object + CommonAccessItemRequest: + example: + access: + ownerName: ownerName + name: name + description: description + id: id + type: ACCESS_PROFILE + ownerId: ownerId + status: CONFIRMED + properties: + access: + $ref: '#/components/schemas/CommonAccessItemAccess' + status: + $ref: '#/components/schemas/CommonAccessItemState' + type: object + CommonAccessItemResponse: + example: + lastUpdated: lastUpdated + access: + ownerName: ownerName + name: name + description: description + id: id + type: ACCESS_PROFILE + ownerId: ownerId + createdByUser: createdByUser + id: id + reviewedByUser: true + status: CONFIRMED + lastReviewed: lastReviewed + properties: + id: + description: Common Access Item ID + type: string + access: + $ref: '#/components/schemas/CommonAccessItemAccess' + status: + $ref: '#/components/schemas/CommonAccessItemState' + lastUpdated: + type: string + reviewedByUser: + type: boolean + lastReviewed: + type: string + createdByUser: + type: string + type: object + CommonAccessIDStatus: + example: + confirmedIds: + - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + deniedIds: + - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + properties: + confirmedIds: + description: List of confirmed common access ids. + items: + format: uuid + type: string + type: array + deniedIds: + description: List of denied common access ids. + items: + format: uuid + type: string + type: array + type: object + AccessItemAssociated: + example: + dt: 2019-03-08T22:37:33.901Z + governanceEvent: + dt: 2019-03-08T22:37:33.901Z + name: Manager Certification for Jon Snow + owners: + - id: 8a80828f643d484f01643e14202e206f + displayName: John Snow + decisionMaker: + displayName: John Snow + id: 8a80828f643d484f01643e14202e206f + type: certification + reviewers: + - id: 8a80828f643d484f01643e14202e206f + displayName: John Snow + governanceId: 2c91808a77ff216301782327a50f09bf + identityId: 8c190e6787aa4ed9a90bd9d5344523fb + eventType: AccessItemAssociated + accessItem: + id: 8c190e6787aa4ed9a90bd9d5344523fb + accessType: account + nativeIdentity: 127999 + sourceName: JDBC Entitlements Source + entitlementCount: 0 + displayName: Sample Name + properties: + accessItem: + $ref: '#/components/schemas/AccessItemAssociated_accessItem' + identityId: + description: the identity id + example: 8c190e6787aa4ed9a90bd9d5344523fb + type: string + eventType: + description: the event type + example: AccessItemAssociated + type: string + dt: + description: the date of event + example: 2019-03-08T22:37:33.901Z + type: string + governanceEvent: + $ref: '#/components/schemas/CorrelatedGovernanceEvent' + type: object + AccessItemRemoved: + properties: + accessItem: + $ref: '#/components/schemas/AccessItemAssociated_accessItem' + identityId: + description: the identity id + example: 8c190e6787aa4ed9a90bd9d5344523fb + type: string + eventType: + description: the event type + example: AccessItemRemoved + type: string + dt: + description: the date of event + example: 2019-03-08T22:37:33.901Z + type: string + governanceEvent: + $ref: '#/components/schemas/CorrelatedGovernanceEvent' + type: object + AttributesChanged: + example: + attributeChanges: + name: firstname + previousValue: adam + newValue: zampa + eventType: AttributesChanged + identityId: 8a80828f643d484f01643e14202e206f + dt: 2019-03-08T22:37:33.901Z + properties: + changes: + items: + $ref: '#/components/schemas/AttributeChange' + type: array + eventType: + description: the event type + type: string + identityId: + description: the identity id + type: string + dt: + description: the date of event + type: string + type: object + AccessRequested: + properties: + accessRequest: + $ref: '#/components/schemas/AccessRequestResponse' + identityId: + description: the identity id + example: 8a80828f643d484f01643e14202e206f + type: string + eventType: + description: the event type + example: AccessRequested + type: string + dt: + description: the date of event + example: 2019-03-08T22:37:33.901Z + type: string + type: object + IdentityCertified: + properties: + certificationId: + description: the id of the certification item + example: 2c91808a77ff216301782327a50f09bf + type: string + certificationName: + description: the certification item name + example: Cert name + type: string + signedDate: + description: the date ceritification was signed + example: 2019-03-08T22:37:33.901Z + type: string + certifiers: + description: this field is deprecated and may go away + example: + - id: 8a80828f643d484f01643e14202e206f + displayName: John Snow + items: + $ref: '#/components/schemas/CertifierResponse' + type: array + reviewers: + description: The list of identities who review this certification + example: + - id: 8a80828f643d484f01643e14202e206f + displayName: John Snow + items: + $ref: '#/components/schemas/CertifierResponse' + type: array + signer: + $ref: '#/components/schemas/CertifierResponse' + eventType: + description: the event type + example: IdentityCertified + type: string + dt: + description: the date of event + example: 2019-03-08T22:37:33.901Z + type: string + type: object + AccountStatusChanged: + example: + account: + id: 2c91808a77ff216301782327a50f09bf + nativeIdentity: 127999 + displayName: Sample Name + sourceId: 8a80828f643d484f01643e14202e206f + sourceName: JDBC Entitlements Source + entitlementCount: 0 + accessType: account + statusChange: + previousStatus: enabled + newStatus: disabled + eventType: AccountStatusChanged + identityId: 8a80828f643d484f01643e14202e206f + date: 2019-03-08T22:37:33.901Z + properties: + eventType: + description: the event type + type: string + identityId: + description: the identity id + type: string + dt: + description: the date of event + type: string + account: + $ref: '#/components/schemas/AccountStatusChanged_account' + statusChange: + $ref: '#/components/schemas/AccountStatusChanged_statusChange' + type: object + IdentityCompareResponse: + example: + accessItemDiff: + role: + accessAdded: 2 + accessRemoved: 3 + entitlement: + accessAdded: 4 + accessRemoved: 0 + accessProfile: + accessAdded: 0 + accessRemoved: 1 + properties: + accessItemDiff: + additionalProperties: + type: object + description: Arbitrary key-value pairs. They will never be processed by + the IdentityNow system but will be returned on completion of the violation + check. + type: object + type: object + AccessItemDiff: + example: + id: 2c91808c7726345b017726a0a2fb013b + eventType: ADD + displayName: Test + sourceName: Source + properties: + id: + description: the id of the access item + type: string + eventType: + enum: + - ADD + - REMOVE + type: string + displayName: + description: the display name of the access item + type: string + sourceName: + description: the source name of the access item + type: string + type: object + IdentitySyncJob: + example: + payload: + type: SYNCHRONIZE_IDENTITY_ATTRIBUTES + dataJson: "{\"identityId\":\"2c918083746f642c01746f990884012a\"}" + id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + status: IN_PROGRESS + properties: + id: + description: Job ID. + example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde + type: string + status: + description: The job status. + enum: + - QUEUED + - IN_PROGRESS + - SUCCESS + - ERROR + example: IN_PROGRESS + type: string + payload: + $ref: '#/components/schemas/IdentitySyncPayload' + required: + - id + - payload + - status + type: object + IdentityOwnershipAssociationDetails: + example: + associationDetails: + - entities: + id: b660a232f05b4e04812ca974b3011e0f + name: Gaston.800ddf9640a + type: ROLE + associationType: ROLE_OWNER + - entities: + id: b660a232f05b4e04812ca974b3011e0f + name: Gaston.800ddf9640a + type: ROLE + associationType: ROLE_OWNER + properties: + associationDetails: + description: list of all the resource associations for the identity + items: + $ref: '#/components/schemas/IdentityOwnershipAssociationDetails_associationDetails_inner' + type: array + type: object + Identity: + example: + lifecycleState: + stateName: active + manuallyUpdated: true + lastRefresh: 2020-11-22T15:42:31.123Z + created: 2023-01-03T21:16:22.432Z + processingState: ERROR + emailAddress: walter.white@example.com + identityStatus: LOCKED + name: Walter White + modified: 2023-01-03T21:16:22.432Z + alias: walter.white + isManager: true + attributes: + uid: "86754" + firstname: Walter + cloudStatus: UNREGISTERED + displayName: Walter White + identificationNumber: "86754" + lastSyncDate: 1470348809380 + email: walter.white@example.com + lastname: White + id: 01f04e428c484542a241dc89c303b178 + managerRef: + name: Robert Robinson + id: 2c4180a46faadee4016fb4e018c20626 + type: IDENTITY + properties: + id: + description: System-generated unique ID of the identity + example: 01f04e428c484542a241dc89c303b178 + readOnly: true + type: string + name: + description: The identity's name is equivalent to its Display Name attribute. + example: Walter White + type: string + created: + description: Creation date of the identity + example: 2023-01-03T21:16:22.432Z + format: date-time + readOnly: true + type: string + modified: + description: Last modification date of the identity + example: 2023-01-03T21:16:22.432Z + format: date-time + readOnly: true + type: string + alias: + description: The identity's alternate unique identifier is equivalent to + its Account Name on the authoritative source account schema. + example: walter.white type: string - description: - description: the description for the role - example: Role - Workday/Citizenship access + emailAddress: + description: The email address of the identity + example: walter.white@example.com + nullable: true type: string - sourceName: - description: the associated source name if it exists - example: Source Name + processingState: + description: The processing state of the identity + enum: + - ERROR + - OK + - null + example: ERROR + nullable: true type: string - removeDate: - description: the date the role is no longer assigned to the specified identity - example: 2024-07-01T06:00:00.00Z + identityStatus: + description: The identity's status in the system + enum: + - UNREGISTERED + - REGISTERED + - PENDING + - WARNING + - DISABLED + - ACTIVE + - DEACTIVATED + - TERMINATED + - ERROR + - LOCKED + example: LOCKED type: string - revocable: - description: indicates whether the role is revocable + managerRef: + $ref: '#/components/schemas/Identity_managerRef' + isManager: + default: false + description: Whether this identity is a manager of another identity example: true type: boolean + lastRefresh: + description: The last time the identity was refreshed by the system + example: 2020-11-22T15:42:31.123Z + format: date-time + type: string + attributes: + description: A map with the identity attributes for the identity + example: + uid: "86754" + firstname: Walter + cloudStatus: UNREGISTERED + displayName: Walter White + identificationNumber: "86754" + lastSyncDate: 1470348809380 + email: walter.white@example.com + lastname: White + type: object + lifecycleState: + $ref: '#/components/schemas/Identity_lifecycleState' required: - - revocable + - name + title: IdentityDto type: object - IdentitySnapshotSummaryResponse: + IdentityAssociationDetails: example: - snapshot: 2007-03-01T13:00:00.000Z + associationDetails: + - entities: + id: b660a232f05b4e04812ca974b3011e0f + name: Gaston.800ddf9640a + type: CAMPAIGN_CAMPAIGNER + associationType: CAMPAIGN_OWNER + - entities: + id: b660a232f05b4e04812ca974b3011e0f + name: Gaston.800ddf9640a + type: CAMPAIGN_CAMPAIGNER + associationType: CAMPAIGN_OWNER + message: Identity cannot be deleted as it is owner of following resources properties: - snapshot: - description: the date when the identity record was created - example: 2007-03-01T13:00:00.000Z + message: + description: any additional context information of the http call result + example: Identity cannot be deleted as it is owner of following resources type: string + associationDetails: + description: list of all the resource associations for the identity + items: + $ref: '#/components/schemas/IdentityAssociationDetails_associationDetails_inner' + type: array type: object - MetricResponse: + InviteIdentitiesRequest: example: - name: 2021-04-01T00:00:00.000Z - value: 2 + ids: + - 2b568c65bc3c4c57a43bd97e3a8e55 + - 2c9180867769897d01776ed5f125512f + uninvited: false properties: - name: - description: the name of metric - type: string - value: - description: the value associated to the metric - type: number + ids: + description: The list of Identities IDs to invite - required when 'uninvited' + is false + example: + - 2b568c65bc3c4c57a43bd97e3a8e55 + - 2c9180867769897d01776ed5f125512f + items: + type: string + nullable: true + type: array + uninvited: + default: false + description: indicator (optional) to invite all unregistered identities + in the system within a limit 1000. This parameter makes sense only when + 'ids' is empty. + example: false + type: boolean type: object - CommonAccessResponse: + TaskStatus: + description: Details and current status of a specific task example: - lastUpdated: 2000-01-23T04:56:07.000+00:00 - access: - ownerName: ownerName - name: name - description: description - id: id - type: ACCESS_PROFILE - ownerId: ownerId - createdByUser: false - commonAccessType: UNSET - id: 555ab47a-0d32-4813-906f-adf3567de6a4 - reviewedByUser: true - status: status - lastReviewed: 2000-01-23T04:56:07.000+00:00 + taskDefinitionSummary: + parentName: Cloud Account Aggregation + uniqueName: Cloud Account Aggregation + executor: sailpoint.task.ServiceTaskExecutor + description: Aggregates from the specified application. + arguments: + key: "" + id: 2c91808475b4334b0175e1dff64b63c5 + created: 2020-07-11T21:23:15Z + description: A Really Big Task + completed: 2020-07-11T21:23:15Z + percentComplete: 100 + type: QUARTZ + launched: 2020-07-11T21:23:15Z + target: + name: "Active Directory [source]" + id: c6dc37bf508149b28ce5b7d90ca4bbf9 + type: APPLICATION + parentName: Parent Task + uniqueName: Big Task + modified: 2020-07-11T21:23:15Z + messages: + - type: INFO + parameters: + - name: value + key: akey + localizedText: + locale: An error has occurred! + message: Error has occurred! + - type: INFO + parameters: + - name: value + key: akey + localizedText: + locale: An error has occurred! + message: Error has occurred! + progress: Started + returns: + - name: label + attributeName: identityCount + - name: label + attributeName: identityCount + attributes: + identityCount: 0 + id: id12345 + completionStatus: SUCCESS + launcher: sweep properties: id: - description: Unique ID of the common access item - example: 555ab47a-0d32-4813-906f-adf3567de6a4 + description: System-generated unique ID of the task this TaskStatus represents + example: id12345 type: string - access: - $ref: '#/components/schemas/CommonAccessItemAccess' - status: - description: CONFIRMED or DENIED + type: + description: Type of task this TaskStatus represents + enum: + - QUARTZ + - QPOC + - QUEUED_TASK + example: QUARTZ type: string - commonAccessType: - example: UNSET + uniqueName: + description: Name of the task this TaskStatus represents + example: Big Task type: string - lastUpdated: + description: + description: Description of the task this TaskStatus represents + example: A Really Big Task + type: string + parentName: + description: Name of the parent of the task this TaskStatus represents + example: Parent Task + nullable: true + type: string + launcher: + description: Service to execute the task this TaskStatus represents + example: sweep + type: string + target: + $ref: '#/components/schemas/Target' + created: + description: Creation date of the task this TaskStatus represents + example: 2020-07-11T21:23:15Z format: date-time - readOnly: true type: string - reviewedByUser: - description: true if user has confirmed or denied status - type: boolean - lastReviewed: + modified: + description: Last modification date of the task this TaskStatus represents + example: 2020-07-11T21:23:15Z + format: date-time + type: string + launched: + description: Launch date of the task this TaskStatus represents + example: 2020-07-11T21:23:15Z format: date-time nullable: true - readOnly: true type: string - createdByUser: - default: false - example: false - type: boolean + completed: + description: Completion date of the task this TaskStatus represents + example: 2020-07-11T21:23:15Z + format: date-time + nullable: true + type: string + completionStatus: + description: Completion status of the task this TaskStatus represents + enum: + - SUCCESS + - WARNING + - ERROR + - TERMINATED + - TEMPERROR + - null + example: SUCCESS + nullable: true + type: string + messages: + description: Messages associated with the task this TaskStatus represents + items: + $ref: '#/components/schemas/TaskStatusMessage' + type: array + returns: + description: Return values from the task this TaskStatus represents + items: + $ref: '#/components/schemas/TaskReturnDetails' + type: array + attributes: + additionalProperties: true + description: Attributes of the task this TaskStatus represents + example: + identityCount: 0 + type: object + progress: + description: Current progress of the task this TaskStatus represents + example: Started + nullable: true + type: string + percentComplete: + description: Current percentage completion of the task this TaskStatus represents + example: 100 + type: integer + taskDefinitionSummary: + $ref: '#/components/schemas/TaskDefinitionSummary' + required: + - attributes + - completed + - completionStatus + - created + - description + - id + - launched + - launcher + - messages + - modified + - parentName + - percentComplete + - progress + - returns + - type + - uniqueName type: object - CommonAccessItemRequest: + SendAccountVerificationRequest: example: - access: - ownerName: ownerName - name: name - description: description - id: id - type: ACCESS_PROFILE - ownerId: ownerId - status: CONFIRMED + sourceName: Active Directory Source + via: EMAIL_WORK properties: - access: - $ref: '#/components/schemas/CommonAccessItemAccess' - status: - $ref: '#/components/schemas/CommonAccessItemState' + sourceName: + description: The source name where identity account password should be reset + example: Active Directory Source + nullable: true + type: string + via: + description: The method to send notification + enum: + - EMAIL_WORK + - EMAIL_PERSONAL + - LINK_WORK + - LINK_PERSONAL + example: EMAIL_WORK + type: string + required: + - via type: object - CommonAccessItemResponse: + ProcessIdentitiesRequest: example: - lastUpdated: lastUpdated - access: - ownerName: ownerName - name: name - description: description - id: id - type: ACCESS_PROFILE - ownerId: ownerId - createdByUser: createdByUser - id: id - reviewedByUser: true - status: CONFIRMED - lastReviewed: lastReviewed + identityIds: + - ef38f94347e94562b5bb8424a56397d8 + - ef38f94347e94562b5bb8424a56397d8 + - ef38f94347e94562b5bb8424a56397d8 + - ef38f94347e94562b5bb8424a56397d8 + - ef38f94347e94562b5bb8424a56397d8 properties: - id: - description: Common Access Item ID - type: string - access: - $ref: '#/components/schemas/CommonAccessItemAccess' - status: - $ref: '#/components/schemas/CommonAccessItemState' - lastUpdated: + identityIds: + description: List of up to 250 identity IDs to process. + items: + example: ef38f94347e94562b5bb8424a56397d8 + type: string + maxItems: 250 + minItems: 1 + type: array + type: object + TaskResultResponse: + example: + name: "null" + id: 78733556-9ea3-4f59-bf69-e5cd92b011b4 + type: TASK_RESULT + properties: + type: + description: the type of response reference + example: TASK_RESULT type: string - reviewedByUser: - type: boolean - lastReviewed: + id: + description: the task ID + example: 78733556-9ea3-4f59-bf69-e5cd92b011b4 type: string - createdByUser: + name: + description: "the task name (not used in this endpoint, always null)" + example: "null" type: string type: object - CommonAccessIDStatus: + RoleAssignmentRef: example: - confirmedIds: - - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - deniedIds: - - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + role: + name: Github + id: ff8081814d977c21014da056804a0af3 + id: 1cbb0705b38c4226b1334eadd8874086 properties: - confirmedIds: - description: List of confirmed common access ids. - items: - format: uuid - type: string - type: array - deniedIds: - description: List of denied common access ids. - items: - format: uuid - type: string - type: array + id: + description: Assignment Id + example: 1cbb0705b38c4226b1334eadd8874086 + type: string + role: + $ref: '#/components/schemas/BaseReferenceDto' type: object - AccessItemAssociated: + RoleAssignmentDto: example: - dt: 2019-03-08T22:37:33.901Z - governanceEvent: - dt: 2019-03-08T22:37:33.901Z - name: Manager Certification for Jon Snow - owners: - - id: 8a80828f643d484f01643e14202e206f - displayName: John Snow - decisionMaker: - displayName: John Snow - id: 8a80828f643d484f01643e14202e206f - type: certification - reviewers: - - id: 8a80828f643d484f01643e14202e206f - displayName: John Snow - governanceId: 2c91808a77ff216301782327a50f09bf - identityId: 8c190e6787aa4ed9a90bd9d5344523fb - eventType: AccessItemAssociated - accessItem: - id: 8c190e6787aa4ed9a90bd9d5344523fb - accessType: account - nativeIdentity: 127999 - sourceName: JDBC Entitlements Source - entitlementCount: 0 - displayName: Sample Name + assignmentContext: + requested: + contextAttributes: + - attribute: location + value: Austin + derived: false + - attribute: location + value: Austin + derived: false + computedDate: Wed Feb 14 10:58:42 + matched: + - matchedAttributes: + - attribute: location + value: Austin + derived: false + - attribute: location + value: Austin + derived: false + roleRef: + name: Github + id: ff8081814d977c21014da056804a0af3 + - matchedAttributes: + - attribute: location + value: Austin + derived: false + - attribute: location + value: Austin + derived: false + roleRef: + name: Github + id: ff8081814d977c21014da056804a0af3 + removeDate: Wed Feb 14 10:58:42 + role: + name: Github + id: ff8081814d977c21014da056804a0af3 + comments: I'm a new Engineer and need this role to do my work + assigner: + name: Github + id: ff8081814d977c21014da056804a0af3 + assignedDimensions: + - id: 1acc8ffe5fcf457090de28bee2af36ee + type: DIMENSION + name: Northeast region + assignmentSource: UI + id: 1cbb0705b38c4226b1334eadd8874086 + accountTargets: + - accountInfo: + displayName: Abby.Smith + uuid: "{ad9fc391-246d-40af-b248-b6556a2b7c01}" + nativeIdentity: "CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com" + roleName: Marketing + source: + name: Github + id: ff8081814d977c21014da056804a0af3 + - accountInfo: + displayName: Abby.Smith + uuid: "{ad9fc391-246d-40af-b248-b6556a2b7c01}" + nativeIdentity: "CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com" + roleName: Marketing + source: + name: Github + id: ff8081814d977c21014da056804a0af3 properties: - accessItem: - $ref: '#/components/schemas/AccessItemAssociated_accessItem' - identityId: - description: the identity id - example: 8c190e6787aa4ed9a90bd9d5344523fb + id: + description: Assignment Id + example: 1cbb0705b38c4226b1334eadd8874086 type: string - eventType: - description: the event type - example: AccessItemAssociated + role: + $ref: '#/components/schemas/BaseReferenceDto' + comments: + description: Comments added by the user when the assignment was made + example: I'm a new Engineer and need this role to do my work type: string - dt: - description: the date of event - example: 2019-03-08T22:37:33.901Z + assignmentSource: + description: Source describing how this assignment was made + example: UI + type: string + assigner: + $ref: '#/components/schemas/BaseReferenceDto' + assignedDimensions: + description: Dimensions assigned related to this role + example: + - id: 1acc8ffe5fcf457090de28bee2af36ee + type: DIMENSION + name: Northeast region + items: + $ref: '#/components/schemas/BaseReferenceDto' + type: array + assignmentContext: + $ref: '#/components/schemas/AssignmentContextDto' + accountTargets: + items: + $ref: '#/components/schemas/RoleTargetDto' + type: array + removeDate: + description: Date that the assignment will be removed + example: Wed Feb 14 10:58:42 type: string - governanceEvent: - $ref: '#/components/schemas/CorrelatedGovernanceEvent' type: object - AccessItemRemoved: + IdentityAttribute: + example: + standard: false + system: false + sources: + - type: rule + properties: + ruleType: IdentityAttribute + ruleName: Cloud Promote Identity Attribute + - type: rule + properties: + ruleType: IdentityAttribute + ruleName: Cloud Promote Identity Attribute + displayName: Cost Center + name: costCenter + type: string + searchable: false + multi: false properties: - accessItem: - $ref: '#/components/schemas/AccessItemAssociated_accessItem' - identityId: - description: the identity id - example: 8c190e6787aa4ed9a90bd9d5344523fb + name: + description: Identity attribute's technical name. + example: costCenter type: string - eventType: - description: the event type - example: AccessItemRemoved + displayName: + description: Identity attribute's business-friendly name. + example: Cost Center type: string - dt: - description: the date of event - example: 2019-03-08T22:37:33.901Z + standard: + default: false + description: Indicates whether the attribute is 'standard' or 'default'. + example: false + type: boolean + type: + description: Identity attribute's type. + example: string + nullable: true type: string - governanceEvent: - $ref: '#/components/schemas/CorrelatedGovernanceEvent' + multi: + default: false + description: Indicates whether the identity attribute is multi-valued. + example: false + type: boolean + searchable: + default: false + description: Indicates whether the identity attribute is searchable. + example: false + type: boolean + system: + default: false + description: "Indicates whether the identity attribute is 'system', meaning\ + \ that it doesn't have a source and isn't configurable." + example: false + type: boolean + sources: + description: Identity attribute's list of sources - this specifies how the + rule's value is derived. + items: + $ref: '#/components/schemas/Source_1' + type: array + required: + - name type: object - AttributesChanged: + IdentityAttributeNames: + description: Identity attribute IDs. example: - attributeChanges: - name: firstname - previousValue: adam - newValue: zampa - eventType: AttributesChanged - identityId: 8a80828f643d484f01643e14202e206f - dt: 2019-03-08T22:37:33.901Z + ids: + - name + - displayName properties: - changes: + ids: + description: List of identity attributes' technical names. + example: + - name + - displayName items: - $ref: '#/components/schemas/AttributeChange' + example: name + type: string type: array - eventType: - description: the event type - type: string - identityId: - description: the identity id - type: string - dt: - description: the date of event - type: string type: object - AccessRequested: + IdentityProfileBulkDelete: + description: List of Identity Profile IDs to delete. + example: + - 2c9180867b2a34e0017b3078d60b0699 + - 2c9180867b2a34e0017b3078d60b0698 + items: + type: string + type: array + TaskResultSimplified: + example: + name: Background Object Terminator c8f030f2-b1a6-4e33-99e8-6935bc18735d + description: "Generic task for terminating data in the overlay, used by the\ + \ TerminationService." + id: ff8081814d977c21014da056804a0af3 + completed: 2000-01-23T04:56:07.000+00:00 + completionStatus: Success + launched: 2000-01-23T04:56:07.000+00:00 + launcher: support properties: - accessRequest: - $ref: '#/components/schemas/AccessRequestResponse' - identityId: - description: the identity id - example: 8a80828f643d484f01643e14202e206f - type: string - eventType: - description: the event type - example: AccessRequested + id: + description: Task identifier + example: ff8081814d977c21014da056804a0af3 type: string - dt: - description: the date of event - example: 2019-03-08T22:37:33.901Z + name: + description: Task name + example: Background Object Terminator c8f030f2-b1a6-4e33-99e8-6935bc18735d type: string - type: object - IdentityCertified: - properties: - certificationId: - description: the id of the certification item - example: 2c91808a77ff216301782327a50f09bf + description: + description: Task description + example: "Generic task for terminating data in the overlay, used by the\ + \ TerminationService." type: string - certificationName: - description: the certification item name - example: Cert name + launcher: + description: User or process who launched the task + example: support type: string - signedDate: - description: the date ceritification was signed - example: 2019-03-08T22:37:33.901Z + completed: + description: Date time of completion + format: date-time type: string - certifiers: - description: this field is deprecated and may go away - example: - - id: 8a80828f643d484f01643e14202e206f - displayName: John Snow - items: - $ref: '#/components/schemas/CertifierResponse' - type: array - reviewers: - description: The list of identities who review this certification - example: - - id: 8a80828f643d484f01643e14202e206f - displayName: John Snow - items: - $ref: '#/components/schemas/CertifierResponse' - type: array - signer: - $ref: '#/components/schemas/CertifierResponse' - eventType: - description: the event type - example: IdentityCertified + launched: + description: Date time when the task was launched + format: date-time type: string - dt: - description: the date of event - example: 2019-03-08T22:37:33.901Z + completionStatus: + description: Task result status + enum: + - Success + - Warning + - Error + - Terminated + - TempError + example: Success type: string type: object - AccountStatusChanged: + IdentityProfileExportedObject: + description: Identity Profile exported object example: - account: - id: 2c91808a77ff216301782327a50f09bf - nativeIdentity: 127999 - displayName: Sample Name - sourceId: 8a80828f643d484f01643e14202e206f - sourceName: JDBC Entitlements Source - entitlementCount: 0 - accessType: account - statusChange: - previousStatus: enabled - newStatus: disabled - eventType: AccountStatusChanged - identityId: 8a80828f643d484f01643e14202e206f - date: 2019-03-08T22:37:33.901Z + self: + name: HR Active Directory + id: 2c9180835d191a86015d28455b4b232a + type: SOURCE + version: 1 + object: + owner: + name: William Wilson + id: 2c9180835d191a86015d28455b4b232a + type: IDENTITY + identityExceptionReportReference: + reportName: My annual report + taskResultId: 2b838de9-db9b-abcf-e646-d4f274ad4238 + authoritativeSource: + name: HR Active Directory + id: 2c9180835d191a86015d28455b4b232a + type: SOURCE + hasTimeBasedAttr: true + created: 2015-05-28T14:07:17Z + description: My custom flat file profile + identityRefreshRequired: true + identityCount: 8 + priority: 10 + identityAttributeConfig: + attributeTransforms: + - transformDefinition: + attributes: + attributeName: e-mail + sourceName: MySource + sourceId: 2c9180877a826e68017a8c0b03da1a53 + type: accountAttribute + identityAttributeName: email + - transformDefinition: + attributes: + attributeName: e-mail + sourceName: MySource + sourceId: 2c9180877a826e68017a8c0b03da1a53 + type: accountAttribute + identityAttributeName: email + enabled: true + name: aName + modified: 2015-05-28T14:07:17Z + id: id12345 properties: - eventType: - description: the event type - type: string - identityId: - description: the identity id - type: string - dt: - description: the date of event - type: string - account: - $ref: '#/components/schemas/AccountStatusChanged_account' - statusChange: - $ref: '#/components/schemas/AccountStatusChanged_statusChange' + version: + description: Version or object from the target service. + example: 1 + type: integer + self: + $ref: '#/components/schemas/SelfImportExportDto' + object: + $ref: '#/components/schemas/IdentityProfile_1' type: object - IdentityCompareResponse: + ObjectImportResult: + description: Response model for import of a single object. example: - accessItemDiff: - role: - accessAdded: 2 - accessRemoved: 3 - entitlement: - accessAdded: 4 - accessRemoved: 0 - accessProfile: - accessAdded: 0 - accessRemoved: 1 + warnings: + - details: + details: message details + text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ + \ name: random identity]" + key: UNKNOWN_REFERENCE_RESOLVER + - details: + details: message details + text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ + \ name: random identity]" + key: UNKNOWN_REFERENCE_RESOLVER + importedObjects: + - name: HR Active Directory + id: 2c9180835d191a86015d28455b4b232a + type: SOURCE + - name: HR Active Directory + id: 2c9180835d191a86015d28455b4b232a + type: SOURCE + infos: + - details: + details: message details + text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ + \ name: random identity]" + key: UNKNOWN_REFERENCE_RESOLVER + - details: + details: message details + text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ + \ name: random identity]" + key: UNKNOWN_REFERENCE_RESOLVER + errors: + - details: + details: message details + text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ + \ name: random identity]" + key: UNKNOWN_REFERENCE_RESOLVER + - details: + details: message details + text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ + \ name: random identity]" + key: UNKNOWN_REFERENCE_RESOLVER properties: - accessItemDiff: - additionalProperties: - type: object - description: Arbitrary key-value pairs. They will never be processed by - the IdentityNow system but will be returned on completion of the violation - check. - type: object + infos: + description: Informational messages returned from the target service on + import. + items: + $ref: '#/components/schemas/SpConfigMessage' + type: array + warnings: + description: Warning messages returned from the target service on import. + items: + $ref: '#/components/schemas/SpConfigMessage' + type: array + errors: + description: Error messages returned from the target service on import. + items: + $ref: '#/components/schemas/SpConfigMessage' + type: array + importedObjects: + description: References to objects that were created or updated by the import. + items: + $ref: '#/components/schemas/ImportObject' + type: array + required: + - errors + - importedObjects + - infos + - warnings + title: Import Object Response Body type: object - AccessItemDiff: + IdentityPreviewRequest: example: - id: 2c91808c7726345b017726a0a2fb013b - eventType: ADD - displayName: Test - sourceName: Source + identityId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + identityAttributeConfig: + attributeTransforms: + - transformDefinition: + attributes: + attributeName: e-mail + sourceName: MySource + sourceId: 2c9180877a826e68017a8c0b03da1a53 + type: accountAttribute + identityAttributeName: email + - transformDefinition: + attributes: + attributeName: e-mail + sourceName: MySource + sourceId: 2c9180877a826e68017a8c0b03da1a53 + type: accountAttribute + identityAttributeName: email + enabled: true properties: - id: - description: the id of the access item - type: string - eventType: - enum: - - ADD - - REMOVE - type: string - displayName: - description: the display name of the access item - type: string - sourceName: - description: the source name of the access item + identityId: + format: uuid type: string + identityAttributeConfig: + $ref: '#/components/schemas/IdentityAttributeConfig' type: object - IdentitySyncJob: + IdentityPreviewResponse: example: - payload: - type: SYNCHRONIZE_IDENTITY_ATTRIBUTES - dataJson: "{\"identityId\":\"2c918083746f642c01746f990884012a\"}" - id: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - status: IN_PROGRESS - properties: - id: - description: Job ID. - example: 0f11f2a4-7c94-4bf3-a2bd-742580fe3bde - type: string - status: - description: The job status. - enum: - - QUEUED - - IN_PROGRESS - - SUCCESS - - ERROR - example: IN_PROGRESS - type: string - payload: - $ref: '#/components/schemas/IdentitySyncPayload' - required: - - id - - payload - - status + identity: + name: Robert Robinson + id: 2c4180a46faadee4016fb4e018c20626 + type: IDENTITY + previewAttributes: + - errorMessages: + - localeOrigin: DEFAULT + text: The request was syntactically correct but its content is semantically + invalid. + locale: en-US + - localeOrigin: DEFAULT + text: The request was syntactically correct but its content is semantically + invalid. + locale: en-US + name: email + value: email@mail.com + previousValue: oldEmail@mail.com + - errorMessages: + - localeOrigin: DEFAULT + text: The request was syntactically correct but its content is semantically + invalid. + locale: en-US + - localeOrigin: DEFAULT + text: The request was syntactically correct but its content is semantically + invalid. + locale: en-US + name: email + value: email@mail.com + previousValue: oldEmail@mail.com + properties: + identity: + $ref: '#/components/schemas/IdentityPreviewResponse_identity' + previewAttributes: + items: + $ref: '#/components/schemas/IdentityAttributePreview' + type: array type: object - IdentityOwnershipAssociationDetails: + IdentityAttributeConfig: example: - associationDetails: - - entities: - id: b660a232f05b4e04812ca974b3011e0f - name: Gaston.800ddf9640a - type: ROLE - associationType: ROLE_OWNER - - entities: - id: b660a232f05b4e04812ca974b3011e0f - name: Gaston.800ddf9640a - type: ROLE - associationType: ROLE_OWNER + attributeTransforms: + - transformDefinition: + attributes: + attributeName: e-mail + sourceName: MySource + sourceId: 2c9180877a826e68017a8c0b03da1a53 + type: accountAttribute + identityAttributeName: email + - transformDefinition: + attributes: + attributeName: e-mail + sourceName: MySource + sourceId: 2c9180877a826e68017a8c0b03da1a53 + type: accountAttribute + identityAttributeName: email + enabled: true properties: - associationDetails: - description: list of all the resource associations for the identity + enabled: + default: true + description: If the profile or mapping is enabled + example: true + type: boolean + attributeTransforms: items: - $ref: '#/components/schemas/IdentityOwnershipAssociationDetails_associationDetails_inner' + $ref: '#/components/schemas/IdentityAttributeTransform' type: array type: object - Identity: + LifecycleState: example: - lifecycleState: - stateName: active - manuallyUpdated: true - lastRefresh: 2020-11-22T15:42:31.123Z - created: 2023-01-03T21:16:22.432Z - processingState: ERROR - emailAddress: walter.white@example.com - identityStatus: LOCKED - name: Walter White - modified: 2023-01-03T21:16:22.432Z - alias: walter.white - isManager: true - attributes: - uid: "86754" - firstname: Walter - cloudStatus: UNREGISTERED - displayName: Walter White - identificationNumber: "86754" - lastSyncDate: 1470348809380 - email: walter.white@example.com - lastname: White - id: 01f04e428c484542a241dc89c303b178 - managerRef: - name: Robert Robinson - id: 2c4180a46faadee4016fb4e018c20626 - type: IDENTITY + accessProfileIds: + - 2c918084660f45d6016617daa9210584 + - 2c918084660f45d6016617daa9210500 + emailNotificationOption: + notifyManagers: true + notifySpecificUsers: true + emailAddressList: + - test@test.com + - test2@test.com + notifyAllAdmins: true + created: 2015-05-28T14:07:17Z + name: Lifecycle Name + description: LifecycleDescription + modified: 2015-05-28T14:07:17Z + accountActions: + - action: ENABLE + sourceIds: + - 2c918084660f45d6016617daa9210584 + - 2c918084660f45d6016617daa9210500 + - action: ENABLE + sourceIds: + - 2c918084660f45d6016617daa9210584 + - 2c918084660f45d6016617daa9210500 + id: 2c9180835d2e5168015d32f890ca1581 + identityCount: 12 + technicalName: lifecycleTechnicalName + enabled: true properties: id: - description: System-generated unique ID of the identity - example: 01f04e428c484542a241dc89c303b178 + description: Lifecycle state ID. + example: 2c9180835d2e5168015d32f890ca1581 readOnly: true type: string name: - description: The identity's name is equivalent to its Display Name attribute. - example: Walter White + description: Lifecycle state name. + example: Lifecycle Name + readOnly: true + type: string + technicalName: + description: Lifecycle state technical name. This is for internal use. + example: lifecycleTechnicalName + readOnly: true + type: string + description: + description: Lifecycle state description. + example: LifecycleDescription type: string created: - description: Creation date of the identity - example: 2023-01-03T21:16:22.432Z + description: Lifecycle state created date. + example: 2015-05-28T14:07:17Z format: date-time readOnly: true type: string modified: - description: Last modification date of the identity - example: 2023-01-03T21:16:22.432Z + description: Lifecycle state modified date. + example: 2015-05-28T14:07:17Z format: date-time readOnly: true type: string - alias: - description: The identity's alternate unique identifier is equivalent to - its Account Name on the authoritative source account schema. - example: walter.white - type: string - emailAddress: - description: The email address of the identity - example: walter.white@example.com - nullable: true - type: string - processingState: - description: The processing state of the identity - enum: - - ERROR - - OK - - null - example: ERROR - nullable: true - type: string - identityStatus: - description: The identity's status in the system - enum: - - UNREGISTERED - - REGISTERED - - PENDING - - WARNING - - DISABLED - - ACTIVE - - DEACTIVATED - - TERMINATED - - ERROR - - LOCKED - example: LOCKED - type: string - managerRef: - $ref: '#/components/schemas/Identity_managerRef' - isManager: + enabled: default: false - description: Whether this identity is a manager of another identity + description: Indicates whether the lifecycle state is enabled or disabled. example: true type: boolean - lastRefresh: - description: The last time the identity was refreshed by the system - example: 2020-11-22T15:42:31.123Z - format: date-time - type: string - attributes: - description: A map with the identity attributes for the identity - example: - uid: "86754" - firstname: Walter - cloudStatus: UNREGISTERED - displayName: Walter White - identificationNumber: "86754" - lastSyncDate: 1470348809380 - email: walter.white@example.com - lastname: White - type: object - lifecycleState: - $ref: '#/components/schemas/Identity_lifecycleState' - required: - - name - title: IdentityDto - type: object - IdentityAssociationDetails: - example: - associationDetails: - - entities: - id: b660a232f05b4e04812ca974b3011e0f - name: Gaston.800ddf9640a - type: CAMPAIGN_CAMPAIGNER - associationType: CAMPAIGN_OWNER - - entities: - id: b660a232f05b4e04812ca974b3011e0f - name: Gaston.800ddf9640a - type: CAMPAIGN_CAMPAIGNER - associationType: CAMPAIGN_OWNER - message: Identity cannot be deleted as it is owner of following resources - properties: - message: - description: any additional context information of the http call result - example: Identity cannot be deleted as it is owner of following resources - type: string - associationDetails: - description: list of all the resource associations for the identity + identityCount: + description: Number of identities that have the lifecycle state. + example: 12 + format: int32 + readOnly: true + type: integer + emailNotificationOption: + $ref: '#/components/schemas/EmailNotificationOption' + accountActions: items: - $ref: '#/components/schemas/IdentityAssociationDetails_associationDetails_inner' + $ref: '#/components/schemas/AccountAction' type: array - type: object - InviteIdentitiesRequest: - example: - ids: - - 2b568c65bc3c4c57a43bd97e3a8e55 - - 2c9180867769897d01776ed5f125512f - uninvited: false - properties: - ids: - description: The list of Identities IDs to invite - required when 'uninvited' - is false + accessProfileIds: + description: List of access-profile IDs that are associated with the lifecycle + state. example: - - 2b568c65bc3c4c57a43bd97e3a8e55 - - 2c9180867769897d01776ed5f125512f + - 2c918084660f45d6016617daa9210584 + - 2c918084660f45d6016617daa9210500 items: type: string - nullable: true type: array - uninvited: - default: false - description: indicator (optional) to invite all unregistered identities - in the system within a limit 1000. This parameter makes sense only when - 'ids' is empty. - example: false - type: boolean type: object - TaskStatus: - description: Details and current status of a specific task + MultiHostIntegrations: example: - taskDefinitionSummary: - parentName: Cloud Account Aggregation - uniqueName: Cloud Account Aggregation - executor: sailpoint.task.ServiceTaskExecutor - description: Aggregates from the specified application. - arguments: - key: "" - id: 2c91808475b4334b0175e1dff64b63c5 - created: 2020-07-11T21:23:15Z - description: A Really Big Task - completed: 2020-07-11T21:23:15Z - percentComplete: 100 - type: QUARTZ - launched: 2020-07-11T21:23:15Z - target: - name: "Active Directory [source]" - id: c6dc37bf508149b28ce5b7d90ca4bbf9 - type: APPLICATION - parentName: Parent Task - uniqueName: Big Task - modified: 2020-07-11T21:23:15Z - messages: - - type: INFO - parameters: - - name: value - key: akey - localizedText: - locale: An error has occurred! - message: Error has occurred! - - type: INFO - parameters: - - name: value - key: akey - localizedText: - locale: An error has occurred! - message: Error has occurred! - progress: Started - returns: - - name: label - attributeName: identityCount - - name: label - attributeName: identityCount - attributes: - identityCount: 0 - id: id12345 - completionStatus: SUCCESS - launcher: sweep + cluster: + name: Corporate Cluster + id: 2c9180866166b5b0016167c32ef31a66 + type: CLUSTER + deleteThreshold: 10 + connectorId: multihost-microsoft-sql-server + description: This is a Multi-Host Integration. + type: Multi-Host - Microsoft SQL Server + connectorClass: sailpoint.connector.OpenConnectorAdapter + connectionType: direct + modified: 2024-01-23T18:08:50.897Z + id: 2c91808568c529c60168cca6f90c1324 + connectorImplementationId: multihost-microsoft-sql-server + owner: + name: MyName + id: 2c91808568c529c60168cca6f90c1313 + type: IDENTITY + managementWorkgroup: + name: My Management Workgroup + id: 2c91808568c529c60168cca6f90c2222 + type: GOVERNANCE_GROUP + lastSourceUploadSuccessCount: 50 + authoritative: false + maxSourcesPerAggGroup: 10 + connectorAttributes: + multiHostAttributes: + password: Password + user: Username + connector_files: mssql-jdbc-8.4.1.jre8.jar + authType: SQLAuthentication + connectorFileUploadHistory: + connectorFileNameUploadedDate: 2024-08-29T10:20:38.896479Z + maxAllowedSources: 30 + lastSourceUploadCount: 50 + showEntitlementSchema: true + showAccountSchema: true + multihost_status: ready + created: 2022-02-08T14:50:03.827Z + credentialProviderEnabled: false + connector: multihost-microsoft-sql-server + healthy: true + name: My Multi-Host Integration + connectorName: Multi-Host Microsoft SQL Server + category: CredentialProvider + status: SOURCE_STATE_HEALTHY + since: 2000-01-23T04:56:07.000+00:00 properties: id: - description: System-generated unique ID of the task this TaskStatus represents - example: id12345 - type: string - type: - description: Type of task this TaskStatus represents - enum: - - QUARTZ - - QPOC - - QUEUED_TASK - example: QUARTZ + description: Multi-Host Integration ID. + example: 2c91808568c529c60168cca6f90c1324 + readOnly: true type: string - uniqueName: - description: Name of the task this TaskStatus represents - example: Big Task + name: + description: Multi-Host Integration's human-readable name. + example: My Multi-Host Integration type: string description: - description: Description of the task this TaskStatus represents - example: A Really Big Task + description: Multi-Host Integration's human-readable description. + example: This is a Multi-Host Integration. type: string - parentName: - description: Name of the parent of the task this TaskStatus represents - example: Parent Task - nullable: true + owner: + $ref: '#/components/schemas/MultiHostIntegrations_owner' + cluster: + $ref: '#/components/schemas/MultiHostIntegrations_cluster' + type: + description: "Specifies the type of system being managed e.g. Workday, Multi-Host\ + \ - Microsoft SQL Server, etc.. If you are creating a delimited file source,\ + \ you must set the `provisionasCsv` query parameter to `true`. " + example: Multi-Host - Microsoft SQL Server type: string - launcher: - description: Service to execute the task this TaskStatus represents - example: sweep + connector: + description: Connector script name. + example: multihost-microsoft-sql-server type: string - target: - $ref: '#/components/schemas/Target' - created: - description: Creation date of the task this TaskStatus represents - example: 2020-07-11T21:23:15Z - format: date-time + lastSourceUploadSuccessCount: + description: Last successfully uploaded source count of given Multi-Host + Integration. + example: 50 + format: int32 + type: integer + maxSourcesPerAggGroup: + description: Maximum sources that can contain in a aggregation group of + Multi-Host Integration. + example: 10 + format: int32 + type: integer + connectorClass: + description: Fully qualified name of the Java class that implements the + connector interface. + example: sailpoint.connector.OpenConnectorAdapter type: string - modified: - description: Last modification date of the task this TaskStatus represents - example: 2020-07-11T21:23:15Z - format: date-time + connectorAttributes: + $ref: '#/components/schemas/MultiHostIntegrations_connectorAttributes' + deleteThreshold: + description: Number from 0 to 100 that specifies when to skip the delete + phase. + example: 10 + format: int32 + maximum: 100 + minimum: 0 + type: integer + authoritative: + default: false + description: "When this is true, it indicates that the source is referenced\ + \ by an identity profile." + example: false + type: boolean + managementWorkgroup: + $ref: '#/components/schemas/MultiHostIntegrations_managementWorkgroup' + healthy: + default: false + description: "When this is true, it indicates that the source is healthy." + example: true + type: boolean + status: + description: 'Status identifier that gives specific information about why + a source is or isn''t healthy. ' + enum: + - SOURCE_STATE_ERROR_ACCOUNT_FILE_IMPORT + - SOURCE_STATE_ERROR_CLUSTER + - SOURCE_STATE_ERROR_SOURCE + - SOURCE_STATE_ERROR_VA + - SOURCE_STATE_FAILURE_CLUSTER + - SOURCE_STATE_FAILURE_SOURCE + - SOURCE_STATE_HEALTHY + - SOURCE_STATE_UNCHECKED_CLUSTER + - SOURCE_STATE_UNCHECKED_CLUSTER_NO_SOURCES + - SOURCE_STATE_UNCHECKED_SOURCE + - SOURCE_STATE_UNCHECKED_SOURCE_NO_ACCOUNTS + example: SOURCE_STATE_HEALTHY type: string - launched: - description: Launch date of the task this TaskStatus represents - example: 2020-07-11T21:23:15Z + since: + description: Timestamp that shows when a source health check was last performed. format: date-time - nullable: true type: string - completed: - description: Completion date of the task this TaskStatus represents - example: 2020-07-11T21:23:15Z - format: date-time - nullable: true + connectorId: + description: Connector ID + example: multihost-microsoft-sql-server type: string - completionStatus: - description: Completion status of the task this TaskStatus represents + connectorName: + description: Name of the connector that was chosen during source creation. + example: Multi-Host Microsoft SQL Server + type: string + connectionType: + description: Type of connection (direct or file). enum: - - SUCCESS - - WARNING - - ERROR - - TERMINATED - - TEMPERROR - - null - example: SUCCESS - nullable: true + - direct + - file + example: direct type: string - messages: - description: Messages associated with the task this TaskStatus represents - items: - $ref: '#/components/schemas/TaskStatusMessage' - type: array - returns: - description: Return values from the task this TaskStatus represents - items: - $ref: '#/components/schemas/TaskReturnDetails' - type: array - attributes: - additionalProperties: true - description: Attributes of the task this TaskStatus represents - example: - identityCount: 0 - type: object - progress: - description: Current progress of the task this TaskStatus represents - example: Started - nullable: true + connectorImplementationId: + description: Connector implementation ID. + example: multihost-microsoft-sql-server type: string - percentComplete: - description: Current percentage completion of the task this TaskStatus represents - example: 100 - type: integer - taskDefinitionSummary: - $ref: '#/components/schemas/TaskDefinitionSummary' - required: - - attributes - - completed - - completionStatus - - created - - description - - id - - launched - - launcher - - messages - - modified - - parentName - - percentComplete - - progress - - returns - - type - - uniqueName - type: object - SendAccountVerificationRequest: - example: - sourceName: Active Directory Source - via: EMAIL_WORK - properties: - sourceName: - description: The source name where identity account password should be reset - example: Active Directory Source - nullable: true + created: + description: Date-time when the source was created + example: 2022-02-08T14:50:03.827Z + format: date-time type: string - via: - description: The method to send notification - enum: - - EMAIL_WORK - - EMAIL_PERSONAL - - LINK_WORK - - LINK_PERSONAL - example: EMAIL_WORK + modified: + description: Date-time when the source was last modified. + example: 2024-01-23T18:08:50.897Z + format: date-time + type: string + credentialProviderEnabled: + default: false + description: "If this is true, it enables a credential provider for the\ + \ source. If credentialProvider is turned on, then the source can use\ + \ credential provider(s) to fetch credentials." + example: false + type: boolean + category: + description: "Source category (e.g. null, CredentialProvider)." + example: CredentialProvider + nullable: true type: string required: - - via + - connector + - description + - id + - name + - owner type: object - ProcessIdentitiesRequest: + MultiHostIntegrationsCreate: example: - identityIds: - - ef38f94347e94562b5bb8424a56397d8 - - ef38f94347e94562b5bb8424a56397d8 - - ef38f94347e94562b5bb8424a56397d8 - - ef38f94347e94562b5bb8424a56397d8 - - ef38f94347e94562b5bb8424a56397d8 + owner: + name: MyName + id: 2c91808568c529c60168cca6f90c1313 + type: IDENTITY + managementWorkgroup: + name: My Management Workgroup + id: 2c91808568c529c60168cca6f90c2222 + type: GOVERNANCE_GROUP + cluster: + name: Corporate Cluster + id: 2c9180866166b5b0016167c32ef31a66 + type: CLUSTER + connector: multihost-microsoft-sql-server + connectorAttributes: + maxSourcesPerAggGroup: 10 + maxAllowedSources: 300 + created: 2022-02-08T14:50:03.827Z + name: My Multi-Host Integration + description: This is the Multi-Host Integration. + modified: 2024-01-23T18:08:50.897Z properties: - identityIds: - description: List of up to 250 identity IDs to process. - items: - example: ef38f94347e94562b5bb8424a56397d8 - type: string - maxItems: 250 - minItems: 1 - type: array + name: + description: Multi-Host Integration's human-readable name. + example: My Multi-Host Integration + type: string + description: + description: Multi-Host Integration's human-readable description. + example: This is the Multi-Host Integration. + type: string + owner: + $ref: '#/components/schemas/MultiHostIntegrations_owner' + cluster: + $ref: '#/components/schemas/MultiHostIntegrations_cluster' + connector: + description: Connector script name. + example: multihost-microsoft-sql-server + type: string + connectorAttributes: + additionalProperties: true + description: "Multi-Host Integration specific configuration. User can add\ + \ any number of additional attributes. e.g. maxSourcesPerAggGroup, maxAllowedSources\ + \ etc." + example: + maxSourcesPerAggGroup: 10 + maxAllowedSources: 300 + type: object + managementWorkgroup: + $ref: '#/components/schemas/MultiHostIntegrations_managementWorkgroup' + created: + description: Date-time when the source was created + example: 2022-02-08T14:50:03.827Z + format: date-time + type: string + modified: + description: Date-time when the source was last modified. + example: 2024-01-23T18:08:50.897Z + format: date-time + type: string + required: + - connector + - description + - name + - owner type: object - TaskResultResponse: + MultiHostIntegrationTemplateType: + description: This represents a Multi-Host Integration template type. example: - name: "null" - id: 78733556-9ea3-4f59-bf69-e5cd92b011b4 - type: TASK_RESULT + name: aName + scriptName: aScriptName + type: aType properties: - type: - description: the type of response reference - example: TASK_RESULT + name: + description: This is the name of the type. + example: aName type: string - id: - description: the task ID - example: 78733556-9ea3-4f59-bf69-e5cd92b011b4 + type: + description: This is the type value for the type. + example: aType type: string - name: - description: "the task name (not used in this endpoint, always null)" - example: "null" + scriptName: + description: This is the scriptName attribute value for the type. + example: aScriptName type: string + required: + - scriptName + - type type: object - RoleAssignmentRef: + MultiHostIntegrationsCreateSources: + description: This represents sources to be created of same type. example: - role: - name: Github - id: ff8081814d977c21014da056804a0af3 - id: 1cbb0705b38c4226b1334eadd8874086 + connectorAttributes: + authType: SQLAuthentication + url: jdbc:sqlserver://178.18.41.118:1433 + user: username + driverClass: com.microsoft.sqlserver.jdbc.SQLServerDriver + maxSourcesPerAggGroup: 10 + maxAllowedSources: 300 + name: My Source + description: This is the corporate directory. properties: - id: - description: Assignment Id - example: 1cbb0705b38c4226b1334eadd8874086 + name: + description: Source's human-readable name. + example: My Source type: string - role: - $ref: '#/components/schemas/BaseReferenceDto' + description: + description: Source's human-readable description. + example: This is the corporate directory. + type: string + connectorAttributes: + additionalProperties: true + description: Connector specific configuration. This configuration will differ + from type to type. + example: + authType: SQLAuthentication + url: jdbc:sqlserver://178.18.41.118:1433 + user: username + driverClass: com.microsoft.sqlserver.jdbc.SQLServerDriver + maxSourcesPerAggGroup: 10 + maxAllowedSources: 300 + type: object + required: + - name type: object - RoleAssignmentDto: + MultiHostSources: example: - assignmentContext: - requested: - contextAttributes: - - attribute: location - value: Austin - derived: false - - attribute: location - value: Austin - derived: false - computedDate: Wed Feb 14 10:58:42 - matched: - - matchedAttributes: - - attribute: location - value: Austin - derived: false - - attribute: location - value: Austin - derived: false - roleRef: - name: Github - id: ff8081814d977c21014da056804a0af3 - - matchedAttributes: - - attribute: location - value: Austin - derived: false - - attribute: location - value: Austin - derived: false - roleRef: - name: Github - id: ff8081814d977c21014da056804a0af3 - removeDate: Wed Feb 14 10:58:42 - role: - name: Github - id: ff8081814d977c21014da056804a0af3 - comments: I'm a new Engineer and need this role to do my work - assigner: - name: Github - id: ff8081814d977c21014da056804a0af3 - assignedDimensions: - - id: 1acc8ffe5fcf457090de28bee2af36ee - type: DIMENSION - name: Northeast region - assignmentSource: UI - id: 1cbb0705b38c4226b1334eadd8874086 - accountTargets: - - accountInfo: - displayName: Abby.Smith - uuid: "{ad9fc391-246d-40af-b248-b6556a2b7c01}" - nativeIdentity: "CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com" - roleName: Marketing - source: - name: Github - id: ff8081814d977c21014da056804a0af3 - - accountInfo: - displayName: Abby.Smith - uuid: "{ad9fc391-246d-40af-b248-b6556a2b7c01}" - nativeIdentity: "CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com" - roleName: Marketing - source: - name: Github - id: ff8081814d977c21014da056804a0af3 + cluster: + name: Corporate Cluster + id: 2c9180866166b5b0016167c32ef31a66 + type: CLUSTER + deleteThreshold: 10 + connectorId: multihost-microsoft-sql-server + description: This is the Source. + type: Multi-Host - Microsoft SQL Server + connectorClass: sailpoint.connector.OpenConnectorAdapter + connectionType: file + features: + - PROVISIONING + - NO_PERMISSIONS_PROVISIONING + - GROUPS_HAVE_MEMBERS + passwordPolicies: + - type: PASSWORD_POLICY + id: 2c9180855d191c59015d291ceb053980 + name: Corporate Password Policy + - type: PASSWORD_POLICY + id: 2c9180855d191c59015d291ceb057777 + name: Vendor Password Policy + modified: 2024-01-23T18:08:50.897Z + id: 2c91808568c529c60168cca6f90c1324 + connectorImplementationId: multihost-microsoft-sql-server + managerCorrelationRule: + name: Example Rule + id: 2c918085708c274401708c2a8a760001 + type: RULE + owner: + name: MyName + id: 2c91808568c529c60168cca6f90c1313 + type: IDENTITY + managementWorkgroup: + name: My Management Workgroup + id: 2c91808568c529c60168cca6f90c2222 + type: GOVERNANCE_GROUP + accountCorrelationRule: + name: Example Rule + id: 2c918085708c274401708c2a8a760001 + type: RULE + authoritative: false + connectorAttributes: + healthCheckTimeout: 30 + authSearchAttributes: + - cn + - uid + - mail + created: 2022-02-08T14:50:03.827Z + managerCorrelationMapping: + accountAttributeName: manager + identityAttributeName: manager + credentialProviderEnabled: false + accountCorrelationConfig: + name: "Directory [source-62867] Account Correlation" + id: 2c9180855d191c59015d28583727245a + type: ACCOUNT_CORRELATION_CONFIG + connector: multihost-microsoft-sql-server + healthy: true + schemas: + - type: CONNECTOR_SCHEMA + id: 2c9180835d191a86015d28455b4b232a + name: account + - type: CONNECTOR_SCHEMA + id: 2c9180835d191a86015d28455b4b232b + name: group + name: My Source + connectorName: Multi-Host Microsoft SQL Server + category: CredentialProvider + beforeProvisioningRule: + name: Example Rule + id: 2c918085708c274401708c2a8a760001 + type: RULE + status: SOURCE_STATE_HEALTHY + since: 2000-01-23T04:56:07.000+00:00 properties: id: - description: Assignment Id - example: 1cbb0705b38c4226b1334eadd8874086 + description: Source ID. + example: 2c91808568c529c60168cca6f90c1324 + readOnly: true type: string - role: - $ref: '#/components/schemas/BaseReferenceDto' - comments: - description: Comments added by the user when the assignment was made - example: I'm a new Engineer and need this role to do my work + name: + description: Source's human-readable name. + example: My Source type: string - assignmentSource: - description: Source describing how this assignment was made - example: UI + description: + description: Source's human-readable description. + example: This is the Source. type: string - assigner: - $ref: '#/components/schemas/BaseReferenceDto' - assignedDimensions: - description: Dimensions assigned related to this role + owner: + $ref: '#/components/schemas/MultiHostIntegrations_owner' + cluster: + $ref: '#/components/schemas/MultiHostIntegrations_cluster' + accountCorrelationConfig: + $ref: '#/components/schemas/MultiHostSources_accountCorrelationConfig' + accountCorrelationRule: + $ref: '#/components/schemas/MultiHostSources_accountCorrelationRule' + managerCorrelationMapping: + $ref: '#/components/schemas/ManagerCorrelationMapping' + managerCorrelationRule: + $ref: '#/components/schemas/MultiHostSources_managerCorrelationRule' + beforeProvisioningRule: + $ref: '#/components/schemas/MultiHostSources_beforeProvisioningRule' + schemas: + description: List of references to schema objects. example: - - id: 1acc8ffe5fcf457090de28bee2af36ee - type: DIMENSION - name: Northeast region + - type: CONNECTOR_SCHEMA + id: 2c9180835d191a86015d28455b4b232a + name: account + - type: CONNECTOR_SCHEMA + id: 2c9180835d191a86015d28455b4b232b + name: group items: - $ref: '#/components/schemas/BaseReferenceDto' + $ref: '#/components/schemas/MultiHostSources_schemas_inner' type: array - assignmentContext: - $ref: '#/components/schemas/AssignmentContextDto' - accountTargets: + passwordPolicies: + description: List of references to the associated PasswordPolicy objects. + example: + - type: PASSWORD_POLICY + id: 2c9180855d191c59015d291ceb053980 + name: Corporate Password Policy + - type: PASSWORD_POLICY + id: 2c9180855d191c59015d291ceb057777 + name: Vendor Password Policy items: - $ref: '#/components/schemas/RoleTargetDto' - type: array - removeDate: - description: Date that the assignment will be removed - example: Wed Feb 14 10:58:42 - type: string - type: object - IdentityAttribute: - example: - standard: false - system: false - sources: - - type: rule - properties: - ruleType: IdentityAttribute - ruleName: Cloud Promote Identity Attribute - - type: rule - properties: - ruleType: IdentityAttribute - ruleName: Cloud Promote Identity Attribute - displayName: Cost Center - name: costCenter - type: string - searchable: false - multi: false - properties: - name: - description: Identity attribute's technical name. - example: costCenter - type: string - displayName: - description: Identity attribute's business-friendly name. - example: Cost Center - type: string - standard: - default: false - description: Indicates whether the attribute is 'standard' or 'default'. - example: false - type: boolean - type: - description: Identity attribute's type. - example: string + $ref: '#/components/schemas/MultiHostSources_passwordPolicies_inner' nullable: true - type: string - multi: - default: false - description: Indicates whether the identity attribute is multi-valued. - example: false - type: boolean - searchable: - default: false - description: Indicates whether the identity attribute is searchable. - example: false - type: boolean - system: - default: false - description: "Indicates whether the identity attribute is 'system', meaning\ - \ that it doesn't have a source and isn't configurable." - example: false - type: boolean - sources: - description: Identity attribute's list of sources - this specifies how the - rule's value is derived. - items: - $ref: '#/components/schemas/Source_1' type: array - required: - - name - type: object - IdentityAttributeNames: - description: Identity attribute IDs. - example: - ids: - - name - - displayName - properties: - ids: - description: List of identity attributes' technical names. + features: + description: |- + Optional features that can be supported by a source. Modifying the features array may cause source configuration errors that are unsupportable. It is recommended to not modify this array for SailPoint supported connectors. + * AUTHENTICATE: The source supports pass-through authentication. + * COMPOSITE: The source supports composite source creation. + * DIRECT_PERMISSIONS: The source supports returning DirectPermissions. + * DISCOVER_SCHEMA: The source supports discovering schemas for users and groups. + * ENABLE The source supports reading if an account is enabled or disabled. + * MANAGER_LOOKUP: The source supports looking up managers as they are encountered in a feed. This is the opposite of NO_RANDOM_ACCESS. + * NO_RANDOM_ACCESS: The source does not support random access and the getObject() methods should not be called and expected to perform. + * PROXY: The source can serve as a proxy for another source. When an source has a proxy, all connector calls made with that source are redirected through the connector for the proxy source. + * SEARCH + * TEMPLATE + * UNLOCK: The source supports reading if an account is locked or unlocked. + * UNSTRUCTURED_TARGETS: The source supports returning unstructured Targets. + * SHAREPOINT_TARGET: The source supports returning unstructured Target data for SharePoint. It will be typically used by AD, LDAP sources. + * PROVISIONING: The source can both read and write accounts. Having this feature implies that the provision() method is implemented. It also means that direct and target permissions can also be provisioned if they can be returned by aggregation. + * GROUP_PROVISIONING: The source can both read and write groups. Having this feature implies that the provision() method is implemented. + * SYNC_PROVISIONING: The source can provision accounts synchronously. + * PASSWORD: The source can provision password changes. Since sources can never read passwords, this is should only be used in conjunction with the PROVISIONING feature. + * CURRENT_PASSWORD: Some source types support verification of the current password + * ACCOUNT_ONLY_REQUEST: The source supports requesting accounts without entitlements. + * ADDITIONAL_ACCOUNT_REQUEST: The source supports requesting additional accounts. + * NO_AGGREGATION: A source that does not support aggregation. + * GROUPS_HAVE_MEMBERS: The source models group memberships with a member attribute on the group object rather than a groups attribute on the account object. This effects the implementation of delta account aggregation. + * NO_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for accounts. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for accounts. + * NO_GROUP_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for groups. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for groups. + * NO_UNSTRUCTURED_TARGETS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. + * NO_DIRECT_PERMISSIONS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. + * USES_UUID: Connectivity 2.0 flag used to indicate that the connector supports a compound naming structure. + * PREFER_UUID: Used in ISC Provisioning AND Aggregation to decide if it should prefer account.uuid to account.nativeIdentity when data is read in through aggregation OR pushed out through provisioning. + * ARM_SECURITY_EXTRACT: Indicates the application supports Security extracts for ARM + * ARM_UTILIZATION_EXTRACT: Indicates the application supports Utilization extracts for ARM + * ARM_CHANGELOG_EXTRACT: Indicates the application supports Change-log extracts for ARM example: - - name - - displayName + - PROVISIONING + - NO_PERMISSIONS_PROVISIONING + - GROUPS_HAVE_MEMBERS items: - example: name + enum: + - AUTHENTICATE + - COMPOSITE + - DIRECT_PERMISSIONS + - DISCOVER_SCHEMA + - ENABLE + - MANAGER_LOOKUP + - NO_RANDOM_ACCESS + - PROXY + - SEARCH + - TEMPLATE + - UNLOCK + - UNSTRUCTURED_TARGETS + - SHAREPOINT_TARGET + - PROVISIONING + - GROUP_PROVISIONING + - SYNC_PROVISIONING + - PASSWORD + - CURRENT_PASSWORD + - ACCOUNT_ONLY_REQUEST + - ADDITIONAL_ACCOUNT_REQUEST + - NO_AGGREGATION + - GROUPS_HAVE_MEMBERS + - NO_PERMISSIONS_PROVISIONING + - NO_GROUP_PERMISSIONS_PROVISIONING + - NO_UNSTRUCTURED_TARGETS_PROVISIONING + - NO_DIRECT_PERMISSIONS_PROVISIONING + - PREFER_UUID + - ARM_SECURITY_EXTRACT + - ARM_UTILIZATION_EXTRACT + - ARM_CHANGELOG_EXTRACT + - USES_UUID + example: AUTHENTICATE type: string type: array - type: object - IdentityProfileBulkDelete: - description: List of Identity Profile IDs to delete. - example: - - 2c9180867b2a34e0017b3078d60b0699 - - 2c9180867b2a34e0017b3078d60b0698 - items: - type: string - type: array - TaskResultSimplified: - example: - name: Background Object Terminator c8f030f2-b1a6-4e33-99e8-6935bc18735d - description: "Generic task for terminating data in the overlay, used by the\ - \ TerminationService." - id: ff8081814d977c21014da056804a0af3 - completed: 2000-01-23T04:56:07.000+00:00 - completionStatus: Success - launched: 2000-01-23T04:56:07.000+00:00 - launcher: support - properties: - id: - description: Task identifier - example: ff8081814d977c21014da056804a0af3 + type: + description: "Specifies the type of system being managed e.g. Multi-Host\ + \ - Microsoft SQL Server, Workday, etc.. If you are creating a delimited\ + \ file source, you must set the `provisionasCsv` query parameter to `true`. " + example: Multi-Host - Microsoft SQL Server + type: string + connector: + description: Connector script name. + example: multihost-microsoft-sql-server + type: string + connectorClass: + description: Fully qualified name of the Java class that implements the + connector interface. + example: sailpoint.connector.OpenConnectorAdapter + type: string + connectorAttributes: + additionalProperties: true + description: Connector specific configuration. This configuration will differ + from type to type. + example: + healthCheckTimeout: 30 + authSearchAttributes: + - cn + - uid + - mail + type: object + deleteThreshold: + description: Number from 0 to 100 that specifies when to skip the delete + phase. + example: 10 + format: int32 + maximum: 100 + minimum: 0 + type: integer + authoritative: + default: false + description: "When this is true, it indicates that the source is referenced\ + \ by an identity profile." + example: false + type: boolean + managementWorkgroup: + $ref: '#/components/schemas/MultiHostIntegrations_managementWorkgroup' + healthy: + default: false + description: "When this is true, it indicates that the source is healthy." + example: true + type: boolean + status: + description: 'Status identifier that gives specific information about why + a source is or isn''t healthy. ' + enum: + - SOURCE_STATE_ERROR_ACCOUNT_FILE_IMPORT + - SOURCE_STATE_ERROR_CLUSTER + - SOURCE_STATE_ERROR_SOURCE + - SOURCE_STATE_ERROR_VA + - SOURCE_STATE_FAILURE_CLUSTER + - SOURCE_STATE_FAILURE_SOURCE + - SOURCE_STATE_HEALTHY + - SOURCE_STATE_UNCHECKED_CLUSTER + - SOURCE_STATE_UNCHECKED_CLUSTER_NO_SOURCES + - SOURCE_STATE_UNCHECKED_SOURCE + - SOURCE_STATE_UNCHECKED_SOURCE_NO_ACCOUNTS + example: SOURCE_STATE_HEALTHY type: string - name: - description: Task name - example: Background Object Terminator c8f030f2-b1a6-4e33-99e8-6935bc18735d + since: + description: Timestamp that shows when a source health check was last performed. + format: date-time type: string - description: - description: Task description - example: "Generic task for terminating data in the overlay, used by the\ - \ TerminationService." + connectorId: + description: Connector ID + example: multihost-microsoft-sql-server type: string - launcher: - description: User or process who launched the task - example: support + connectorName: + description: Name of the connector that was chosen during source creation. + example: Multi-Host Microsoft SQL Server type: string - completed: - description: Date time of completion + connectionType: + description: Type of connection (direct or file). + example: file + type: string + connectorImplementationId: + description: Connector implementation ID. + example: multihost-microsoft-sql-server + type: string + created: + description: Date-time when the source was created + example: 2022-02-08T14:50:03.827Z format: date-time type: string - launched: - description: Date time when the task was launched + modified: + description: Date-time when the source was last modified. + example: 2024-01-23T18:08:50.897Z format: date-time type: string - completionStatus: - description: Task result status - enum: - - Success - - Warning - - Error - - Terminated - - TempError - example: Success + credentialProviderEnabled: + default: false + description: "If this is true, it enables a credential provider for the\ + \ source. If credentialProvider is turned on, then the source can use\ + \ credential provider(s) to fetch credentials." + example: false + type: boolean + category: + description: "Source category (e.g. null, CredentialProvider)." + example: CredentialProvider + nullable: true type: string - type: object - IdentityProfileExportedObject: - description: Identity Profile exported object - example: - self: - name: HR Active Directory - id: 2c9180835d191a86015d28455b4b232a - type: SOURCE - version: 1 - object: - owner: - name: William Wilson - id: 2c9180835d191a86015d28455b4b232a - type: IDENTITY - identityExceptionReportReference: - reportName: My annual report - taskResultId: 2b838de9-db9b-abcf-e646-d4f274ad4238 - authoritativeSource: - name: HR Active Directory - id: 2c9180835d191a86015d28455b4b232a - type: SOURCE - hasTimeBasedAttr: true - created: 2015-05-28T14:07:17Z - description: My custom flat file profile - identityRefreshRequired: true - identityCount: 8 - priority: 10 - identityAttributeConfig: - attributeTransforms: - - transformDefinition: - attributes: - attributeName: e-mail - sourceName: MySource - sourceId: 2c9180877a826e68017a8c0b03da1a53 - type: accountAttribute - identityAttributeName: email - - transformDefinition: - attributes: - attributeName: e-mail - sourceName: MySource - sourceId: 2c9180877a826e68017a8c0b03da1a53 - type: accountAttribute - identityAttributeName: email - enabled: true - name: aName - modified: 2015-05-28T14:07:17Z - id: id12345 - properties: - version: - description: Version or object from the target service. - example: 1 - type: integer - self: - $ref: '#/components/schemas/SelfImportExportDto' - object: - $ref: '#/components/schemas/IdentityProfile_1' - type: object - ObjectImportResult: - description: Response model for import of a single object. - example: - warnings: - - details: - details: message details - text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ - \ name: random identity]" - key: UNKNOWN_REFERENCE_RESOLVER - - details: - details: message details - text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ - \ name: random identity]" - key: UNKNOWN_REFERENCE_RESOLVER - importedObjects: - - name: HR Active Directory - id: 2c9180835d191a86015d28455b4b232a - type: SOURCE - - name: HR Active Directory - id: 2c9180835d191a86015d28455b4b232a - type: SOURCE - infos: - - details: - details: message details - text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ - \ name: random identity]" - key: UNKNOWN_REFERENCE_RESOLVER - - details: - details: message details - text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ - \ name: random identity]" - key: UNKNOWN_REFERENCE_RESOLVER - errors: - - details: - details: message details - text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ - \ name: random identity]" - key: UNKNOWN_REFERENCE_RESOLVER - - details: - details: message details - text: "Unable to resolve reference for object [type: IDENTITY, id: 2c91808c746e9c9601747d6507332ecz,\ - \ name: random identity]" - key: UNKNOWN_REFERENCE_RESOLVER - properties: - infos: - description: Informational messages returned from the target service on - import. - items: - $ref: '#/components/schemas/SpConfigMessage' - type: array - warnings: - description: Warning messages returned from the target service on import. - items: - $ref: '#/components/schemas/SpConfigMessage' - type: array - errors: - description: Error messages returned from the target service on import. - items: - $ref: '#/components/schemas/SpConfigMessage' - type: array - importedObjects: - description: References to objects that were created or updated by the import. - items: - $ref: '#/components/schemas/ImportObject' - type: array required: - - errors - - importedObjects - - infos - - warnings - title: Import Object Response Body - type: object - IdentityPreviewRequest: - example: - identityId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - identityAttributeConfig: - attributeTransforms: - - transformDefinition: - attributes: - attributeName: e-mail - sourceName: MySource - sourceId: 2c9180877a826e68017a8c0b03da1a53 - type: accountAttribute - identityAttributeName: email - - transformDefinition: - attributes: - attributeName: e-mail - sourceName: MySource - sourceId: 2c9180877a826e68017a8c0b03da1a53 - type: accountAttribute - identityAttributeName: email - enabled: true - properties: - identityId: - format: uuid - type: string - identityAttributeConfig: - $ref: '#/components/schemas/IdentityAttributeConfig' - type: object - IdentityPreviewResponse: - example: - identity: - name: Robert Robinson - id: 2c4180a46faadee4016fb4e018c20626 - type: IDENTITY - previewAttributes: - - errorMessages: - - localeOrigin: DEFAULT - text: The request was syntactically correct but its content is semantically - invalid. - locale: en-US - - localeOrigin: DEFAULT - text: The request was syntactically correct but its content is semantically - invalid. - locale: en-US - name: email - value: email@mail.com - previousValue: oldEmail@mail.com - - errorMessages: - - localeOrigin: DEFAULT - text: The request was syntactically correct but its content is semantically - invalid. - locale: en-US - - localeOrigin: DEFAULT - text: The request was syntactically correct but its content is semantically - invalid. - locale: en-US - name: email - value: email@mail.com - previousValue: oldEmail@mail.com - properties: - identity: - $ref: '#/components/schemas/IdentityPreviewResponse_identity' - previewAttributes: - items: - $ref: '#/components/schemas/IdentityAttributePreview' - type: array - type: object - IdentityAttributeConfig: - example: - attributeTransforms: - - transformDefinition: - attributes: - attributeName: e-mail - sourceName: MySource - sourceId: 2c9180877a826e68017a8c0b03da1a53 - type: accountAttribute - identityAttributeName: email - - transformDefinition: - attributes: - attributeName: e-mail - sourceName: MySource - sourceId: 2c9180877a826e68017a8c0b03da1a53 - type: accountAttribute - identityAttributeName: email - enabled: true - properties: - enabled: - default: true - description: If the profile or mapping is enabled - example: true - type: boolean - attributeTransforms: - items: - $ref: '#/components/schemas/IdentityAttributeTransform' - type: array + - connector + - connectorName + - id + - name + - owner type: object - LifecycleState: + SourceCreationErrors: example: - accessProfileIds: - - 2c918084660f45d6016617daa9210584 - - 2c918084660f45d6016617daa9210500 - emailNotificationOption: - notifyManagers: true - notifySpecificUsers: true - emailAddressList: - - test@test.com - - test2@test.com - notifyAllAdmins: true - created: 2015-05-28T14:07:17Z - name: Lifecycle Name - description: LifecycleDescription - modified: 2015-05-28T14:07:17Z - accountActions: - - action: ENABLE - sourceIds: - - 2c918084660f45d6016617daa9210584 - - 2c918084660f45d6016617daa9210500 - - action: ENABLE - sourceIds: - - 2c918084660f45d6016617daa9210584 - - 2c918084660f45d6016617daa9210500 - id: 2c9180835d2e5168015d32f890ca1581 - identityCount: 12 - technicalName: lifecycleTechnicalName - enabled: true + multihost_id: 2c91808568c529c60168cca6f90c1324 + created: 2022-02-08T14:50:03.827Z + modified: 2024-01-23T18:08:50.897Z + operation: DELETE + source_name: My Source + source_error: "Source with internal name \"My Source [source]\" already exists." properties: - id: - description: Lifecycle state ID. - example: 2c9180835d2e5168015d32f890ca1581 - readOnly: true - type: string - name: - description: Lifecycle state name. - example: Lifecycle Name + multihost_id: + description: Multi-Host Integration ID. + example: 2c91808568c529c60168cca6f90c1324 readOnly: true type: string - technicalName: - description: Lifecycle state technical name. This is for internal use. - example: lifecycleTechnicalName - readOnly: true + source_name: + description: Source's human-readable name. + example: My Source type: string - description: - description: Lifecycle state description. - example: LifecycleDescription + source_error: + description: Source's human-readable description. + example: "Source with internal name \"My Source [source]\" already exists." type: string created: - description: Lifecycle state created date. - example: 2015-05-28T14:07:17Z + description: Date-time when the source was created + example: 2022-02-08T14:50:03.827Z format: date-time - readOnly: true type: string modified: - description: Lifecycle state modified date. - example: 2015-05-28T14:07:17Z + description: Date-time when the source was last modified. + example: 2024-01-23T18:08:50.897Z format: date-time - readOnly: true type: string - enabled: - default: false - description: Indicates whether the lifecycle state is enabled or disabled. - example: true - type: boolean - identityCount: - description: Number of identities that have the lifecycle state. - example: 12 - format: int32 - readOnly: true - type: integer - emailNotificationOption: - $ref: '#/components/schemas/EmailNotificationOption' - accountActions: - items: - $ref: '#/components/schemas/AccountAction' - type: array - accessProfileIds: - description: List of access-profile IDs that are associated with the lifecycle - state. - example: - - 2c918084660f45d6016617daa9210584 - - 2c918084660f45d6016617daa9210500 - items: - type: string - type: array + operation: + description: operation category (e.g. DELETE). + example: DELETE + nullable: true + type: string type: object + MultiHostIntegrationsAggScheduleUpdate: + allOf: + - description: Multi-Host Integration's aggregation schedule specification. + properties: + multihost_id: + description: Multi-Host Integration ID. The ID must be unique + example: 004091cb79b04636b88662afa50a4456 + type: string + aggregation_grp_id: + description: Multi-Host Integration aggregation group ID + example: 004091cb79b04636b88662afa50a4448 + type: string + aggregation_grp_name: + description: Multi-Host Integration name + example: Multi-Host Integration aggregation group name + type: string + aggregation_cron_schedule: + description: Cron expression to schedule aggregation + example: 0 0 0 * * ? + type: string + enableSchedule: + default: false + description: |- + Boolean value for Multi-Host Integration aggregation schedule. + + This specifies if scheduled aggregation is enabled or disabled. + example: false + type: boolean + source_id_list: + description: Source IDs of the Multi-Host Integration + example: + - 004091cb79b04636b88662afa50a4440 + - 00af6d0d562a49b591c47be908740542 + items: + type: string + type: array + created: + description: Created date of Multi-Host Integration aggregation schedule + example: 2024-01-23T18:08:50.897Z + format: date-time + type: string + modified: + description: Modified date of Multi-Host Integration aggregation schedule + example: 2024-01-23T18:08:50.897Z + format: date-time + type: string + required: + - aggregation_cron_schedule + - aggregation_grp_id + - aggregation_grp_name + - enableSchedule + - multihost_id + - source_id_list + type: object + example: + aggregation_cron_schedule: 0 0 0 * * ? + multihost_id: 004091cb79b04636b88662afa50a4456 + created: 2024-01-23T18:08:50.897Z + modified: 2024-01-23T18:08:50.897Z + aggregation_grp_id: 004091cb79b04636b88662afa50a4448 + aggregation_grp_name: Multi-Host Integration aggregation group name + source_id_list: + - 004091cb79b04636b88662afa50a4440 + - 00af6d0d562a49b591c47be908740542 + enableSchedule: false NonEmployeeRecord: example: sourceId: 2c91808568c529c60168cca6f90c1313 @@ -71992,19 +74225,19 @@ components: example: This is the corporate directory. type: string owner: - $ref: '#/components/schemas/Source_owner' + $ref: '#/components/schemas/MultiHostIntegrations_owner' cluster: - $ref: '#/components/schemas/Source_cluster' + $ref: '#/components/schemas/MultiHostIntegrations_cluster' accountCorrelationConfig: - $ref: '#/components/schemas/Source_accountCorrelationConfig' + $ref: '#/components/schemas/MultiHostSources_accountCorrelationConfig' accountCorrelationRule: - $ref: '#/components/schemas/Source_accountCorrelationRule' + $ref: '#/components/schemas/MultiHostSources_accountCorrelationRule' managerCorrelationMapping: $ref: '#/components/schemas/ManagerCorrelationMapping' managerCorrelationRule: - $ref: '#/components/schemas/Source_managerCorrelationRule' + $ref: '#/components/schemas/MultiHostSources_managerCorrelationRule' beforeProvisioningRule: - $ref: '#/components/schemas/Source_beforeProvisioningRule' + $ref: '#/components/schemas/MultiHostSources_beforeProvisioningRule' schemas: description: List of references to schema objects. example: @@ -72015,7 +74248,7 @@ components: id: 2c9180835d191a86015d28455b4b232b name: group items: - $ref: '#/components/schemas/Source_schemas_inner' + $ref: '#/components/schemas/MultiHostSources_schemas_inner' type: array passwordPolicies: description: List of references to the associated PasswordPolicy objects. @@ -72027,7 +74260,7 @@ components: id: 2c9180855d191c59015d291ceb057777 name: Vendor Password Policy items: - $ref: '#/components/schemas/Source_passwordPolicies_inner' + $ref: '#/components/schemas/MultiHostSources_passwordPolicies_inner' nullable: true type: array features: @@ -72142,7 +74375,7 @@ components: example: false type: boolean managementWorkgroup: - $ref: '#/components/schemas/Source_managementWorkgroup' + $ref: '#/components/schemas/MultiHostIntegrations_managementWorkgroup' healthy: default: false description: "When this is true, it indicates that the source is healthy." @@ -79873,6 +82106,97 @@ components: type: string type: array type: object + ManagerCorrelationMapping: + example: + accountAttributeName: manager + identityAttributeName: manager + nullable: true + properties: + accountAttributeName: + description: Name of the attribute to use for manager correlation. The value + found on the account attribute will be used to lookup the manager's identity. + example: manager + type: string + identityAttributeName: + description: Name of the identity attribute to search when trying to find + a manager using the value from the accountAttribute. + example: manager + type: string + type: object + SourceFeature: + description: |- + Optional features that can be supported by a source. Modifying the features array may cause source configuration errors that are unsupportable. It is recommended to not modify this array for SailPoint supported connectors. + * AUTHENTICATE: The source supports pass-through authentication. + * COMPOSITE: The source supports composite source creation. + * DIRECT_PERMISSIONS: The source supports returning DirectPermissions. + * DISCOVER_SCHEMA: The source supports discovering schemas for users and groups. + * ENABLE The source supports reading if an account is enabled or disabled. + * MANAGER_LOOKUP: The source supports looking up managers as they are encountered in a feed. This is the opposite of NO_RANDOM_ACCESS. + * NO_RANDOM_ACCESS: The source does not support random access and the getObject() methods should not be called and expected to perform. + * PROXY: The source can serve as a proxy for another source. When an source has a proxy, all connector calls made with that source are redirected through the connector for the proxy source. + * SEARCH + * TEMPLATE + * UNLOCK: The source supports reading if an account is locked or unlocked. + * UNSTRUCTURED_TARGETS: The source supports returning unstructured Targets. + * SHAREPOINT_TARGET: The source supports returning unstructured Target data for SharePoint. It will be typically used by AD, LDAP sources. + * PROVISIONING: The source can both read and write accounts. Having this feature implies that the provision() method is implemented. It also means that direct and target permissions can also be provisioned if they can be returned by aggregation. + * GROUP_PROVISIONING: The source can both read and write groups. Having this feature implies that the provision() method is implemented. + * SYNC_PROVISIONING: The source can provision accounts synchronously. + * PASSWORD: The source can provision password changes. Since sources can never read passwords, this is should only be used in conjunction with the PROVISIONING feature. + * CURRENT_PASSWORD: Some source types support verification of the current password + * ACCOUNT_ONLY_REQUEST: The source supports requesting accounts without entitlements. + * ADDITIONAL_ACCOUNT_REQUEST: The source supports requesting additional accounts. + * NO_AGGREGATION: A source that does not support aggregation. + * GROUPS_HAVE_MEMBERS: The source models group memberships with a member attribute on the group object rather than a groups attribute on the account object. This effects the implementation of delta account aggregation. + * NO_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for accounts. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for accounts. + * NO_GROUP_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for groups. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for groups. + * NO_UNSTRUCTURED_TARGETS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. + * NO_DIRECT_PERMISSIONS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. + * USES_UUID: Connectivity 2.0 flag used to indicate that the connector supports a compound naming structure. + * PREFER_UUID: Used in ISC Provisioning AND Aggregation to decide if it should prefer account.uuid to account.nativeIdentity when data is read in through aggregation OR pushed out through provisioning. + * ARM_SECURITY_EXTRACT: Indicates the application supports Security extracts for ARM + * ARM_UTILIZATION_EXTRACT: Indicates the application supports Utilization extracts for ARM + * ARM_CHANGELOG_EXTRACT: Indicates the application supports Change-log extracts for ARM + example: + - PROVISIONING + - NO_PERMISSIONS_PROVISIONING + - GROUPS_HAVE_MEMBERS + items: + enum: + - AUTHENTICATE + - COMPOSITE + - DIRECT_PERMISSIONS + - DISCOVER_SCHEMA + - ENABLE + - MANAGER_LOOKUP + - NO_RANDOM_ACCESS + - PROXY + - SEARCH + - TEMPLATE + - UNLOCK + - UNSTRUCTURED_TARGETS + - SHAREPOINT_TARGET + - PROVISIONING + - GROUP_PROVISIONING + - SYNC_PROVISIONING + - PASSWORD + - CURRENT_PASSWORD + - ACCOUNT_ONLY_REQUEST + - ADDITIONAL_ACCOUNT_REQUEST + - NO_AGGREGATION + - GROUPS_HAVE_MEMBERS + - NO_PERMISSIONS_PROVISIONING + - NO_GROUP_PERMISSIONS_PROVISIONING + - NO_UNSTRUCTURED_TARGETS_PROVISIONING + - NO_DIRECT_PERMISSIONS_PROVISIONING + - PREFER_UUID + - ARM_SECURITY_EXTRACT + - ARM_UTILIZATION_EXTRACT + - ARM_CHANGELOG_EXTRACT + - USES_UUID + example: AUTHENTICATE + type: string + type: array NonEmployeeSourceLite: example: sourceId: 2c91808568c529c60168cca6f90c1313 @@ -81479,97 +83803,6 @@ components: example: null title: Resolver URL Format for Object Configuration. type: object - ManagerCorrelationMapping: - example: - accountAttributeName: manager - identityAttributeName: manager - nullable: true - properties: - accountAttributeName: - description: Name of the attribute to use for manager correlation. The value - found on the account attribute will be used to lookup the manager's identity. - example: manager - type: string - identityAttributeName: - description: Name of the identity attribute to search when trying to find - a manager using the value from the accountAttribute. - example: manager - type: string - type: object - SourceFeature: - description: |- - Optional features that can be supported by a source. Modifying the features array may cause source configuration errors that are unsupportable. It is recommended to not modify this array for SailPoint supported connectors. - * AUTHENTICATE: The source supports pass-through authentication. - * COMPOSITE: The source supports composite source creation. - * DIRECT_PERMISSIONS: The source supports returning DirectPermissions. - * DISCOVER_SCHEMA: The source supports discovering schemas for users and groups. - * ENABLE The source supports reading if an account is enabled or disabled. - * MANAGER_LOOKUP: The source supports looking up managers as they are encountered in a feed. This is the opposite of NO_RANDOM_ACCESS. - * NO_RANDOM_ACCESS: The source does not support random access and the getObject() methods should not be called and expected to perform. - * PROXY: The source can serve as a proxy for another source. When an source has a proxy, all connector calls made with that source are redirected through the connector for the proxy source. - * SEARCH - * TEMPLATE - * UNLOCK: The source supports reading if an account is locked or unlocked. - * UNSTRUCTURED_TARGETS: The source supports returning unstructured Targets. - * SHAREPOINT_TARGET: The source supports returning unstructured Target data for SharePoint. It will be typically used by AD, LDAP sources. - * PROVISIONING: The source can both read and write accounts. Having this feature implies that the provision() method is implemented. It also means that direct and target permissions can also be provisioned if they can be returned by aggregation. - * GROUP_PROVISIONING: The source can both read and write groups. Having this feature implies that the provision() method is implemented. - * SYNC_PROVISIONING: The source can provision accounts synchronously. - * PASSWORD: The source can provision password changes. Since sources can never read passwords, this is should only be used in conjunction with the PROVISIONING feature. - * CURRENT_PASSWORD: Some source types support verification of the current password - * ACCOUNT_ONLY_REQUEST: The source supports requesting accounts without entitlements. - * ADDITIONAL_ACCOUNT_REQUEST: The source supports requesting additional accounts. - * NO_AGGREGATION: A source that does not support aggregation. - * GROUPS_HAVE_MEMBERS: The source models group memberships with a member attribute on the group object rather than a groups attribute on the account object. This effects the implementation of delta account aggregation. - * NO_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for accounts. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for accounts. - * NO_GROUP_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for groups. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for groups. - * NO_UNSTRUCTURED_TARGETS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. - * NO_DIRECT_PERMISSIONS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. - * USES_UUID: Connectivity 2.0 flag used to indicate that the connector supports a compound naming structure. - * PREFER_UUID: Used in ISC Provisioning AND Aggregation to decide if it should prefer account.uuid to account.nativeIdentity when data is read in through aggregation OR pushed out through provisioning. - * ARM_SECURITY_EXTRACT: Indicates the application supports Security extracts for ARM - * ARM_UTILIZATION_EXTRACT: Indicates the application supports Utilization extracts for ARM - * ARM_CHANGELOG_EXTRACT: Indicates the application supports Change-log extracts for ARM - example: - - PROVISIONING - - NO_PERMISSIONS_PROVISIONING - - GROUPS_HAVE_MEMBERS - items: - enum: - - AUTHENTICATE - - COMPOSITE - - DIRECT_PERMISSIONS - - DISCOVER_SCHEMA - - ENABLE - - MANAGER_LOOKUP - - NO_RANDOM_ACCESS - - PROXY - - SEARCH - - TEMPLATE - - UNLOCK - - UNSTRUCTURED_TARGETS - - SHAREPOINT_TARGET - - PROVISIONING - - GROUP_PROVISIONING - - SYNC_PROVISIONING - - PASSWORD - - CURRENT_PASSWORD - - ACCOUNT_ONLY_REQUEST - - ADDITIONAL_ACCOUNT_REQUEST - - NO_AGGREGATION - - GROUPS_HAVE_MEMBERS - - NO_PERMISSIONS_PROVISIONING - - NO_GROUP_PERMISSIONS_PROVISIONING - - NO_UNSTRUCTURED_TARGETS_PROVISIONING - - NO_DIRECT_PERMISSIONS_PROVISIONING - - PREFER_UUID - - ARM_SECURITY_EXTRACT - - ARM_UTILIZATION_EXTRACT - - ARM_CHANGELOG_EXTRACT - - USES_UUID - example: AUTHENTICATE - type: string - type: array AttrSyncSource: description: Target source for attribute synchronization. example: @@ -85931,6 +88164,56 @@ components: anyOf: - $ref: '#/components/schemas/RoleAssignmentRef' - $ref: '#/components/schemas/RoleAssignmentDto' + updateMultiHostSources_request: + description: "A JSONPatch document as defined by [RFC 6902 - JSON Patch](https://tools.ietf.org/html/rfc6902).\ + \ Only `replace` operations are accepted by this endpoint." + properties: + operations: + description: Operations to be applied. + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + type: object + testSourceConnectionMultihost_200_response: + example: + success: true + timing: 0 + testConnectionDetails: testConnectionDetails + message: Tes. + resultType: SOURCE_STATE_HEALTHY + properties: + success: + description: Source's test connection status. + example: true + type: boolean + message: + description: Source's test connection message. + example: Tes. + type: string + timing: + description: Source's test connection timing. + type: integer + resultType: + description: Source's human-readable result type. + enum: + - SOURCE_STATE_ERROR_CLUSTER + - SOURCE_STATE_ERROR_SOURCE + - SOURCE_STATE_ERROR_VA + - SOURCE_STATE_FAILURE_CLUSTER + - SOURCE_STATE_FAILURE_SOURCE + - SOURCE_STATE_HEALTHY + - SOURCE_STATE_UNCHECKED_CLUSTER + - SOURCE_STATE_UNCHECKED_CLUSTER_NO_SOURCES + - SOURCE_STATE_UNCHECKED_SOURCE + - SOURCE_STATE_UNCHECKED_SOURCE_NO_ACCOUNTS + - SOURCE_STATE_ERROR_ACCOUNT_FILE_IMPORT + example: SOURCE_STATE_HEALTHY + type: object + testConnectionDetails: + description: Source's human-readable test connection details. + type: string + example: null + type: object deleteNonEmployeeRecordInBulk_request: properties: ids: @@ -87782,89 +90065,7 @@ components: example: Robert Robinson type: string type: object - OutlierContributingFeature_value: - description: The feature value - example: 0.92 - oneOf: - - format: float - maximum: 1.0 - minimum: 0.0 - type: number - - format: int64 - type: integer - OutlierFeatureSummary_outlierFeatureDisplayValues_inner: - example: - displayName: Aliza Chris - valueType: INTEGER - value: "55" - properties: - displayName: - description: display name - example: Aliza Chris - type: string - value: - description: value - example: "55" - type: string - valueType: - description: The data type of the value field - enum: - - INTEGER - - FLOAT - example: INTEGER - type: string - type: object - RoleMiningSessionResponse_createdBy: - description: The session created by details - oneOf: - - $ref: '#/components/schemas/EntityCreatedByDTO' - - $ref: '#/components/schemas/NullableEntityCreatedByDTO' - RoleMiningPotentialRoleSummary_createdBy: - description: The potential role created by details - oneOf: - - $ref: '#/components/schemas/EntityCreatedByDTO' - - $ref: '#/components/schemas/NullableEntityCreatedByDTO' - SimIntegrationDetails_allOf_attributes: - description: The attributes map containing the credentials used to configure - the integration. - example: "{\"uid\":\"Walter White\",\"firstname\":\"walter\",\"cloudStatus\"\ - :\"UNREGISTERED\",\"displayName\":\"Walter White\",\"identificationNumber\"\ - :\"942\",\"lastSyncDate\":1470348809380,\"email\":\"walter@gmail.com\",\"\ - lastname\":\"white\"}" - nullable: true - type: object - SimIntegrationDetails_allOf_statusMap: - description: Custom mapping between the integration result and the provisioning - result - example: "{closed_cancelled=Failed, closed_complete=Committed, closed_incomplete=Failed,\ - \ closed_rejected=Failed, in_process=Queued, requested=Queued}" - type: object - SimIntegrationDetails_allOf_request: - description: Request data to customize desc and body of the created ticket - example: "{description=SailPoint Access Request,, req_description=The Service\ - \ Request created by SailPoint ServiceNow Service Integration Module (SIM).,,\ - \ req_short_description=SailPoint New Access Request Created from IdentityNow,,\ - \ short_description=SailPoint Access Request $!plan.arguments.identityRequestId}" - type: object - SimIntegrationDetails_allOf_beforeProvisioningRule: - description: Before provisioning rule of integration - example: - name: Example Rule - id: 2c918085708c274401708c2a8a760001 - type: IDENTITY - properties: - type: - $ref: '#/components/schemas/DtoType' - id: - description: ID of the rule - example: 2c918085708c274401708c2a8a760001 - type: string - name: - description: Human-readable display name of the rule - example: Example Rule - type: string - type: object - Source_owner: + MultiHostIntegrations_owner: description: Reference to identity object who owns the source. example: name: MyName @@ -87886,7 +90087,7 @@ components: example: MyName type: string type: object - Source_cluster: + MultiHostIntegrations_cluster: description: Reference to the source's associated cluster. example: name: Corporate Cluster @@ -87913,7 +90114,114 @@ components: - name - type type: object - Source_accountCorrelationConfig: + MultiHostIntegrations_connectorAttributes_connectorFileUploadHistory: + properties: + connectorFileNameUploadedDate: + description: File name of the connector JAR + example: 2024-08-29T10:20:38.896479Z + type: string + type: object + MultiHostIntegrations_connectorAttributes_multiHostAttributes: + description: Attributes of Multi-Host Integration + properties: + password: + description: Password. + example: Password + type: string + connector_files: + description: Connector file. + example: mssql-jdbc-8.4.1.jre8.jar + type: string + authType: + description: Authentication type. + example: SQLAuthentication + type: string + user: + description: Username. + example: My Username + type: string + type: object + MultiHostIntegrations_connectorAttributes: + additionalProperties: + type: string + description: Connector specific configuration. This configuration will differ + for Multi-Host Integration type. + example: + multiHostAttributes: + password: Password + user: Username + connector_files: mssql-jdbc-8.4.1.jre8.jar + authType: SQLAuthentication + connectorFileUploadHistory: + connectorFileNameUploadedDate: 2024-08-29T10:20:38.896479Z + maxAllowedSources: 30 + lastSourceUploadCount: 50 + showEntitlementSchema: true + showAccountSchema: true + multihost_status: ready + properties: + maxAllowedSources: + description: Maximum sources allowed count of a Multi-Host Integration + example: 250 + format: int32 + type: integer + lastSourceUploadCount: + description: Last upload sources count of a Multi-Host Integration + example: 40 + format: int32 + type: integer + connectorFileUploadHistory: + $ref: '#/components/schemas/MultiHostIntegrations_connectorAttributes_connectorFileUploadHistory' + multihost_status: + description: Multi-Host integration status. + enum: + - ready + - processing + - fileUploadInProgress + - sourceCreationInProgress + - aggregationGroupingInProgress + - aggregationScheduleInProgress + - deleteInProgress + - deleteFailed + example: ready + type: string + showAccountSchema: + default: true + description: Show account schema + example: true + type: boolean + showEntitlementSchema: + default: true + description: Show entitlement schema + example: true + type: boolean + multiHostAttributes: + $ref: '#/components/schemas/MultiHostIntegrations_connectorAttributes_multiHostAttributes' + type: object + MultiHostIntegrations_managementWorkgroup: + description: Reference to management workgroup for the source. + example: + name: My Management Workgroup + id: 2c91808568c529c60168cca6f90c2222 + type: GOVERNANCE_GROUP + nullable: true + properties: + type: + description: Type of object being referenced. + enum: + - GOVERNANCE_GROUP + example: GOVERNANCE_GROUP + type: string + id: + description: Management workgroup ID. + example: 2c91808568c529c60168cca6f90c2222 + type: string + name: + description: Management workgroup's human-readable display name. + example: My Management Workgroup + type: string + type: object + MultiHostSources_accountCorrelationConfig: description: Reference to account correlation config object. example: name: "Directory [source-62867] Account Correlation" @@ -87936,7 +90244,7 @@ components: example: "Directory [source-62867] Account Correlation" type: string type: object - Source_accountCorrelationRule: + MultiHostSources_accountCorrelationRule: description: Reference to a rule that can do COMPLEX correlation. Only use this rule when you can't use accountCorrelationConfig. example: @@ -87960,7 +90268,7 @@ components: example: Example Rule type: string type: object - Source_managerCorrelationRule: + MultiHostSources_managerCorrelationRule: description: Reference to the ManagerCorrelationRule. Only use this rule when a simple filter isn't sufficient. example: @@ -87984,7 +90292,7 @@ components: example: Example Rule type: string type: object - Source_beforeProvisioningRule: + MultiHostSources_beforeProvisioningRule: description: 'Rule that runs on the CCG and allows for customization of provisioning plans before the API calls the connector. ' example: @@ -88008,7 +90316,7 @@ components: example: Example Rule type: string type: object - Source_schemas_inner: + MultiHostSources_schemas_inner: properties: type: description: Type of object being referenced. @@ -88025,7 +90333,7 @@ components: example: MySchema type: string type: object - Source_passwordPolicies_inner: + MultiHostSources_passwordPolicies_inner: properties: type: description: Type of object being referenced. @@ -88042,27 +90350,86 @@ components: example: My Password Policy type: string type: object - Source_managementWorkgroup: - description: Reference to management workgroup for the source. + OutlierContributingFeature_value: + description: The feature value + example: 0.92 + oneOf: + - format: float + maximum: 1.0 + minimum: 0.0 + type: number + - format: int64 + type: integer + OutlierFeatureSummary_outlierFeatureDisplayValues_inner: example: - name: My Management Workgroup - id: 2c91808568c529c60168cca6f90c2222 - type: GOVERNANCE_GROUP - nullable: true + displayName: Aliza Chris + valueType: INTEGER + value: "55" properties: - type: - description: Type of object being referenced. + displayName: + description: display name + example: Aliza Chris + type: string + value: + description: value + example: "55" + type: string + valueType: + description: The data type of the value field enum: - - GOVERNANCE_GROUP - example: GOVERNANCE_GROUP + - INTEGER + - FLOAT + example: INTEGER type: string + type: object + RoleMiningSessionResponse_createdBy: + description: The session created by details + oneOf: + - $ref: '#/components/schemas/EntityCreatedByDTO' + - $ref: '#/components/schemas/NullableEntityCreatedByDTO' + RoleMiningPotentialRoleSummary_createdBy: + description: The potential role created by details + oneOf: + - $ref: '#/components/schemas/EntityCreatedByDTO' + - $ref: '#/components/schemas/NullableEntityCreatedByDTO' + SimIntegrationDetails_allOf_attributes: + description: The attributes map containing the credentials used to configure + the integration. + example: "{\"uid\":\"Walter White\",\"firstname\":\"walter\",\"cloudStatus\"\ + :\"UNREGISTERED\",\"displayName\":\"Walter White\",\"identificationNumber\"\ + :\"942\",\"lastSyncDate\":1470348809380,\"email\":\"walter@gmail.com\",\"\ + lastname\":\"white\"}" + nullable: true + type: object + SimIntegrationDetails_allOf_statusMap: + description: Custom mapping between the integration result and the provisioning + result + example: "{closed_cancelled=Failed, closed_complete=Committed, closed_incomplete=Failed,\ + \ closed_rejected=Failed, in_process=Queued, requested=Queued}" + type: object + SimIntegrationDetails_allOf_request: + description: Request data to customize desc and body of the created ticket + example: "{description=SailPoint Access Request,, req_description=The Service\ + \ Request created by SailPoint ServiceNow Service Integration Module (SIM).,,\ + \ req_short_description=SailPoint New Access Request Created from IdentityNow,,\ + \ short_description=SailPoint Access Request $!plan.arguments.identityRequestId}" + type: object + SimIntegrationDetails_allOf_beforeProvisioningRule: + description: Before provisioning rule of integration + example: + name: Example Rule + id: 2c918085708c274401708c2a8a760001 + type: IDENTITY + properties: + type: + $ref: '#/components/schemas/DtoType' id: - description: Management workgroup ID. - example: 2c91808568c529c60168cca6f90c2222 + description: ID of the rule + example: 2c918085708c274401708c2a8a760001 type: string name: - description: Management workgroup's human-readable display name. - example: My Management Workgroup + description: Human-readable display name of the rule + example: Example Rule type: string type: object LoadAccountsTask_task_messages_inner: diff --git a/api_beta/api_multi_host_integration.go b/api_beta/api_multi_host_integration.go new file mode 100644 index 000000000..19c588fa0 --- /dev/null +++ b/api_beta/api_multi_host_integration.go @@ -0,0 +1,2342 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "bytes" + "context" + "io" + "net/http" + "net/url" + "strings" +) + + +// MultiHostIntegrationAPIService MultiHostIntegrationAPI service +type MultiHostIntegrationAPIService service + +type ApiCreateMultiHostIntegrationRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + multiHostIntegrationsCreate *MultiHostIntegrationsCreate +} + +// The specifics of the Multi-Host Integration to create +func (r ApiCreateMultiHostIntegrationRequest) MultiHostIntegrationsCreate(multiHostIntegrationsCreate MultiHostIntegrationsCreate) ApiCreateMultiHostIntegrationRequest { + r.multiHostIntegrationsCreate = &multiHostIntegrationsCreate + return r +} + +func (r ApiCreateMultiHostIntegrationRequest) Execute() (*MultiHostIntegrations, *http.Response, error) { + return r.ApiService.CreateMultiHostIntegrationExecute(r) +} + +/* +CreateMultiHostIntegration Create Multi-Host Integration + +This API is used to create Multi-Host Integration. Multi-host Integration holds similar types of sources. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiCreateMultiHostIntegrationRequest +*/ +func (a *MultiHostIntegrationAPIService) CreateMultiHostIntegration(ctx context.Context) ApiCreateMultiHostIntegrationRequest { + return ApiCreateMultiHostIntegrationRequest{ + ApiService: a, + ctx: ctx, + } +} + +// Execute executes the request +// @return MultiHostIntegrations +func (a *MultiHostIntegrationAPIService) CreateMultiHostIntegrationExecute(r ApiCreateMultiHostIntegrationRequest) (*MultiHostIntegrations, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodPost + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue *MultiHostIntegrations + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.CreateMultiHostIntegration") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + if r.multiHostIntegrationsCreate == nil { + return localVarReturnValue, nil, reportError("multiHostIntegrationsCreate is required and must be specified") + } + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + // body params + localVarPostBody = r.multiHostIntegrationsCreate + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +type ApiCreateSourcesWithinMultiHostRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + id string + multiHostIntegrationsCreateSources *[]MultiHostIntegrationsCreateSources +} + +// The specifics of the sources to create within Multi-Host Integration. +func (r ApiCreateSourcesWithinMultiHostRequest) MultiHostIntegrationsCreateSources(multiHostIntegrationsCreateSources []MultiHostIntegrationsCreateSources) ApiCreateSourcesWithinMultiHostRequest { + r.multiHostIntegrationsCreateSources = &multiHostIntegrationsCreateSources + return r +} + +func (r ApiCreateSourcesWithinMultiHostRequest) Execute() (*http.Response, error) { + return r.ApiService.CreateSourcesWithinMultiHostExecute(r) +} + +/* +CreateSourcesWithinMultiHost Create Sources Within Multi-Host Integration + +This API is used to create sources within Multi-Host Integration. Multi-Host Integration holds similar types of sources. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param id ID of the Multi-Host Integration. + @return ApiCreateSourcesWithinMultiHostRequest +*/ +func (a *MultiHostIntegrationAPIService) CreateSourcesWithinMultiHost(ctx context.Context, id string) ApiCreateSourcesWithinMultiHostRequest { + return ApiCreateSourcesWithinMultiHostRequest{ + ApiService: a, + ctx: ctx, + id: id, + } +} + +// Execute executes the request +func (a *MultiHostIntegrationAPIService) CreateSourcesWithinMultiHostExecute(r ApiCreateSourcesWithinMultiHostRequest) (*http.Response, error) { + var ( + localVarHTTPMethod = http.MethodPost + localVarPostBody interface{} + formFiles []formFile + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.CreateSourcesWithinMultiHost") + if err != nil { + return nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{id}" + localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + if r.multiHostIntegrationsCreateSources == nil { + return nil, reportError("multiHostIntegrationsCreateSources is required and must be specified") + } + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + // body params + localVarPostBody = r.multiHostIntegrationsCreateSources + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarHTTPResponse, newErr + } + + return localVarHTTPResponse, nil +} + +type ApiDeleteMultiHostRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + id string +} + +func (r ApiDeleteMultiHostRequest) Execute() (*http.Response, error) { + return r.ApiService.DeleteMultiHostExecute(r) +} + +/* +DeleteMultiHost Delete Multi-Host Integration + +Delete an existing Multi-Host Integration by ID. + +A token with Org Admin or Multi Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param id ID of Multi-Host Integration to delete. + @return ApiDeleteMultiHostRequest +*/ +func (a *MultiHostIntegrationAPIService) DeleteMultiHost(ctx context.Context, id string) ApiDeleteMultiHostRequest { + return ApiDeleteMultiHostRequest{ + ApiService: a, + ctx: ctx, + id: id, + } +} + +// Execute executes the request +func (a *MultiHostIntegrationAPIService) DeleteMultiHostExecute(r ApiDeleteMultiHostRequest) (*http.Response, error) { + var ( + localVarHTTPMethod = http.MethodDelete + localVarPostBody interface{} + formFiles []formFile + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.DeleteMultiHost") + if err != nil { + return nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{id}" + localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarHTTPResponse, newErr + } + + return localVarHTTPResponse, nil +} + +type ApiGetAcctAggregationGroupsRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + multiHostId string +} + +func (r ApiGetAcctAggregationGroupsRequest) Execute() (*MultiHostIntegrationsAggScheduleUpdate, *http.Response, error) { + return r.ApiService.GetAcctAggregationGroupsExecute(r) +} + +/* +GetAcctAggregationGroups Get Account Aggregation Groups Within Multi-Host Integration ID + +This API will return array of account aggregation groups within provided Multi-Host Integration ID. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param multiHostId ID of the Multi-Host Integration to update + @return ApiGetAcctAggregationGroupsRequest +*/ +func (a *MultiHostIntegrationAPIService) GetAcctAggregationGroups(ctx context.Context, multiHostId string) ApiGetAcctAggregationGroupsRequest { + return ApiGetAcctAggregationGroupsRequest{ + ApiService: a, + ctx: ctx, + multiHostId: multiHostId, + } +} + +// Execute executes the request +// @return MultiHostIntegrationsAggScheduleUpdate +func (a *MultiHostIntegrationAPIService) GetAcctAggregationGroupsExecute(r ApiGetAcctAggregationGroupsRequest) (*MultiHostIntegrationsAggScheduleUpdate, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue *MultiHostIntegrationsAggScheduleUpdate + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.GetAcctAggregationGroups") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{multihostId}/acctAggregationGroups" + localVarPath = strings.Replace(localVarPath, "{"+"multiHostId"+"}", url.PathEscape(parameterValueToString(r.multiHostId, "multiHostId")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +type ApiGetEntitlementAggregationGroupsRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + multiHostId string +} + +func (r ApiGetEntitlementAggregationGroupsRequest) Execute() (*MultiHostIntegrationsAggScheduleUpdate, *http.Response, error) { + return r.ApiService.GetEntitlementAggregationGroupsExecute(r) +} + +/* +GetEntitlementAggregationGroups Get Entitlement Aggregation Groups Within Multi-Host Integration ID + +This API will return array of aggregation groups within provided Multi-Host Integration ID. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param multiHostId ID of the Multi-Host Integration to update + @return ApiGetEntitlementAggregationGroupsRequest +*/ +func (a *MultiHostIntegrationAPIService) GetEntitlementAggregationGroups(ctx context.Context, multiHostId string) ApiGetEntitlementAggregationGroupsRequest { + return ApiGetEntitlementAggregationGroupsRequest{ + ApiService: a, + ctx: ctx, + multiHostId: multiHostId, + } +} + +// Execute executes the request +// @return MultiHostIntegrationsAggScheduleUpdate +func (a *MultiHostIntegrationAPIService) GetEntitlementAggregationGroupsExecute(r ApiGetEntitlementAggregationGroupsRequest) (*MultiHostIntegrationsAggScheduleUpdate, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue *MultiHostIntegrationsAggScheduleUpdate + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.GetEntitlementAggregationGroups") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{multiHostId}/entitlementAggregationGroups" + localVarPath = strings.Replace(localVarPath, "{"+"multiHostId"+"}", url.PathEscape(parameterValueToString(r.multiHostId, "multiHostId")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +type ApiGetMultiHostIntegrationsRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + id string +} + +func (r ApiGetMultiHostIntegrationsRequest) Execute() (*MultiHostIntegrations, *http.Response, error) { + return r.ApiService.GetMultiHostIntegrationsExecute(r) +} + +/* +GetMultiHostIntegrations Get Multi-Host Integration By ID + +Get an existing Multi-Host Integration. + +A token with Org Admin or Multi-Host Integration Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param id ID of the Multi-Host Integration. + @return ApiGetMultiHostIntegrationsRequest +*/ +func (a *MultiHostIntegrationAPIService) GetMultiHostIntegrations(ctx context.Context, id string) ApiGetMultiHostIntegrationsRequest { + return ApiGetMultiHostIntegrationsRequest{ + ApiService: a, + ctx: ctx, + id: id, + } +} + +// Execute executes the request +// @return MultiHostIntegrations +func (a *MultiHostIntegrationAPIService) GetMultiHostIntegrationsExecute(r ApiGetMultiHostIntegrationsRequest) (*MultiHostIntegrations, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue *MultiHostIntegrations + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.GetMultiHostIntegrations") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{id}" + localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +type ApiGetMultiHostIntegrationsListRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + offset *int32 + limit *int32 + sorters *string + filters *string + count *bool + forSubadmin *string +} + +// Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. +func (r ApiGetMultiHostIntegrationsListRequest) Offset(offset int32) ApiGetMultiHostIntegrationsListRequest { + r.offset = &offset + return r +} + +// Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. +func (r ApiGetMultiHostIntegrationsListRequest) Limit(limit int32) ApiGetMultiHostIntegrationsListRequest { + r.limit = &limit + return r +} + +// Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name** +func (r ApiGetMultiHostIntegrationsListRequest) Sorters(sorters string) ApiGetMultiHostIntegrationsListRequest { + r.sorters = &sorters + return r +} + +// Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **type**: *in* **forSubAdminId**: *in* +func (r ApiGetMultiHostIntegrationsListRequest) Filters(filters string) ApiGetMultiHostIntegrationsListRequest { + r.filters = &filters + return r +} + +// If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. +func (r ApiGetMultiHostIntegrationsListRequest) Count(count bool) ApiGetMultiHostIntegrationsListRequest { + r.count = &count + return r +} + +// If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity or SOURCE_SUBADMIN identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. +func (r ApiGetMultiHostIntegrationsListRequest) ForSubadmin(forSubadmin string) ApiGetMultiHostIntegrationsListRequest { + r.forSubadmin = &forSubadmin + return r +} + +func (r ApiGetMultiHostIntegrationsListRequest) Execute() ([]MultiHostIntegrations, *http.Response, error) { + return r.ApiService.GetMultiHostIntegrationsListExecute(r) +} + +/* +GetMultiHostIntegrationsList List All Existing Multi-Host Integrations + +Get a list of Multi-Host Integrations. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiGetMultiHostIntegrationsListRequest +*/ +func (a *MultiHostIntegrationAPIService) GetMultiHostIntegrationsList(ctx context.Context) ApiGetMultiHostIntegrationsListRequest { + return ApiGetMultiHostIntegrationsListRequest{ + ApiService: a, + ctx: ctx, + } +} + +// Execute executes the request +// @return []MultiHostIntegrations +func (a *MultiHostIntegrationAPIService) GetMultiHostIntegrationsListExecute(r ApiGetMultiHostIntegrationsListRequest) ([]MultiHostIntegrations, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue []MultiHostIntegrations + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.GetMultiHostIntegrationsList") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if r.offset != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "offset", r.offset, "", "") + } else { + var defaultValue int32 = 0 + r.offset = &defaultValue + } + if r.limit != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "", "") + } else { + var defaultValue int32 = 250 + r.limit = &defaultValue + } + if r.sorters != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "sorters", r.sorters, "form", "") + } + if r.filters != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "filters", r.filters, "form", "") + } + if r.count != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "count", r.count, "", "") + } else { + var defaultValue bool = false + r.count = &defaultValue + } + if r.forSubadmin != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "for-subadmin", r.forSubadmin, "", "") + } + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +type ApiGetMultihostIntegrationTypesRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService +} + +func (r ApiGetMultihostIntegrationTypesRequest) Execute() ([]MultiHostIntegrationTemplateType, *http.Response, error) { + return r.ApiService.GetMultihostIntegrationTypesExecute(r) +} + +/* +GetMultihostIntegrationTypes List Multi-Host Integration Types + +This API endpoint returns the current list of supported Multi-Host Integration types. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiGetMultihostIntegrationTypesRequest +*/ +func (a *MultiHostIntegrationAPIService) GetMultihostIntegrationTypes(ctx context.Context) ApiGetMultihostIntegrationTypesRequest { + return ApiGetMultihostIntegrationTypesRequest{ + ApiService: a, + ctx: ctx, + } +} + +// Execute executes the request +// @return []MultiHostIntegrationTemplateType +func (a *MultiHostIntegrationAPIService) GetMultihostIntegrationTypesExecute(r ApiGetMultihostIntegrationTypesRequest) ([]MultiHostIntegrationTemplateType, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue []MultiHostIntegrationTemplateType + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.GetMultihostIntegrationTypes") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/types" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +type ApiGetSourcesWithinMultiHostRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + offset *int32 + limit *int32 + sorters *string + filters *string + count *bool +} + +// Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. +func (r ApiGetSourcesWithinMultiHostRequest) Offset(offset int32) ApiGetSourcesWithinMultiHostRequest { + r.offset = &offset + return r +} + +// Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. +func (r ApiGetSourcesWithinMultiHostRequest) Limit(limit int32) ApiGetSourcesWithinMultiHostRequest { + r.limit = &limit + return r +} + +// Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name** +func (r ApiGetSourcesWithinMultiHostRequest) Sorters(sorters string) ApiGetSourcesWithinMultiHostRequest { + r.sorters = &sorters + return r +} + +// Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *in* +func (r ApiGetSourcesWithinMultiHostRequest) Filters(filters string) ApiGetSourcesWithinMultiHostRequest { + r.filters = &filters + return r +} + +// If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. +func (r ApiGetSourcesWithinMultiHostRequest) Count(count bool) ApiGetSourcesWithinMultiHostRequest { + r.count = &count + return r +} + +func (r ApiGetSourcesWithinMultiHostRequest) Execute() ([]MultiHostSources, *http.Response, error) { + return r.ApiService.GetSourcesWithinMultiHostExecute(r) +} + +/* +GetSourcesWithinMultiHost List Sources Within Multi-Host Integration + +Get a list of sources within Multi-Host Integration ID. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiGetSourcesWithinMultiHostRequest +*/ +func (a *MultiHostIntegrationAPIService) GetSourcesWithinMultiHost(ctx context.Context) ApiGetSourcesWithinMultiHostRequest { + return ApiGetSourcesWithinMultiHostRequest{ + ApiService: a, + ctx: ctx, + } +} + +// Execute executes the request +// @return []MultiHostSources +func (a *MultiHostIntegrationAPIService) GetSourcesWithinMultiHostExecute(r ApiGetSourcesWithinMultiHostRequest) ([]MultiHostSources, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue []MultiHostSources + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.GetSourcesWithinMultiHost") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{id}/sources" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if r.offset != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "offset", r.offset, "", "") + } else { + var defaultValue int32 = 0 + r.offset = &defaultValue + } + if r.limit != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "", "") + } else { + var defaultValue int32 = 250 + r.limit = &defaultValue + } + if r.sorters != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "sorters", r.sorters, "form", "") + } + if r.filters != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "filters", r.filters, "form", "") + } + if r.count != nil { + parameterAddToHeaderOrQuery(localVarQueryParams, "count", r.count, "", "") + } else { + var defaultValue bool = false + r.count = &defaultValue + } + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +type ApiGetSourcesWithinMultiHost_0Request struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + multiHostId string +} + +func (r ApiGetSourcesWithinMultiHost_0Request) Execute() ([]SourceCreationErrors, *http.Response, error) { + return r.ApiService.GetSourcesWithinMultiHost_1Execute(r) +} + +/* +GetSourcesWithinMultiHost_0 List Multi-Host Integration Sources Creation Errors + +Get a list of sources creation errors within Multi-Host Integration ID. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param multiHostId ID of the Multi-Host Integration + @return ApiGetSourcesWithinMultiHost_0Request +*/ +func (a *MultiHostIntegrationAPIService) GetSourcesWithinMultiHost_1(ctx context.Context, multiHostId string) ApiGetSourcesWithinMultiHost_0Request { + return ApiGetSourcesWithinMultiHost_0Request{ + ApiService: a, + ctx: ctx, + multiHostId: multiHostId, + } +} + +// Execute executes the request +// @return []SourceCreationErrors +func (a *MultiHostIntegrationAPIService) GetSourcesWithinMultiHost_1Execute(r ApiGetSourcesWithinMultiHost_0Request) ([]SourceCreationErrors, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue []SourceCreationErrors + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.GetSourcesWithinMultiHost_1") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{multiHostId}/sources/errors" + localVarPath = strings.Replace(localVarPath, "{"+"multiHostId"+"}", url.PathEscape(parameterValueToString(r.multiHostId, "multiHostId")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +type ApiTestConnectionMultiHostSourcesRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + multihostId string +} + +func (r ApiTestConnectionMultiHostSourcesRequest) Execute() (*http.Response, error) { + return r.ApiService.TestConnectionMultiHostSourcesExecute(r) +} + +/* +TestConnectionMultiHostSources Test Configuration For Multi-Host Integration + +This endpoint performs a more detailed validation of the Multi-Host Integration's configuration. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param multihostId ID of the Multi-Host Integration + @return ApiTestConnectionMultiHostSourcesRequest +*/ +func (a *MultiHostIntegrationAPIService) TestConnectionMultiHostSources(ctx context.Context, multihostId string) ApiTestConnectionMultiHostSourcesRequest { + return ApiTestConnectionMultiHostSourcesRequest{ + ApiService: a, + ctx: ctx, + multihostId: multihostId, + } +} + +// Execute executes the request +func (a *MultiHostIntegrationAPIService) TestConnectionMultiHostSourcesExecute(r ApiTestConnectionMultiHostSourcesRequest) (*http.Response, error) { + var ( + localVarHTTPMethod = http.MethodPost + localVarPostBody interface{} + formFiles []formFile + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.TestConnectionMultiHostSources") + if err != nil { + return nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{multihost_id}/sources/testConnection" + localVarPath = strings.Replace(localVarPath, "{"+"multihost_id"+"}", url.PathEscape(parameterValueToString(r.multihostId, "multihostId")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarHTTPResponse, newErr + } + + return localVarHTTPResponse, nil +} + +type ApiTestSourceConnectionMultihostRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + multihostId string + sourceId string +} + +func (r ApiTestSourceConnectionMultihostRequest) Execute() (*TestSourceConnectionMultihost200Response, *http.Response, error) { + return r.ApiService.TestSourceConnectionMultihostExecute(r) +} + +/* +TestSourceConnectionMultihost Test Configuration For Multi-Host Integration's Single Source + +This endpoint performs a more detailed validation of the source's configuration. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param multihostId ID of the Multi-Host Integration + @param sourceId ID of the source within the Multi-Host Integration + @return ApiTestSourceConnectionMultihostRequest +*/ +func (a *MultiHostIntegrationAPIService) TestSourceConnectionMultihost(ctx context.Context, multihostId string, sourceId string) ApiTestSourceConnectionMultihostRequest { + return ApiTestSourceConnectionMultihostRequest{ + ApiService: a, + ctx: ctx, + multihostId: multihostId, + sourceId: sourceId, + } +} + +// Execute executes the request +// @return TestSourceConnectionMultihost200Response +func (a *MultiHostIntegrationAPIService) TestSourceConnectionMultihostExecute(r ApiTestSourceConnectionMultihostRequest) (*TestSourceConnectionMultihost200Response, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue *TestSourceConnectionMultihost200Response + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.TestSourceConnectionMultihost") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{multihost_id}/sources/{sourceId}/testConnection" + localVarPath = strings.Replace(localVarPath, "{"+"multihost_id"+"}", url.PathEscape(parameterValueToString(r.multihostId, "multihostId")), -1) + localVarPath = strings.Replace(localVarPath, "{"+"sourceId"+"}", url.PathEscape(parameterValueToString(r.sourceId, "sourceId")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarReturnValue, localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + +type ApiUpdateMultiHostSourcesRequest struct { + ctx context.Context + ApiService *MultiHostIntegrationAPIService + multihostId string + updateMultiHostSourcesRequest *UpdateMultiHostSourcesRequest +} + +// A list of Multi-Host Integration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Only `replace` operations are accepted by this endpoint. A 403 Forbidden Error indicates that you attempted to PATCH a operation that is not allowed. +func (r ApiUpdateMultiHostSourcesRequest) UpdateMultiHostSourcesRequest(updateMultiHostSourcesRequest UpdateMultiHostSourcesRequest) ApiUpdateMultiHostSourcesRequest { + r.updateMultiHostSourcesRequest = &updateMultiHostSourcesRequest + return r +} + +func (r ApiUpdateMultiHostSourcesRequest) Execute() (*http.Response, error) { + return r.ApiService.UpdateMultiHostSourcesExecute(r) +} + +/* +UpdateMultiHostSources Update Multi-Host Integration + +Update existing sources within Multi-Host Integration. + +A token with Org Admin or Multi-Host Admin authority is required to access this endpoint. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param multihostId ID of the Multi-Host Integration to update. + @return ApiUpdateMultiHostSourcesRequest +*/ +func (a *MultiHostIntegrationAPIService) UpdateMultiHostSources(ctx context.Context, multihostId string) ApiUpdateMultiHostSourcesRequest { + return ApiUpdateMultiHostSourcesRequest{ + ApiService: a, + ctx: ctx, + multihostId: multihostId, + } +} + +// Execute executes the request +func (a *MultiHostIntegrationAPIService) UpdateMultiHostSourcesExecute(r ApiUpdateMultiHostSourcesRequest) (*http.Response, error) { + var ( + localVarHTTPMethod = http.MethodPatch + localVarPostBody interface{} + formFiles []formFile + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MultiHostIntegrationAPIService.UpdateMultiHostSources") + if err != nil { + return nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/multihosts/{id}" + localVarPath = strings.Replace(localVarPath, "{"+"multihost_id"+"}", url.PathEscape(parameterValueToString(r.multihostId, "multihostId")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + if r.updateMultiHostSourcesRequest == nil { + return nil, reportError("updateMultiHostSourcesRequest is required and must be specified") + } + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{"application/json-patch+json"} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + // body params + localVarPostBody = r.updateMultiHostSourcesRequest + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v ListAccessModelMetadataAttribute401Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 429 { + var v ListAccessModelMetadataAttribute429Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + return localVarHTTPResponse, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v ErrorResponseDto + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarHTTPResponse, newErr + } + + return localVarHTTPResponse, nil +} diff --git a/api_beta/client.go b/api_beta/client.go index 60dfdab8e..70f1277c4 100644 --- a/api_beta/client.go +++ b/api_beta/client.go @@ -128,6 +128,8 @@ type APIClient struct { ManagedClustersAPI *ManagedClustersAPIService + MultiHostIntegrationAPI *MultiHostIntegrationAPIService + NonEmployeeLifecycleManagementAPI *NonEmployeeLifecycleManagementAPIService NotificationsAPI *NotificationsAPIService @@ -251,6 +253,7 @@ func NewAPIClient(cfg *Configuration) *APIClient { c.MFAControllerAPI = (*MFAControllerAPIService)(&c.common) c.ManagedClientsAPI = (*ManagedClientsAPIService)(&c.common) c.ManagedClustersAPI = (*ManagedClustersAPIService)(&c.common) + c.MultiHostIntegrationAPI = (*MultiHostIntegrationAPIService)(&c.common) c.NonEmployeeLifecycleManagementAPI = (*NonEmployeeLifecycleManagementAPIService)(&c.common) c.NotificationsAPI = (*NotificationsAPIService)(&c.common) c.OAuthClientsAPI = (*OAuthClientsAPIService)(&c.common) diff --git a/api_beta/docs/MultiHostIntegrationAPI.md b/api_beta/docs/MultiHostIntegrationAPI.md new file mode 100644 index 000000000..d093628ab --- /dev/null +++ b/api_beta/docs/MultiHostIntegrationAPI.md @@ -0,0 +1,927 @@ +# \MultiHostIntegrationAPI + +All URIs are relative to *https://sailpoint.api.identitynow.com/beta* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**CreateMultiHostIntegration**](MultiHostIntegrationAPI.md#CreateMultiHostIntegration) | **Post** /multihosts | Create Multi-Host Integration +[**CreateSourcesWithinMultiHost**](MultiHostIntegrationAPI.md#CreateSourcesWithinMultiHost) | **Post** /multihosts/{id} | Create Sources Within Multi-Host Integration +[**DeleteMultiHost**](MultiHostIntegrationAPI.md#DeleteMultiHost) | **Delete** /multihosts/{id} | Delete Multi-Host Integration +[**GetAcctAggregationGroups**](MultiHostIntegrationAPI.md#GetAcctAggregationGroups) | **Get** /multihosts/{multihostId}/acctAggregationGroups | Get Account Aggregation Groups Within Multi-Host Integration ID +[**GetEntitlementAggregationGroups**](MultiHostIntegrationAPI.md#GetEntitlementAggregationGroups) | **Get** /multihosts/{multiHostId}/entitlementAggregationGroups | Get Entitlement Aggregation Groups Within Multi-Host Integration ID +[**GetMultiHostIntegrations**](MultiHostIntegrationAPI.md#GetMultiHostIntegrations) | **Get** /multihosts/{id} | Get Multi-Host Integration By ID +[**GetMultiHostIntegrationsList**](MultiHostIntegrationAPI.md#GetMultiHostIntegrationsList) | **Get** /multihosts | List All Existing Multi-Host Integrations +[**GetMultihostIntegrationTypes**](MultiHostIntegrationAPI.md#GetMultihostIntegrationTypes) | **Get** /multihosts/types | List Multi-Host Integration Types +[**GetSourcesWithinMultiHost**](MultiHostIntegrationAPI.md#GetSourcesWithinMultiHost) | **Get** /multihosts/{id}/sources | List Sources Within Multi-Host Integration +[**GetSourcesWithinMultiHost_0**](MultiHostIntegrationAPI.md#GetSourcesWithinMultiHost_0) | **Get** /multihosts/{multiHostId}/sources/errors | List Multi-Host Integration Sources Creation Errors +[**TestConnectionMultiHostSources**](MultiHostIntegrationAPI.md#TestConnectionMultiHostSources) | **Post** /multihosts/{multihost_id}/sources/testConnection | Test Configuration For Multi-Host Integration +[**TestSourceConnectionMultihost**](MultiHostIntegrationAPI.md#TestSourceConnectionMultihost) | **Get** /multihosts/{multihost_id}/sources/{sourceId}/testConnection | Test Configuration For Multi-Host Integration's Single Source +[**UpdateMultiHostSources**](MultiHostIntegrationAPI.md#UpdateMultiHostSources) | **Patch** /multihosts/{id} | Update Multi-Host Integration + + + +## CreateMultiHostIntegration + +> MultiHostIntegrations CreateMultiHostIntegration(ctx).MultiHostIntegrationsCreate(multiHostIntegrationsCreate).Execute() + +Create Multi-Host Integration + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + multiHostIntegrationsCreate := *openapiclient.NewMultiHostIntegrationsCreate("My Multi-Host Integration", "This is the Multi-Host Integration.", *openapiclient.NewMultiHostIntegrationsOwner(), "multihost-microsoft-sql-server") // MultiHostIntegrationsCreate | The specifics of the Multi-Host Integration to create + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MultiHostIntegrationAPI.CreateMultiHostIntegration(context.Background()).MultiHostIntegrationsCreate(multiHostIntegrationsCreate).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.CreateMultiHostIntegration``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `CreateMultiHostIntegration`: MultiHostIntegrations + fmt.Fprintf(os.Stdout, "Response from `MultiHostIntegrationAPI.CreateMultiHostIntegration`: %v\n", resp) +} +``` + +### Path Parameters + + + +### Other Parameters + +Other parameters are passed through a pointer to a apiCreateMultiHostIntegrationRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **multiHostIntegrationsCreate** | [**MultiHostIntegrationsCreate**](MultiHostIntegrationsCreate.md) | The specifics of the Multi-Host Integration to create | + +### Return type + +[**MultiHostIntegrations**](MultiHostIntegrations.md) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## CreateSourcesWithinMultiHost + +> CreateSourcesWithinMultiHost(ctx, id).MultiHostIntegrationsCreateSources(multiHostIntegrationsCreateSources).Execute() + +Create Sources Within Multi-Host Integration + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + id := "2c91808568c529c60168cca6f90c1326" // string | ID of the Multi-Host Integration. + multiHostIntegrationsCreateSources := []openapiclient.MultiHostIntegrationsCreateSources{*openapiclient.NewMultiHostIntegrationsCreateSources("My Source")} // []MultiHostIntegrationsCreateSources | The specifics of the sources to create within Multi-Host Integration. + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + r, err := apiClient.MultiHostIntegrationAPI.CreateSourcesWithinMultiHost(context.Background(), id).MultiHostIntegrationsCreateSources(multiHostIntegrationsCreateSources).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.CreateSourcesWithinMultiHost``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**id** | **string** | ID of the Multi-Host Integration. | + +### Other Parameters + +Other parameters are passed through a pointer to a apiCreateSourcesWithinMultiHostRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + **multiHostIntegrationsCreateSources** | [**[]MultiHostIntegrationsCreateSources**](MultiHostIntegrationsCreateSources.md) | The specifics of the sources to create within Multi-Host Integration. | + +### Return type + + (empty response body) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## DeleteMultiHost + +> DeleteMultiHost(ctx, id).Execute() + +Delete Multi-Host Integration + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + id := "2c91808568c529c60168cca6f90c1326" // string | ID of Multi-Host Integration to delete. + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + r, err := apiClient.MultiHostIntegrationAPI.DeleteMultiHost(context.Background(), id).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.DeleteMultiHost``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**id** | **string** | ID of Multi-Host Integration to delete. | + +### Other Parameters + +Other parameters are passed through a pointer to a apiDeleteMultiHostRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + +### Return type + + (empty response body) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## GetAcctAggregationGroups + +> MultiHostIntegrationsAggScheduleUpdate GetAcctAggregationGroups(ctx, multiHostId).Execute() + +Get Account Aggregation Groups Within Multi-Host Integration ID + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + multiHostId := "aMultiHostId" // string | ID of the Multi-Host Integration to update + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MultiHostIntegrationAPI.GetAcctAggregationGroups(context.Background(), multiHostId).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.GetAcctAggregationGroups``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `GetAcctAggregationGroups`: MultiHostIntegrationsAggScheduleUpdate + fmt.Fprintf(os.Stdout, "Response from `MultiHostIntegrationAPI.GetAcctAggregationGroups`: %v\n", resp) +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**multiHostId** | **string** | ID of the Multi-Host Integration to update | + +### Other Parameters + +Other parameters are passed through a pointer to a apiGetAcctAggregationGroupsRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + +### Return type + +[**MultiHostIntegrationsAggScheduleUpdate**](MultiHostIntegrationsAggScheduleUpdate.md) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## GetEntitlementAggregationGroups + +> MultiHostIntegrationsAggScheduleUpdate GetEntitlementAggregationGroups(ctx, multiHostId).Execute() + +Get Entitlement Aggregation Groups Within Multi-Host Integration ID + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + multiHostId := "aMultiHostId" // string | ID of the Multi-Host Integration to update + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MultiHostIntegrationAPI.GetEntitlementAggregationGroups(context.Background(), multiHostId).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.GetEntitlementAggregationGroups``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `GetEntitlementAggregationGroups`: MultiHostIntegrationsAggScheduleUpdate + fmt.Fprintf(os.Stdout, "Response from `MultiHostIntegrationAPI.GetEntitlementAggregationGroups`: %v\n", resp) +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**multiHostId** | **string** | ID of the Multi-Host Integration to update | + +### Other Parameters + +Other parameters are passed through a pointer to a apiGetEntitlementAggregationGroupsRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + +### Return type + +[**MultiHostIntegrationsAggScheduleUpdate**](MultiHostIntegrationsAggScheduleUpdate.md) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## GetMultiHostIntegrations + +> MultiHostIntegrations GetMultiHostIntegrations(ctx, id).Execute() + +Get Multi-Host Integration By ID + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + id := "2c91808568c529c60168cca6f90c1326" // string | ID of the Multi-Host Integration. + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MultiHostIntegrationAPI.GetMultiHostIntegrations(context.Background(), id).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.GetMultiHostIntegrations``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `GetMultiHostIntegrations`: MultiHostIntegrations + fmt.Fprintf(os.Stdout, "Response from `MultiHostIntegrationAPI.GetMultiHostIntegrations`: %v\n", resp) +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**id** | **string** | ID of the Multi-Host Integration. | + +### Other Parameters + +Other parameters are passed through a pointer to a apiGetMultiHostIntegrationsRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + +### Return type + +[**MultiHostIntegrations**](MultiHostIntegrations.md) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## GetMultiHostIntegrationsList + +> []MultiHostIntegrations GetMultiHostIntegrationsList(ctx).Offset(offset).Limit(limit).Sorters(sorters).Filters(filters).Count(count).ForSubadmin(forSubadmin).Execute() + +List All Existing Multi-Host Integrations + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + offset := int32(0) // int32 | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + limit := int32(250) // int32 | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + sorters := "name" // string | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name** (optional) + filters := "id eq 2c91808b6ef1d43e016efba0ce470904" // string | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **type**: *in* **forSubAdminId**: *in* (optional) + count := true // bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to false) + forSubadmin := "5168015d32f890ca15812c9180835d2e" // string | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity or SOURCE_SUBADMIN identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional) + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MultiHostIntegrationAPI.GetMultiHostIntegrationsList(context.Background()).Offset(offset).Limit(limit).Sorters(sorters).Filters(filters).Count(count).ForSubadmin(forSubadmin).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.GetMultiHostIntegrationsList``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `GetMultiHostIntegrationsList`: []MultiHostIntegrations + fmt.Fprintf(os.Stdout, "Response from `MultiHostIntegrationAPI.GetMultiHostIntegrationsList`: %v\n", resp) +} +``` + +### Path Parameters + + + +### Other Parameters + +Other parameters are passed through a pointer to a apiGetMultiHostIntegrationsListRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **offset** | **int32** | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. | [default to 0] + **limit** | **int32** | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. | [default to 250] + **sorters** | **string** | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name** | + **filters** | **string** | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **type**: *in* **forSubAdminId**: *in* | + **count** | **bool** | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. | [default to false] + **forSubadmin** | **string** | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity or SOURCE_SUBADMIN identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. | + +### Return type + +[**[]MultiHostIntegrations**](MultiHostIntegrations.md) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## GetMultihostIntegrationTypes + +> []MultiHostIntegrationTemplateType GetMultihostIntegrationTypes(ctx).Execute() + +List Multi-Host Integration Types + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MultiHostIntegrationAPI.GetMultihostIntegrationTypes(context.Background()).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.GetMultihostIntegrationTypes``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `GetMultihostIntegrationTypes`: []MultiHostIntegrationTemplateType + fmt.Fprintf(os.Stdout, "Response from `MultiHostIntegrationAPI.GetMultihostIntegrationTypes`: %v\n", resp) +} +``` + +### Path Parameters + +This endpoint does not need any parameter. + +### Other Parameters + +Other parameters are passed through a pointer to a apiGetMultihostIntegrationTypesRequest struct via the builder pattern + + +### Return type + +[**[]MultiHostIntegrationTemplateType**](MultiHostIntegrationTemplateType.md) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## GetSourcesWithinMultiHost + +> []MultiHostSources GetSourcesWithinMultiHost(ctx).Offset(offset).Limit(limit).Sorters(sorters).Filters(filters).Count(count).Execute() + +List Sources Within Multi-Host Integration + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + offset := int32(0) // int32 | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + limit := int32(250) // int32 | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + sorters := "name" // string | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name** (optional) + filters := "id eq 2c91808b6ef1d43e016efba0ce470904" // string | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *in* (optional) + count := true // bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to false) + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MultiHostIntegrationAPI.GetSourcesWithinMultiHost(context.Background()).Offset(offset).Limit(limit).Sorters(sorters).Filters(filters).Count(count).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.GetSourcesWithinMultiHost``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `GetSourcesWithinMultiHost`: []MultiHostSources + fmt.Fprintf(os.Stdout, "Response from `MultiHostIntegrationAPI.GetSourcesWithinMultiHost`: %v\n", resp) +} +``` + +### Path Parameters + + + +### Other Parameters + +Other parameters are passed through a pointer to a apiGetSourcesWithinMultiHostRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **offset** | **int32** | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. | [default to 0] + **limit** | **int32** | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. | [default to 250] + **sorters** | **string** | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name** | + **filters** | **string** | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *in* | + **count** | **bool** | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. | [default to false] + +### Return type + +[**[]MultiHostSources**](MultiHostSources.md) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## GetSourcesWithinMultiHost_0 + +> []SourceCreationErrors GetSourcesWithinMultiHost_0(ctx, multiHostId).Execute() + +List Multi-Host Integration Sources Creation Errors + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + multiHostId := "004091cb79b04636b88662afa50a4440" // string | ID of the Multi-Host Integration + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MultiHostIntegrationAPI.GetSourcesWithinMultiHost_0(context.Background(), multiHostId).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.GetSourcesWithinMultiHost_0``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `GetSourcesWithinMultiHost_0`: []SourceCreationErrors + fmt.Fprintf(os.Stdout, "Response from `MultiHostIntegrationAPI.GetSourcesWithinMultiHost_0`: %v\n", resp) +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**multiHostId** | **string** | ID of the Multi-Host Integration | + +### Other Parameters + +Other parameters are passed through a pointer to a apiGetSourcesWithinMultiHost_1Request struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + +### Return type + +[**[]SourceCreationErrors**](SourceCreationErrors.md) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## TestConnectionMultiHostSources + +> TestConnectionMultiHostSources(ctx, multihostId).Execute() + +Test Configuration For Multi-Host Integration + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + multihostId := "2c91808568c529c60168cca6f90c1324" // string | ID of the Multi-Host Integration + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + r, err := apiClient.MultiHostIntegrationAPI.TestConnectionMultiHostSources(context.Background(), multihostId).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.TestConnectionMultiHostSources``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**multihostId** | **string** | ID of the Multi-Host Integration | + +### Other Parameters + +Other parameters are passed through a pointer to a apiTestConnectionMultiHostSourcesRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + +### Return type + + (empty response body) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## TestSourceConnectionMultihost + +> TestSourceConnectionMultihost200Response TestSourceConnectionMultihost(ctx, multihostId, sourceId).Execute() + +Test Configuration For Multi-Host Integration's Single Source + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + multihostId := "2c91808568c529c60168cca6f90c1326" // string | ID of the Multi-Host Integration + sourceId := "2c91808568c529f60168cca6f90c1324" // string | ID of the source within the Multi-Host Integration + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MultiHostIntegrationAPI.TestSourceConnectionMultihost(context.Background(), multihostId, sourceId).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.TestSourceConnectionMultihost``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `TestSourceConnectionMultihost`: TestSourceConnectionMultihost200Response + fmt.Fprintf(os.Stdout, "Response from `MultiHostIntegrationAPI.TestSourceConnectionMultihost`: %v\n", resp) +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**multihostId** | **string** | ID of the Multi-Host Integration | +**sourceId** | **string** | ID of the source within the Multi-Host Integration | + +### Other Parameters + +Other parameters are passed through a pointer to a apiTestSourceConnectionMultihostRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + + +### Return type + +[**TestSourceConnectionMultihost200Response**](TestSourceConnectionMultihost200Response.md) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + +## UpdateMultiHostSources + +> UpdateMultiHostSources(ctx, multihostId).UpdateMultiHostSourcesRequest(updateMultiHostSourcesRequest).Execute() + +Update Multi-Host Integration + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func main() { + multihostId := "anId" // string | ID of the Multi-Host Integration to update. + updateMultiHostSourcesRequest := *openapiclient.NewUpdateMultiHostSourcesRequest() // UpdateMultiHostSourcesRequest | A list of Multi-Host Integration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Only `replace` operations are accepted by this endpoint. A 403 Forbidden Error indicates that you attempted to PATCH a operation that is not allowed. + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + r, err := apiClient.MultiHostIntegrationAPI.UpdateMultiHostSources(context.Background(), multihostId).UpdateMultiHostSourcesRequest(updateMultiHostSourcesRequest).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MultiHostIntegrationAPI.UpdateMultiHostSources``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**multihostId** | **string** | ID of the Multi-Host Integration to update. | + +### Other Parameters + +Other parameters are passed through a pointer to a apiUpdateMultiHostSourcesRequest struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + **updateMultiHostSourcesRequest** | [**UpdateMultiHostSourcesRequest**](UpdateMultiHostSourcesRequest.md) | A list of Multi-Host Integration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Only `replace` operations are accepted by this endpoint. A 403 Forbidden Error indicates that you attempted to PATCH a operation that is not allowed. | + +### Return type + + (empty response body) + +### Authorization + +[UserContextAuth](../README.md#UserContextAuth), [UserContextAuth](../README.md#UserContextAuth) + +### HTTP request headers + +- **Content-Type**: application/json-patch+json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + diff --git a/api_beta/docs/MultiHostIntegrationTemplateType.md b/api_beta/docs/MultiHostIntegrationTemplateType.md new file mode 100644 index 000000000..aa5d455f1 --- /dev/null +++ b/api_beta/docs/MultiHostIntegrationTemplateType.md @@ -0,0 +1,98 @@ +# MultiHostIntegrationTemplateType + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | Pointer to **string** | This is the name of the type. | [optional] +**Type** | **string** | This is the type value for the type. | +**ScriptName** | **string** | This is the scriptName attribute value for the type. | + +## Methods + +### NewMultiHostIntegrationTemplateType + +`func NewMultiHostIntegrationTemplateType(type_ string, scriptName string, ) *MultiHostIntegrationTemplateType` + +NewMultiHostIntegrationTemplateType instantiates a new MultiHostIntegrationTemplateType object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewMultiHostIntegrationTemplateTypeWithDefaults + +`func NewMultiHostIntegrationTemplateTypeWithDefaults() *MultiHostIntegrationTemplateType` + +NewMultiHostIntegrationTemplateTypeWithDefaults instantiates a new MultiHostIntegrationTemplateType object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetName + +`func (o *MultiHostIntegrationTemplateType) GetName() string` + +GetName returns the Name field if non-nil, zero value otherwise. + +### GetNameOk + +`func (o *MultiHostIntegrationTemplateType) GetNameOk() (*string, bool)` + +GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetName + +`func (o *MultiHostIntegrationTemplateType) SetName(v string)` + +SetName sets Name field to given value. + +### HasName + +`func (o *MultiHostIntegrationTemplateType) HasName() bool` + +HasName returns a boolean if a field has been set. + +### GetType + +`func (o *MultiHostIntegrationTemplateType) GetType() string` + +GetType returns the Type field if non-nil, zero value otherwise. + +### GetTypeOk + +`func (o *MultiHostIntegrationTemplateType) GetTypeOk() (*string, bool)` + +GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetType + +`func (o *MultiHostIntegrationTemplateType) SetType(v string)` + +SetType sets Type field to given value. + + +### GetScriptName + +`func (o *MultiHostIntegrationTemplateType) GetScriptName() string` + +GetScriptName returns the ScriptName field if non-nil, zero value otherwise. + +### GetScriptNameOk + +`func (o *MultiHostIntegrationTemplateType) GetScriptNameOk() (*string, bool)` + +GetScriptNameOk returns a tuple with the ScriptName field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetScriptName + +`func (o *MultiHostIntegrationTemplateType) SetScriptName(v string)` + +SetScriptName sets ScriptName field to given value. + + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/MultiHostIntegrations.md b/api_beta/docs/MultiHostIntegrations.md new file mode 100644 index 000000000..9e7201d8d --- /dev/null +++ b/api_beta/docs/MultiHostIntegrations.md @@ -0,0 +1,685 @@ +# MultiHostIntegrations + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **string** | Multi-Host Integration ID. | [readonly] +**Name** | **string** | Multi-Host Integration's human-readable name. | +**Description** | **string** | Multi-Host Integration's human-readable description. | +**Owner** | [**MultiHostIntegrationsOwner**](MultiHostIntegrationsOwner.md) | | +**Cluster** | Pointer to [**NullableMultiHostIntegrationsCluster**](MultiHostIntegrationsCluster.md) | | [optional] +**Type** | Pointer to **string** | Specifies the type of system being managed e.g. Workday, Multi-Host - Microsoft SQL Server, etc.. If you are creating a delimited file source, you must set the `provisionasCsv` query parameter to `true`. | [optional] +**Connector** | **string** | Connector script name. | +**LastSourceUploadSuccessCount** | Pointer to **int32** | Last successfully uploaded source count of given Multi-Host Integration. | [optional] +**MaxSourcesPerAggGroup** | Pointer to **int32** | Maximum sources that can contain in a aggregation group of Multi-Host Integration. | [optional] +**ConnectorClass** | Pointer to **string** | Fully qualified name of the Java class that implements the connector interface. | [optional] +**ConnectorAttributes** | Pointer to [**MultiHostIntegrationsConnectorAttributes**](MultiHostIntegrationsConnectorAttributes.md) | | [optional] +**DeleteThreshold** | Pointer to **int32** | Number from 0 to 100 that specifies when to skip the delete phase. | [optional] +**Authoritative** | Pointer to **bool** | When this is true, it indicates that the source is referenced by an identity profile. | [optional] [default to false] +**ManagementWorkgroup** | Pointer to [**NullableMultiHostIntegrationsManagementWorkgroup**](MultiHostIntegrationsManagementWorkgroup.md) | | [optional] +**Healthy** | Pointer to **bool** | When this is true, it indicates that the source is healthy. | [optional] [default to false] +**Status** | Pointer to **string** | Status identifier that gives specific information about why a source is or isn't healthy. | [optional] +**Since** | Pointer to **time.Time** | Timestamp that shows when a source health check was last performed. | [optional] +**ConnectorId** | Pointer to **string** | Connector ID | [optional] +**ConnectorName** | Pointer to **string** | Name of the connector that was chosen during source creation. | [optional] +**ConnectionType** | Pointer to **string** | Type of connection (direct or file). | [optional] +**ConnectorImplementationId** | Pointer to **string** | Connector implementation ID. | [optional] +**Created** | Pointer to **time.Time** | Date-time when the source was created | [optional] +**Modified** | Pointer to **time.Time** | Date-time when the source was last modified. | [optional] +**CredentialProviderEnabled** | Pointer to **bool** | If this is true, it enables a credential provider for the source. If credentialProvider is turned on, then the source can use credential provider(s) to fetch credentials. | [optional] [default to false] +**Category** | Pointer to **NullableString** | Source category (e.g. null, CredentialProvider). | [optional] + +## Methods + +### NewMultiHostIntegrations + +`func NewMultiHostIntegrations(id string, name string, description string, owner MultiHostIntegrationsOwner, connector string, ) *MultiHostIntegrations` + +NewMultiHostIntegrations instantiates a new MultiHostIntegrations object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewMultiHostIntegrationsWithDefaults + +`func NewMultiHostIntegrationsWithDefaults() *MultiHostIntegrations` + +NewMultiHostIntegrationsWithDefaults instantiates a new MultiHostIntegrations object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetId + +`func (o *MultiHostIntegrations) GetId() string` + +GetId returns the Id field if non-nil, zero value otherwise. + +### GetIdOk + +`func (o *MultiHostIntegrations) GetIdOk() (*string, bool)` + +GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetId + +`func (o *MultiHostIntegrations) SetId(v string)` + +SetId sets Id field to given value. + + +### GetName + +`func (o *MultiHostIntegrations) GetName() string` + +GetName returns the Name field if non-nil, zero value otherwise. + +### GetNameOk + +`func (o *MultiHostIntegrations) GetNameOk() (*string, bool)` + +GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetName + +`func (o *MultiHostIntegrations) SetName(v string)` + +SetName sets Name field to given value. + + +### GetDescription + +`func (o *MultiHostIntegrations) GetDescription() string` + +GetDescription returns the Description field if non-nil, zero value otherwise. + +### GetDescriptionOk + +`func (o *MultiHostIntegrations) GetDescriptionOk() (*string, bool)` + +GetDescriptionOk returns a tuple with the Description field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetDescription + +`func (o *MultiHostIntegrations) SetDescription(v string)` + +SetDescription sets Description field to given value. + + +### GetOwner + +`func (o *MultiHostIntegrations) GetOwner() MultiHostIntegrationsOwner` + +GetOwner returns the Owner field if non-nil, zero value otherwise. + +### GetOwnerOk + +`func (o *MultiHostIntegrations) GetOwnerOk() (*MultiHostIntegrationsOwner, bool)` + +GetOwnerOk returns a tuple with the Owner field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOwner + +`func (o *MultiHostIntegrations) SetOwner(v MultiHostIntegrationsOwner)` + +SetOwner sets Owner field to given value. + + +### GetCluster + +`func (o *MultiHostIntegrations) GetCluster() MultiHostIntegrationsCluster` + +GetCluster returns the Cluster field if non-nil, zero value otherwise. + +### GetClusterOk + +`func (o *MultiHostIntegrations) GetClusterOk() (*MultiHostIntegrationsCluster, bool)` + +GetClusterOk returns a tuple with the Cluster field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCluster + +`func (o *MultiHostIntegrations) SetCluster(v MultiHostIntegrationsCluster)` + +SetCluster sets Cluster field to given value. + +### HasCluster + +`func (o *MultiHostIntegrations) HasCluster() bool` + +HasCluster returns a boolean if a field has been set. + +### SetClusterNil + +`func (o *MultiHostIntegrations) SetClusterNil(b bool)` + + SetClusterNil sets the value for Cluster to be an explicit nil + +### UnsetCluster +`func (o *MultiHostIntegrations) UnsetCluster()` + +UnsetCluster ensures that no value is present for Cluster, not even an explicit nil +### GetType + +`func (o *MultiHostIntegrations) GetType() string` + +GetType returns the Type field if non-nil, zero value otherwise. + +### GetTypeOk + +`func (o *MultiHostIntegrations) GetTypeOk() (*string, bool)` + +GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetType + +`func (o *MultiHostIntegrations) SetType(v string)` + +SetType sets Type field to given value. + +### HasType + +`func (o *MultiHostIntegrations) HasType() bool` + +HasType returns a boolean if a field has been set. + +### GetConnector + +`func (o *MultiHostIntegrations) GetConnector() string` + +GetConnector returns the Connector field if non-nil, zero value otherwise. + +### GetConnectorOk + +`func (o *MultiHostIntegrations) GetConnectorOk() (*string, bool)` + +GetConnectorOk returns a tuple with the Connector field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnector + +`func (o *MultiHostIntegrations) SetConnector(v string)` + +SetConnector sets Connector field to given value. + + +### GetLastSourceUploadSuccessCount + +`func (o *MultiHostIntegrations) GetLastSourceUploadSuccessCount() int32` + +GetLastSourceUploadSuccessCount returns the LastSourceUploadSuccessCount field if non-nil, zero value otherwise. + +### GetLastSourceUploadSuccessCountOk + +`func (o *MultiHostIntegrations) GetLastSourceUploadSuccessCountOk() (*int32, bool)` + +GetLastSourceUploadSuccessCountOk returns a tuple with the LastSourceUploadSuccessCount field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetLastSourceUploadSuccessCount + +`func (o *MultiHostIntegrations) SetLastSourceUploadSuccessCount(v int32)` + +SetLastSourceUploadSuccessCount sets LastSourceUploadSuccessCount field to given value. + +### HasLastSourceUploadSuccessCount + +`func (o *MultiHostIntegrations) HasLastSourceUploadSuccessCount() bool` + +HasLastSourceUploadSuccessCount returns a boolean if a field has been set. + +### GetMaxSourcesPerAggGroup + +`func (o *MultiHostIntegrations) GetMaxSourcesPerAggGroup() int32` + +GetMaxSourcesPerAggGroup returns the MaxSourcesPerAggGroup field if non-nil, zero value otherwise. + +### GetMaxSourcesPerAggGroupOk + +`func (o *MultiHostIntegrations) GetMaxSourcesPerAggGroupOk() (*int32, bool)` + +GetMaxSourcesPerAggGroupOk returns a tuple with the MaxSourcesPerAggGroup field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetMaxSourcesPerAggGroup + +`func (o *MultiHostIntegrations) SetMaxSourcesPerAggGroup(v int32)` + +SetMaxSourcesPerAggGroup sets MaxSourcesPerAggGroup field to given value. + +### HasMaxSourcesPerAggGroup + +`func (o *MultiHostIntegrations) HasMaxSourcesPerAggGroup() bool` + +HasMaxSourcesPerAggGroup returns a boolean if a field has been set. + +### GetConnectorClass + +`func (o *MultiHostIntegrations) GetConnectorClass() string` + +GetConnectorClass returns the ConnectorClass field if non-nil, zero value otherwise. + +### GetConnectorClassOk + +`func (o *MultiHostIntegrations) GetConnectorClassOk() (*string, bool)` + +GetConnectorClassOk returns a tuple with the ConnectorClass field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorClass + +`func (o *MultiHostIntegrations) SetConnectorClass(v string)` + +SetConnectorClass sets ConnectorClass field to given value. + +### HasConnectorClass + +`func (o *MultiHostIntegrations) HasConnectorClass() bool` + +HasConnectorClass returns a boolean if a field has been set. + +### GetConnectorAttributes + +`func (o *MultiHostIntegrations) GetConnectorAttributes() MultiHostIntegrationsConnectorAttributes` + +GetConnectorAttributes returns the ConnectorAttributes field if non-nil, zero value otherwise. + +### GetConnectorAttributesOk + +`func (o *MultiHostIntegrations) GetConnectorAttributesOk() (*MultiHostIntegrationsConnectorAttributes, bool)` + +GetConnectorAttributesOk returns a tuple with the ConnectorAttributes field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorAttributes + +`func (o *MultiHostIntegrations) SetConnectorAttributes(v MultiHostIntegrationsConnectorAttributes)` + +SetConnectorAttributes sets ConnectorAttributes field to given value. + +### HasConnectorAttributes + +`func (o *MultiHostIntegrations) HasConnectorAttributes() bool` + +HasConnectorAttributes returns a boolean if a field has been set. + +### GetDeleteThreshold + +`func (o *MultiHostIntegrations) GetDeleteThreshold() int32` + +GetDeleteThreshold returns the DeleteThreshold field if non-nil, zero value otherwise. + +### GetDeleteThresholdOk + +`func (o *MultiHostIntegrations) GetDeleteThresholdOk() (*int32, bool)` + +GetDeleteThresholdOk returns a tuple with the DeleteThreshold field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetDeleteThreshold + +`func (o *MultiHostIntegrations) SetDeleteThreshold(v int32)` + +SetDeleteThreshold sets DeleteThreshold field to given value. + +### HasDeleteThreshold + +`func (o *MultiHostIntegrations) HasDeleteThreshold() bool` + +HasDeleteThreshold returns a boolean if a field has been set. + +### GetAuthoritative + +`func (o *MultiHostIntegrations) GetAuthoritative() bool` + +GetAuthoritative returns the Authoritative field if non-nil, zero value otherwise. + +### GetAuthoritativeOk + +`func (o *MultiHostIntegrations) GetAuthoritativeOk() (*bool, bool)` + +GetAuthoritativeOk returns a tuple with the Authoritative field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetAuthoritative + +`func (o *MultiHostIntegrations) SetAuthoritative(v bool)` + +SetAuthoritative sets Authoritative field to given value. + +### HasAuthoritative + +`func (o *MultiHostIntegrations) HasAuthoritative() bool` + +HasAuthoritative returns a boolean if a field has been set. + +### GetManagementWorkgroup + +`func (o *MultiHostIntegrations) GetManagementWorkgroup() MultiHostIntegrationsManagementWorkgroup` + +GetManagementWorkgroup returns the ManagementWorkgroup field if non-nil, zero value otherwise. + +### GetManagementWorkgroupOk + +`func (o *MultiHostIntegrations) GetManagementWorkgroupOk() (*MultiHostIntegrationsManagementWorkgroup, bool)` + +GetManagementWorkgroupOk returns a tuple with the ManagementWorkgroup field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetManagementWorkgroup + +`func (o *MultiHostIntegrations) SetManagementWorkgroup(v MultiHostIntegrationsManagementWorkgroup)` + +SetManagementWorkgroup sets ManagementWorkgroup field to given value. + +### HasManagementWorkgroup + +`func (o *MultiHostIntegrations) HasManagementWorkgroup() bool` + +HasManagementWorkgroup returns a boolean if a field has been set. + +### SetManagementWorkgroupNil + +`func (o *MultiHostIntegrations) SetManagementWorkgroupNil(b bool)` + + SetManagementWorkgroupNil sets the value for ManagementWorkgroup to be an explicit nil + +### UnsetManagementWorkgroup +`func (o *MultiHostIntegrations) UnsetManagementWorkgroup()` + +UnsetManagementWorkgroup ensures that no value is present for ManagementWorkgroup, not even an explicit nil +### GetHealthy + +`func (o *MultiHostIntegrations) GetHealthy() bool` + +GetHealthy returns the Healthy field if non-nil, zero value otherwise. + +### GetHealthyOk + +`func (o *MultiHostIntegrations) GetHealthyOk() (*bool, bool)` + +GetHealthyOk returns a tuple with the Healthy field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetHealthy + +`func (o *MultiHostIntegrations) SetHealthy(v bool)` + +SetHealthy sets Healthy field to given value. + +### HasHealthy + +`func (o *MultiHostIntegrations) HasHealthy() bool` + +HasHealthy returns a boolean if a field has been set. + +### GetStatus + +`func (o *MultiHostIntegrations) GetStatus() string` + +GetStatus returns the Status field if non-nil, zero value otherwise. + +### GetStatusOk + +`func (o *MultiHostIntegrations) GetStatusOk() (*string, bool)` + +GetStatusOk returns a tuple with the Status field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetStatus + +`func (o *MultiHostIntegrations) SetStatus(v string)` + +SetStatus sets Status field to given value. + +### HasStatus + +`func (o *MultiHostIntegrations) HasStatus() bool` + +HasStatus returns a boolean if a field has been set. + +### GetSince + +`func (o *MultiHostIntegrations) GetSince() time.Time` + +GetSince returns the Since field if non-nil, zero value otherwise. + +### GetSinceOk + +`func (o *MultiHostIntegrations) GetSinceOk() (*time.Time, bool)` + +GetSinceOk returns a tuple with the Since field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSince + +`func (o *MultiHostIntegrations) SetSince(v time.Time)` + +SetSince sets Since field to given value. + +### HasSince + +`func (o *MultiHostIntegrations) HasSince() bool` + +HasSince returns a boolean if a field has been set. + +### GetConnectorId + +`func (o *MultiHostIntegrations) GetConnectorId() string` + +GetConnectorId returns the ConnectorId field if non-nil, zero value otherwise. + +### GetConnectorIdOk + +`func (o *MultiHostIntegrations) GetConnectorIdOk() (*string, bool)` + +GetConnectorIdOk returns a tuple with the ConnectorId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorId + +`func (o *MultiHostIntegrations) SetConnectorId(v string)` + +SetConnectorId sets ConnectorId field to given value. + +### HasConnectorId + +`func (o *MultiHostIntegrations) HasConnectorId() bool` + +HasConnectorId returns a boolean if a field has been set. + +### GetConnectorName + +`func (o *MultiHostIntegrations) GetConnectorName() string` + +GetConnectorName returns the ConnectorName field if non-nil, zero value otherwise. + +### GetConnectorNameOk + +`func (o *MultiHostIntegrations) GetConnectorNameOk() (*string, bool)` + +GetConnectorNameOk returns a tuple with the ConnectorName field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorName + +`func (o *MultiHostIntegrations) SetConnectorName(v string)` + +SetConnectorName sets ConnectorName field to given value. + +### HasConnectorName + +`func (o *MultiHostIntegrations) HasConnectorName() bool` + +HasConnectorName returns a boolean if a field has been set. + +### GetConnectionType + +`func (o *MultiHostIntegrations) GetConnectionType() string` + +GetConnectionType returns the ConnectionType field if non-nil, zero value otherwise. + +### GetConnectionTypeOk + +`func (o *MultiHostIntegrations) GetConnectionTypeOk() (*string, bool)` + +GetConnectionTypeOk returns a tuple with the ConnectionType field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectionType + +`func (o *MultiHostIntegrations) SetConnectionType(v string)` + +SetConnectionType sets ConnectionType field to given value. + +### HasConnectionType + +`func (o *MultiHostIntegrations) HasConnectionType() bool` + +HasConnectionType returns a boolean if a field has been set. + +### GetConnectorImplementationId + +`func (o *MultiHostIntegrations) GetConnectorImplementationId() string` + +GetConnectorImplementationId returns the ConnectorImplementationId field if non-nil, zero value otherwise. + +### GetConnectorImplementationIdOk + +`func (o *MultiHostIntegrations) GetConnectorImplementationIdOk() (*string, bool)` + +GetConnectorImplementationIdOk returns a tuple with the ConnectorImplementationId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorImplementationId + +`func (o *MultiHostIntegrations) SetConnectorImplementationId(v string)` + +SetConnectorImplementationId sets ConnectorImplementationId field to given value. + +### HasConnectorImplementationId + +`func (o *MultiHostIntegrations) HasConnectorImplementationId() bool` + +HasConnectorImplementationId returns a boolean if a field has been set. + +### GetCreated + +`func (o *MultiHostIntegrations) GetCreated() time.Time` + +GetCreated returns the Created field if non-nil, zero value otherwise. + +### GetCreatedOk + +`func (o *MultiHostIntegrations) GetCreatedOk() (*time.Time, bool)` + +GetCreatedOk returns a tuple with the Created field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCreated + +`func (o *MultiHostIntegrations) SetCreated(v time.Time)` + +SetCreated sets Created field to given value. + +### HasCreated + +`func (o *MultiHostIntegrations) HasCreated() bool` + +HasCreated returns a boolean if a field has been set. + +### GetModified + +`func (o *MultiHostIntegrations) GetModified() time.Time` + +GetModified returns the Modified field if non-nil, zero value otherwise. + +### GetModifiedOk + +`func (o *MultiHostIntegrations) GetModifiedOk() (*time.Time, bool)` + +GetModifiedOk returns a tuple with the Modified field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetModified + +`func (o *MultiHostIntegrations) SetModified(v time.Time)` + +SetModified sets Modified field to given value. + +### HasModified + +`func (o *MultiHostIntegrations) HasModified() bool` + +HasModified returns a boolean if a field has been set. + +### GetCredentialProviderEnabled + +`func (o *MultiHostIntegrations) GetCredentialProviderEnabled() bool` + +GetCredentialProviderEnabled returns the CredentialProviderEnabled field if non-nil, zero value otherwise. + +### GetCredentialProviderEnabledOk + +`func (o *MultiHostIntegrations) GetCredentialProviderEnabledOk() (*bool, bool)` + +GetCredentialProviderEnabledOk returns a tuple with the CredentialProviderEnabled field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCredentialProviderEnabled + +`func (o *MultiHostIntegrations) SetCredentialProviderEnabled(v bool)` + +SetCredentialProviderEnabled sets CredentialProviderEnabled field to given value. + +### HasCredentialProviderEnabled + +`func (o *MultiHostIntegrations) HasCredentialProviderEnabled() bool` + +HasCredentialProviderEnabled returns a boolean if a field has been set. + +### GetCategory + +`func (o *MultiHostIntegrations) GetCategory() string` + +GetCategory returns the Category field if non-nil, zero value otherwise. + +### GetCategoryOk + +`func (o *MultiHostIntegrations) GetCategoryOk() (*string, bool)` + +GetCategoryOk returns a tuple with the Category field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCategory + +`func (o *MultiHostIntegrations) SetCategory(v string)` + +SetCategory sets Category field to given value. + +### HasCategory + +`func (o *MultiHostIntegrations) HasCategory() bool` + +HasCategory returns a boolean if a field has been set. + +### SetCategoryNil + +`func (o *MultiHostIntegrations) SetCategoryNil(b bool)` + + SetCategoryNil sets the value for Category to be an explicit nil + +### UnsetCategory +`func (o *MultiHostIntegrations) UnsetCategory()` + +UnsetCategory ensures that no value is present for Category, not even an explicit nil + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/MultiHostIntegrationsAggScheduleUpdate.md b/api_beta/docs/MultiHostIntegrationsAggScheduleUpdate.md new file mode 100644 index 000000000..cf01398d5 --- /dev/null +++ b/api_beta/docs/MultiHostIntegrationsAggScheduleUpdate.md @@ -0,0 +1,208 @@ +# MultiHostIntegrationsAggScheduleUpdate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**MultihostId** | **string** | Multi-Host Integration ID. The ID must be unique | +**AggregationGrpId** | **string** | Multi-Host Integration aggregation group ID | +**AggregationGrpName** | **string** | Multi-Host Integration name | +**AggregationCronSchedule** | **string** | Cron expression to schedule aggregation | +**EnableSchedule** | **bool** | Boolean value for Multi-Host Integration aggregation schedule. This specifies if scheduled aggregation is enabled or disabled. | [default to false] +**SourceIdList** | **[]string** | Source IDs of the Multi-Host Integration | +**Created** | Pointer to **time.Time** | Created date of Multi-Host Integration aggregation schedule | [optional] +**Modified** | Pointer to **time.Time** | Modified date of Multi-Host Integration aggregation schedule | [optional] + +## Methods + +### NewMultiHostIntegrationsAggScheduleUpdate + +`func NewMultiHostIntegrationsAggScheduleUpdate(multihostId string, aggregationGrpId string, aggregationGrpName string, aggregationCronSchedule string, enableSchedule bool, sourceIdList []string, ) *MultiHostIntegrationsAggScheduleUpdate` + +NewMultiHostIntegrationsAggScheduleUpdate instantiates a new MultiHostIntegrationsAggScheduleUpdate object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewMultiHostIntegrationsAggScheduleUpdateWithDefaults + +`func NewMultiHostIntegrationsAggScheduleUpdateWithDefaults() *MultiHostIntegrationsAggScheduleUpdate` + +NewMultiHostIntegrationsAggScheduleUpdateWithDefaults instantiates a new MultiHostIntegrationsAggScheduleUpdate object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetMultihostId + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetMultihostId() string` + +GetMultihostId returns the MultihostId field if non-nil, zero value otherwise. + +### GetMultihostIdOk + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetMultihostIdOk() (*string, bool)` + +GetMultihostIdOk returns a tuple with the MultihostId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetMultihostId + +`func (o *MultiHostIntegrationsAggScheduleUpdate) SetMultihostId(v string)` + +SetMultihostId sets MultihostId field to given value. + + +### GetAggregationGrpId + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationGrpId() string` + +GetAggregationGrpId returns the AggregationGrpId field if non-nil, zero value otherwise. + +### GetAggregationGrpIdOk + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationGrpIdOk() (*string, bool)` + +GetAggregationGrpIdOk returns a tuple with the AggregationGrpId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetAggregationGrpId + +`func (o *MultiHostIntegrationsAggScheduleUpdate) SetAggregationGrpId(v string)` + +SetAggregationGrpId sets AggregationGrpId field to given value. + + +### GetAggregationGrpName + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationGrpName() string` + +GetAggregationGrpName returns the AggregationGrpName field if non-nil, zero value otherwise. + +### GetAggregationGrpNameOk + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationGrpNameOk() (*string, bool)` + +GetAggregationGrpNameOk returns a tuple with the AggregationGrpName field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetAggregationGrpName + +`func (o *MultiHostIntegrationsAggScheduleUpdate) SetAggregationGrpName(v string)` + +SetAggregationGrpName sets AggregationGrpName field to given value. + + +### GetAggregationCronSchedule + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationCronSchedule() string` + +GetAggregationCronSchedule returns the AggregationCronSchedule field if non-nil, zero value otherwise. + +### GetAggregationCronScheduleOk + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationCronScheduleOk() (*string, bool)` + +GetAggregationCronScheduleOk returns a tuple with the AggregationCronSchedule field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetAggregationCronSchedule + +`func (o *MultiHostIntegrationsAggScheduleUpdate) SetAggregationCronSchedule(v string)` + +SetAggregationCronSchedule sets AggregationCronSchedule field to given value. + + +### GetEnableSchedule + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetEnableSchedule() bool` + +GetEnableSchedule returns the EnableSchedule field if non-nil, zero value otherwise. + +### GetEnableScheduleOk + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetEnableScheduleOk() (*bool, bool)` + +GetEnableScheduleOk returns a tuple with the EnableSchedule field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetEnableSchedule + +`func (o *MultiHostIntegrationsAggScheduleUpdate) SetEnableSchedule(v bool)` + +SetEnableSchedule sets EnableSchedule field to given value. + + +### GetSourceIdList + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetSourceIdList() []string` + +GetSourceIdList returns the SourceIdList field if non-nil, zero value otherwise. + +### GetSourceIdListOk + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetSourceIdListOk() (*[]string, bool)` + +GetSourceIdListOk returns a tuple with the SourceIdList field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSourceIdList + +`func (o *MultiHostIntegrationsAggScheduleUpdate) SetSourceIdList(v []string)` + +SetSourceIdList sets SourceIdList field to given value. + + +### GetCreated + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetCreated() time.Time` + +GetCreated returns the Created field if non-nil, zero value otherwise. + +### GetCreatedOk + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetCreatedOk() (*time.Time, bool)` + +GetCreatedOk returns a tuple with the Created field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCreated + +`func (o *MultiHostIntegrationsAggScheduleUpdate) SetCreated(v time.Time)` + +SetCreated sets Created field to given value. + +### HasCreated + +`func (o *MultiHostIntegrationsAggScheduleUpdate) HasCreated() bool` + +HasCreated returns a boolean if a field has been set. + +### GetModified + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetModified() time.Time` + +GetModified returns the Modified field if non-nil, zero value otherwise. + +### GetModifiedOk + +`func (o *MultiHostIntegrationsAggScheduleUpdate) GetModifiedOk() (*time.Time, bool)` + +GetModifiedOk returns a tuple with the Modified field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetModified + +`func (o *MultiHostIntegrationsAggScheduleUpdate) SetModified(v time.Time)` + +SetModified sets Modified field to given value. + +### HasModified + +`func (o *MultiHostIntegrationsAggScheduleUpdate) HasModified() bool` + +HasModified returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/SourceCluster.md b/api_beta/docs/MultiHostIntegrationsCluster.md similarity index 61% rename from api_beta/docs/SourceCluster.md rename to api_beta/docs/MultiHostIntegrationsCluster.md index 8c2c51bb9..1bad113ea 100644 --- a/api_beta/docs/SourceCluster.md +++ b/api_beta/docs/MultiHostIntegrationsCluster.md @@ -1,4 +1,4 @@ -# SourceCluster +# MultiHostIntegrationsCluster ## Properties @@ -10,79 +10,79 @@ Name | Type | Description | Notes ## Methods -### NewSourceCluster +### NewMultiHostIntegrationsCluster -`func NewSourceCluster(type_ string, id string, name string, ) *SourceCluster` +`func NewMultiHostIntegrationsCluster(type_ string, id string, name string, ) *MultiHostIntegrationsCluster` -NewSourceCluster instantiates a new SourceCluster object +NewMultiHostIntegrationsCluster instantiates a new MultiHostIntegrationsCluster object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed -### NewSourceClusterWithDefaults +### NewMultiHostIntegrationsClusterWithDefaults -`func NewSourceClusterWithDefaults() *SourceCluster` +`func NewMultiHostIntegrationsClusterWithDefaults() *MultiHostIntegrationsCluster` -NewSourceClusterWithDefaults instantiates a new SourceCluster object +NewMultiHostIntegrationsClusterWithDefaults instantiates a new MultiHostIntegrationsCluster object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set ### GetType -`func (o *SourceCluster) GetType() string` +`func (o *MultiHostIntegrationsCluster) GetType() string` GetType returns the Type field if non-nil, zero value otherwise. ### GetTypeOk -`func (o *SourceCluster) GetTypeOk() (*string, bool)` +`func (o *MultiHostIntegrationsCluster) GetTypeOk() (*string, bool)` GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetType -`func (o *SourceCluster) SetType(v string)` +`func (o *MultiHostIntegrationsCluster) SetType(v string)` SetType sets Type field to given value. ### GetId -`func (o *SourceCluster) GetId() string` +`func (o *MultiHostIntegrationsCluster) GetId() string` GetId returns the Id field if non-nil, zero value otherwise. ### GetIdOk -`func (o *SourceCluster) GetIdOk() (*string, bool)` +`func (o *MultiHostIntegrationsCluster) GetIdOk() (*string, bool)` GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetId -`func (o *SourceCluster) SetId(v string)` +`func (o *MultiHostIntegrationsCluster) SetId(v string)` SetId sets Id field to given value. ### GetName -`func (o *SourceCluster) GetName() string` +`func (o *MultiHostIntegrationsCluster) GetName() string` GetName returns the Name field if non-nil, zero value otherwise. ### GetNameOk -`func (o *SourceCluster) GetNameOk() (*string, bool)` +`func (o *MultiHostIntegrationsCluster) GetNameOk() (*string, bool)` GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetName -`func (o *SourceCluster) SetName(v string)` +`func (o *MultiHostIntegrationsCluster) SetName(v string)` SetName sets Name field to given value. diff --git a/api_beta/docs/MultiHostIntegrationsConnectorAttributes.md b/api_beta/docs/MultiHostIntegrationsConnectorAttributes.md new file mode 100644 index 000000000..5b8f41dd6 --- /dev/null +++ b/api_beta/docs/MultiHostIntegrationsConnectorAttributes.md @@ -0,0 +1,212 @@ +# MultiHostIntegrationsConnectorAttributes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**MaxAllowedSources** | Pointer to **int32** | Maximum sources allowed count of a Multi-Host Integration | [optional] +**LastSourceUploadCount** | Pointer to **int32** | Last upload sources count of a Multi-Host Integration | [optional] +**ConnectorFileUploadHistory** | Pointer to [**MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory**](MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory.md) | | [optional] +**MultihostStatus** | Pointer to **string** | Multi-Host integration status. | [optional] +**ShowAccountSchema** | Pointer to **bool** | Show account schema | [optional] [default to true] +**ShowEntitlementSchema** | Pointer to **bool** | Show entitlement schema | [optional] [default to true] +**MultiHostAttributes** | Pointer to [**MultiHostIntegrationsConnectorAttributesMultiHostAttributes**](MultiHostIntegrationsConnectorAttributesMultiHostAttributes.md) | | [optional] + +## Methods + +### NewMultiHostIntegrationsConnectorAttributes + +`func NewMultiHostIntegrationsConnectorAttributes() *MultiHostIntegrationsConnectorAttributes` + +NewMultiHostIntegrationsConnectorAttributes instantiates a new MultiHostIntegrationsConnectorAttributes object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewMultiHostIntegrationsConnectorAttributesWithDefaults + +`func NewMultiHostIntegrationsConnectorAttributesWithDefaults() *MultiHostIntegrationsConnectorAttributes` + +NewMultiHostIntegrationsConnectorAttributesWithDefaults instantiates a new MultiHostIntegrationsConnectorAttributes object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetMaxAllowedSources + +`func (o *MultiHostIntegrationsConnectorAttributes) GetMaxAllowedSources() int32` + +GetMaxAllowedSources returns the MaxAllowedSources field if non-nil, zero value otherwise. + +### GetMaxAllowedSourcesOk + +`func (o *MultiHostIntegrationsConnectorAttributes) GetMaxAllowedSourcesOk() (*int32, bool)` + +GetMaxAllowedSourcesOk returns a tuple with the MaxAllowedSources field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetMaxAllowedSources + +`func (o *MultiHostIntegrationsConnectorAttributes) SetMaxAllowedSources(v int32)` + +SetMaxAllowedSources sets MaxAllowedSources field to given value. + +### HasMaxAllowedSources + +`func (o *MultiHostIntegrationsConnectorAttributes) HasMaxAllowedSources() bool` + +HasMaxAllowedSources returns a boolean if a field has been set. + +### GetLastSourceUploadCount + +`func (o *MultiHostIntegrationsConnectorAttributes) GetLastSourceUploadCount() int32` + +GetLastSourceUploadCount returns the LastSourceUploadCount field if non-nil, zero value otherwise. + +### GetLastSourceUploadCountOk + +`func (o *MultiHostIntegrationsConnectorAttributes) GetLastSourceUploadCountOk() (*int32, bool)` + +GetLastSourceUploadCountOk returns a tuple with the LastSourceUploadCount field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetLastSourceUploadCount + +`func (o *MultiHostIntegrationsConnectorAttributes) SetLastSourceUploadCount(v int32)` + +SetLastSourceUploadCount sets LastSourceUploadCount field to given value. + +### HasLastSourceUploadCount + +`func (o *MultiHostIntegrationsConnectorAttributes) HasLastSourceUploadCount() bool` + +HasLastSourceUploadCount returns a boolean if a field has been set. + +### GetConnectorFileUploadHistory + +`func (o *MultiHostIntegrationsConnectorAttributes) GetConnectorFileUploadHistory() MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory` + +GetConnectorFileUploadHistory returns the ConnectorFileUploadHistory field if non-nil, zero value otherwise. + +### GetConnectorFileUploadHistoryOk + +`func (o *MultiHostIntegrationsConnectorAttributes) GetConnectorFileUploadHistoryOk() (*MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory, bool)` + +GetConnectorFileUploadHistoryOk returns a tuple with the ConnectorFileUploadHistory field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorFileUploadHistory + +`func (o *MultiHostIntegrationsConnectorAttributes) SetConnectorFileUploadHistory(v MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory)` + +SetConnectorFileUploadHistory sets ConnectorFileUploadHistory field to given value. + +### HasConnectorFileUploadHistory + +`func (o *MultiHostIntegrationsConnectorAttributes) HasConnectorFileUploadHistory() bool` + +HasConnectorFileUploadHistory returns a boolean if a field has been set. + +### GetMultihostStatus + +`func (o *MultiHostIntegrationsConnectorAttributes) GetMultihostStatus() string` + +GetMultihostStatus returns the MultihostStatus field if non-nil, zero value otherwise. + +### GetMultihostStatusOk + +`func (o *MultiHostIntegrationsConnectorAttributes) GetMultihostStatusOk() (*string, bool)` + +GetMultihostStatusOk returns a tuple with the MultihostStatus field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetMultihostStatus + +`func (o *MultiHostIntegrationsConnectorAttributes) SetMultihostStatus(v string)` + +SetMultihostStatus sets MultihostStatus field to given value. + +### HasMultihostStatus + +`func (o *MultiHostIntegrationsConnectorAttributes) HasMultihostStatus() bool` + +HasMultihostStatus returns a boolean if a field has been set. + +### GetShowAccountSchema + +`func (o *MultiHostIntegrationsConnectorAttributes) GetShowAccountSchema() bool` + +GetShowAccountSchema returns the ShowAccountSchema field if non-nil, zero value otherwise. + +### GetShowAccountSchemaOk + +`func (o *MultiHostIntegrationsConnectorAttributes) GetShowAccountSchemaOk() (*bool, bool)` + +GetShowAccountSchemaOk returns a tuple with the ShowAccountSchema field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetShowAccountSchema + +`func (o *MultiHostIntegrationsConnectorAttributes) SetShowAccountSchema(v bool)` + +SetShowAccountSchema sets ShowAccountSchema field to given value. + +### HasShowAccountSchema + +`func (o *MultiHostIntegrationsConnectorAttributes) HasShowAccountSchema() bool` + +HasShowAccountSchema returns a boolean if a field has been set. + +### GetShowEntitlementSchema + +`func (o *MultiHostIntegrationsConnectorAttributes) GetShowEntitlementSchema() bool` + +GetShowEntitlementSchema returns the ShowEntitlementSchema field if non-nil, zero value otherwise. + +### GetShowEntitlementSchemaOk + +`func (o *MultiHostIntegrationsConnectorAttributes) GetShowEntitlementSchemaOk() (*bool, bool)` + +GetShowEntitlementSchemaOk returns a tuple with the ShowEntitlementSchema field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetShowEntitlementSchema + +`func (o *MultiHostIntegrationsConnectorAttributes) SetShowEntitlementSchema(v bool)` + +SetShowEntitlementSchema sets ShowEntitlementSchema field to given value. + +### HasShowEntitlementSchema + +`func (o *MultiHostIntegrationsConnectorAttributes) HasShowEntitlementSchema() bool` + +HasShowEntitlementSchema returns a boolean if a field has been set. + +### GetMultiHostAttributes + +`func (o *MultiHostIntegrationsConnectorAttributes) GetMultiHostAttributes() MultiHostIntegrationsConnectorAttributesMultiHostAttributes` + +GetMultiHostAttributes returns the MultiHostAttributes field if non-nil, zero value otherwise. + +### GetMultiHostAttributesOk + +`func (o *MultiHostIntegrationsConnectorAttributes) GetMultiHostAttributesOk() (*MultiHostIntegrationsConnectorAttributesMultiHostAttributes, bool)` + +GetMultiHostAttributesOk returns a tuple with the MultiHostAttributes field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetMultiHostAttributes + +`func (o *MultiHostIntegrationsConnectorAttributes) SetMultiHostAttributes(v MultiHostIntegrationsConnectorAttributesMultiHostAttributes)` + +SetMultiHostAttributes sets MultiHostAttributes field to given value. + +### HasMultiHostAttributes + +`func (o *MultiHostIntegrationsConnectorAttributes) HasMultiHostAttributes() bool` + +HasMultiHostAttributes returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory.md b/api_beta/docs/MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory.md new file mode 100644 index 000000000..6a876476b --- /dev/null +++ b/api_beta/docs/MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory.md @@ -0,0 +1,56 @@ +# MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ConnectorFileNameUploadedDate** | Pointer to **string** | File name of the connector JAR | [optional] + +## Methods + +### NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory + +`func NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory() *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory` + +NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory instantiates a new MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistoryWithDefaults + +`func NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistoryWithDefaults() *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory` + +NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistoryWithDefaults instantiates a new MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetConnectorFileNameUploadedDate + +`func (o *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) GetConnectorFileNameUploadedDate() string` + +GetConnectorFileNameUploadedDate returns the ConnectorFileNameUploadedDate field if non-nil, zero value otherwise. + +### GetConnectorFileNameUploadedDateOk + +`func (o *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) GetConnectorFileNameUploadedDateOk() (*string, bool)` + +GetConnectorFileNameUploadedDateOk returns a tuple with the ConnectorFileNameUploadedDate field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorFileNameUploadedDate + +`func (o *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) SetConnectorFileNameUploadedDate(v string)` + +SetConnectorFileNameUploadedDate sets ConnectorFileNameUploadedDate field to given value. + +### HasConnectorFileNameUploadedDate + +`func (o *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) HasConnectorFileNameUploadedDate() bool` + +HasConnectorFileNameUploadedDate returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/MultiHostIntegrationsConnectorAttributesMultiHostAttributes.md b/api_beta/docs/MultiHostIntegrationsConnectorAttributesMultiHostAttributes.md new file mode 100644 index 000000000..fc65be3a9 --- /dev/null +++ b/api_beta/docs/MultiHostIntegrationsConnectorAttributesMultiHostAttributes.md @@ -0,0 +1,134 @@ +# MultiHostIntegrationsConnectorAttributesMultiHostAttributes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Password** | Pointer to **string** | Password. | [optional] +**ConnectorFiles** | Pointer to **string** | Connector file. | [optional] +**AuthType** | Pointer to **string** | Authentication type. | [optional] +**User** | Pointer to **string** | Username. | [optional] + +## Methods + +### NewMultiHostIntegrationsConnectorAttributesMultiHostAttributes + +`func NewMultiHostIntegrationsConnectorAttributesMultiHostAttributes() *MultiHostIntegrationsConnectorAttributesMultiHostAttributes` + +NewMultiHostIntegrationsConnectorAttributesMultiHostAttributes instantiates a new MultiHostIntegrationsConnectorAttributesMultiHostAttributes object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewMultiHostIntegrationsConnectorAttributesMultiHostAttributesWithDefaults + +`func NewMultiHostIntegrationsConnectorAttributesMultiHostAttributesWithDefaults() *MultiHostIntegrationsConnectorAttributesMultiHostAttributes` + +NewMultiHostIntegrationsConnectorAttributesMultiHostAttributesWithDefaults instantiates a new MultiHostIntegrationsConnectorAttributesMultiHostAttributes object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetPassword + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetPassword() string` + +GetPassword returns the Password field if non-nil, zero value otherwise. + +### GetPasswordOk + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetPasswordOk() (*string, bool)` + +GetPasswordOk returns a tuple with the Password field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetPassword + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) SetPassword(v string)` + +SetPassword sets Password field to given value. + +### HasPassword + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) HasPassword() bool` + +HasPassword returns a boolean if a field has been set. + +### GetConnectorFiles + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetConnectorFiles() string` + +GetConnectorFiles returns the ConnectorFiles field if non-nil, zero value otherwise. + +### GetConnectorFilesOk + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetConnectorFilesOk() (*string, bool)` + +GetConnectorFilesOk returns a tuple with the ConnectorFiles field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorFiles + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) SetConnectorFiles(v string)` + +SetConnectorFiles sets ConnectorFiles field to given value. + +### HasConnectorFiles + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) HasConnectorFiles() bool` + +HasConnectorFiles returns a boolean if a field has been set. + +### GetAuthType + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetAuthType() string` + +GetAuthType returns the AuthType field if non-nil, zero value otherwise. + +### GetAuthTypeOk + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetAuthTypeOk() (*string, bool)` + +GetAuthTypeOk returns a tuple with the AuthType field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetAuthType + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) SetAuthType(v string)` + +SetAuthType sets AuthType field to given value. + +### HasAuthType + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) HasAuthType() bool` + +HasAuthType returns a boolean if a field has been set. + +### GetUser + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetUser() string` + +GetUser returns the User field if non-nil, zero value otherwise. + +### GetUserOk + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetUserOk() (*string, bool)` + +GetUserOk returns a tuple with the User field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetUser + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) SetUser(v string)` + +SetUser sets User field to given value. + +### HasUser + +`func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) HasUser() bool` + +HasUser returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/MultiHostIntegrationsCreate.md b/api_beta/docs/MultiHostIntegrationsCreate.md new file mode 100644 index 000000000..17ab1d062 --- /dev/null +++ b/api_beta/docs/MultiHostIntegrationsCreate.md @@ -0,0 +1,264 @@ +# MultiHostIntegrationsCreate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | Multi-Host Integration's human-readable name. | +**Description** | **string** | Multi-Host Integration's human-readable description. | +**Owner** | [**MultiHostIntegrationsOwner**](MultiHostIntegrationsOwner.md) | | +**Cluster** | Pointer to [**NullableMultiHostIntegrationsCluster**](MultiHostIntegrationsCluster.md) | | [optional] +**Connector** | **string** | Connector script name. | +**ConnectorAttributes** | Pointer to **map[string]interface{}** | Multi-Host Integration specific configuration. User can add any number of additional attributes. e.g. maxSourcesPerAggGroup, maxAllowedSources etc. | [optional] +**ManagementWorkgroup** | Pointer to [**NullableMultiHostIntegrationsManagementWorkgroup**](MultiHostIntegrationsManagementWorkgroup.md) | | [optional] +**Created** | Pointer to **time.Time** | Date-time when the source was created | [optional] +**Modified** | Pointer to **time.Time** | Date-time when the source was last modified. | [optional] + +## Methods + +### NewMultiHostIntegrationsCreate + +`func NewMultiHostIntegrationsCreate(name string, description string, owner MultiHostIntegrationsOwner, connector string, ) *MultiHostIntegrationsCreate` + +NewMultiHostIntegrationsCreate instantiates a new MultiHostIntegrationsCreate object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewMultiHostIntegrationsCreateWithDefaults + +`func NewMultiHostIntegrationsCreateWithDefaults() *MultiHostIntegrationsCreate` + +NewMultiHostIntegrationsCreateWithDefaults instantiates a new MultiHostIntegrationsCreate object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetName + +`func (o *MultiHostIntegrationsCreate) GetName() string` + +GetName returns the Name field if non-nil, zero value otherwise. + +### GetNameOk + +`func (o *MultiHostIntegrationsCreate) GetNameOk() (*string, bool)` + +GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetName + +`func (o *MultiHostIntegrationsCreate) SetName(v string)` + +SetName sets Name field to given value. + + +### GetDescription + +`func (o *MultiHostIntegrationsCreate) GetDescription() string` + +GetDescription returns the Description field if non-nil, zero value otherwise. + +### GetDescriptionOk + +`func (o *MultiHostIntegrationsCreate) GetDescriptionOk() (*string, bool)` + +GetDescriptionOk returns a tuple with the Description field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetDescription + +`func (o *MultiHostIntegrationsCreate) SetDescription(v string)` + +SetDescription sets Description field to given value. + + +### GetOwner + +`func (o *MultiHostIntegrationsCreate) GetOwner() MultiHostIntegrationsOwner` + +GetOwner returns the Owner field if non-nil, zero value otherwise. + +### GetOwnerOk + +`func (o *MultiHostIntegrationsCreate) GetOwnerOk() (*MultiHostIntegrationsOwner, bool)` + +GetOwnerOk returns a tuple with the Owner field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOwner + +`func (o *MultiHostIntegrationsCreate) SetOwner(v MultiHostIntegrationsOwner)` + +SetOwner sets Owner field to given value. + + +### GetCluster + +`func (o *MultiHostIntegrationsCreate) GetCluster() MultiHostIntegrationsCluster` + +GetCluster returns the Cluster field if non-nil, zero value otherwise. + +### GetClusterOk + +`func (o *MultiHostIntegrationsCreate) GetClusterOk() (*MultiHostIntegrationsCluster, bool)` + +GetClusterOk returns a tuple with the Cluster field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCluster + +`func (o *MultiHostIntegrationsCreate) SetCluster(v MultiHostIntegrationsCluster)` + +SetCluster sets Cluster field to given value. + +### HasCluster + +`func (o *MultiHostIntegrationsCreate) HasCluster() bool` + +HasCluster returns a boolean if a field has been set. + +### SetClusterNil + +`func (o *MultiHostIntegrationsCreate) SetClusterNil(b bool)` + + SetClusterNil sets the value for Cluster to be an explicit nil + +### UnsetCluster +`func (o *MultiHostIntegrationsCreate) UnsetCluster()` + +UnsetCluster ensures that no value is present for Cluster, not even an explicit nil +### GetConnector + +`func (o *MultiHostIntegrationsCreate) GetConnector() string` + +GetConnector returns the Connector field if non-nil, zero value otherwise. + +### GetConnectorOk + +`func (o *MultiHostIntegrationsCreate) GetConnectorOk() (*string, bool)` + +GetConnectorOk returns a tuple with the Connector field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnector + +`func (o *MultiHostIntegrationsCreate) SetConnector(v string)` + +SetConnector sets Connector field to given value. + + +### GetConnectorAttributes + +`func (o *MultiHostIntegrationsCreate) GetConnectorAttributes() map[string]interface{}` + +GetConnectorAttributes returns the ConnectorAttributes field if non-nil, zero value otherwise. + +### GetConnectorAttributesOk + +`func (o *MultiHostIntegrationsCreate) GetConnectorAttributesOk() (*map[string]interface{}, bool)` + +GetConnectorAttributesOk returns a tuple with the ConnectorAttributes field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorAttributes + +`func (o *MultiHostIntegrationsCreate) SetConnectorAttributes(v map[string]interface{})` + +SetConnectorAttributes sets ConnectorAttributes field to given value. + +### HasConnectorAttributes + +`func (o *MultiHostIntegrationsCreate) HasConnectorAttributes() bool` + +HasConnectorAttributes returns a boolean if a field has been set. + +### GetManagementWorkgroup + +`func (o *MultiHostIntegrationsCreate) GetManagementWorkgroup() MultiHostIntegrationsManagementWorkgroup` + +GetManagementWorkgroup returns the ManagementWorkgroup field if non-nil, zero value otherwise. + +### GetManagementWorkgroupOk + +`func (o *MultiHostIntegrationsCreate) GetManagementWorkgroupOk() (*MultiHostIntegrationsManagementWorkgroup, bool)` + +GetManagementWorkgroupOk returns a tuple with the ManagementWorkgroup field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetManagementWorkgroup + +`func (o *MultiHostIntegrationsCreate) SetManagementWorkgroup(v MultiHostIntegrationsManagementWorkgroup)` + +SetManagementWorkgroup sets ManagementWorkgroup field to given value. + +### HasManagementWorkgroup + +`func (o *MultiHostIntegrationsCreate) HasManagementWorkgroup() bool` + +HasManagementWorkgroup returns a boolean if a field has been set. + +### SetManagementWorkgroupNil + +`func (o *MultiHostIntegrationsCreate) SetManagementWorkgroupNil(b bool)` + + SetManagementWorkgroupNil sets the value for ManagementWorkgroup to be an explicit nil + +### UnsetManagementWorkgroup +`func (o *MultiHostIntegrationsCreate) UnsetManagementWorkgroup()` + +UnsetManagementWorkgroup ensures that no value is present for ManagementWorkgroup, not even an explicit nil +### GetCreated + +`func (o *MultiHostIntegrationsCreate) GetCreated() time.Time` + +GetCreated returns the Created field if non-nil, zero value otherwise. + +### GetCreatedOk + +`func (o *MultiHostIntegrationsCreate) GetCreatedOk() (*time.Time, bool)` + +GetCreatedOk returns a tuple with the Created field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCreated + +`func (o *MultiHostIntegrationsCreate) SetCreated(v time.Time)` + +SetCreated sets Created field to given value. + +### HasCreated + +`func (o *MultiHostIntegrationsCreate) HasCreated() bool` + +HasCreated returns a boolean if a field has been set. + +### GetModified + +`func (o *MultiHostIntegrationsCreate) GetModified() time.Time` + +GetModified returns the Modified field if non-nil, zero value otherwise. + +### GetModifiedOk + +`func (o *MultiHostIntegrationsCreate) GetModifiedOk() (*time.Time, bool)` + +GetModifiedOk returns a tuple with the Modified field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetModified + +`func (o *MultiHostIntegrationsCreate) SetModified(v time.Time)` + +SetModified sets Modified field to given value. + +### HasModified + +`func (o *MultiHostIntegrationsCreate) HasModified() bool` + +HasModified returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/MultiHostIntegrationsCreateSources.md b/api_beta/docs/MultiHostIntegrationsCreateSources.md new file mode 100644 index 000000000..c48fdb3de --- /dev/null +++ b/api_beta/docs/MultiHostIntegrationsCreateSources.md @@ -0,0 +1,103 @@ +# MultiHostIntegrationsCreateSources + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | Source's human-readable name. | +**Description** | Pointer to **string** | Source's human-readable description. | [optional] +**ConnectorAttributes** | Pointer to **map[string]interface{}** | Connector specific configuration. This configuration will differ from type to type. | [optional] + +## Methods + +### NewMultiHostIntegrationsCreateSources + +`func NewMultiHostIntegrationsCreateSources(name string, ) *MultiHostIntegrationsCreateSources` + +NewMultiHostIntegrationsCreateSources instantiates a new MultiHostIntegrationsCreateSources object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewMultiHostIntegrationsCreateSourcesWithDefaults + +`func NewMultiHostIntegrationsCreateSourcesWithDefaults() *MultiHostIntegrationsCreateSources` + +NewMultiHostIntegrationsCreateSourcesWithDefaults instantiates a new MultiHostIntegrationsCreateSources object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetName + +`func (o *MultiHostIntegrationsCreateSources) GetName() string` + +GetName returns the Name field if non-nil, zero value otherwise. + +### GetNameOk + +`func (o *MultiHostIntegrationsCreateSources) GetNameOk() (*string, bool)` + +GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetName + +`func (o *MultiHostIntegrationsCreateSources) SetName(v string)` + +SetName sets Name field to given value. + + +### GetDescription + +`func (o *MultiHostIntegrationsCreateSources) GetDescription() string` + +GetDescription returns the Description field if non-nil, zero value otherwise. + +### GetDescriptionOk + +`func (o *MultiHostIntegrationsCreateSources) GetDescriptionOk() (*string, bool)` + +GetDescriptionOk returns a tuple with the Description field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetDescription + +`func (o *MultiHostIntegrationsCreateSources) SetDescription(v string)` + +SetDescription sets Description field to given value. + +### HasDescription + +`func (o *MultiHostIntegrationsCreateSources) HasDescription() bool` + +HasDescription returns a boolean if a field has been set. + +### GetConnectorAttributes + +`func (o *MultiHostIntegrationsCreateSources) GetConnectorAttributes() map[string]interface{}` + +GetConnectorAttributes returns the ConnectorAttributes field if non-nil, zero value otherwise. + +### GetConnectorAttributesOk + +`func (o *MultiHostIntegrationsCreateSources) GetConnectorAttributesOk() (*map[string]interface{}, bool)` + +GetConnectorAttributesOk returns a tuple with the ConnectorAttributes field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorAttributes + +`func (o *MultiHostIntegrationsCreateSources) SetConnectorAttributes(v map[string]interface{})` + +SetConnectorAttributes sets ConnectorAttributes field to given value. + +### HasConnectorAttributes + +`func (o *MultiHostIntegrationsCreateSources) HasConnectorAttributes() bool` + +HasConnectorAttributes returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/SourceManagementWorkgroup.md b/api_beta/docs/MultiHostIntegrationsManagementWorkgroup.md similarity index 57% rename from api_beta/docs/SourceManagementWorkgroup.md rename to api_beta/docs/MultiHostIntegrationsManagementWorkgroup.md index 6831eb218..3dcfdb8bc 100644 --- a/api_beta/docs/SourceManagementWorkgroup.md +++ b/api_beta/docs/MultiHostIntegrationsManagementWorkgroup.md @@ -1,4 +1,4 @@ -# SourceManagementWorkgroup +# MultiHostIntegrationsManagementWorkgroup ## Properties @@ -10,95 +10,95 @@ Name | Type | Description | Notes ## Methods -### NewSourceManagementWorkgroup +### NewMultiHostIntegrationsManagementWorkgroup -`func NewSourceManagementWorkgroup() *SourceManagementWorkgroup` +`func NewMultiHostIntegrationsManagementWorkgroup() *MultiHostIntegrationsManagementWorkgroup` -NewSourceManagementWorkgroup instantiates a new SourceManagementWorkgroup object +NewMultiHostIntegrationsManagementWorkgroup instantiates a new MultiHostIntegrationsManagementWorkgroup object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed -### NewSourceManagementWorkgroupWithDefaults +### NewMultiHostIntegrationsManagementWorkgroupWithDefaults -`func NewSourceManagementWorkgroupWithDefaults() *SourceManagementWorkgroup` +`func NewMultiHostIntegrationsManagementWorkgroupWithDefaults() *MultiHostIntegrationsManagementWorkgroup` -NewSourceManagementWorkgroupWithDefaults instantiates a new SourceManagementWorkgroup object +NewMultiHostIntegrationsManagementWorkgroupWithDefaults instantiates a new MultiHostIntegrationsManagementWorkgroup object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set ### GetType -`func (o *SourceManagementWorkgroup) GetType() string` +`func (o *MultiHostIntegrationsManagementWorkgroup) GetType() string` GetType returns the Type field if non-nil, zero value otherwise. ### GetTypeOk -`func (o *SourceManagementWorkgroup) GetTypeOk() (*string, bool)` +`func (o *MultiHostIntegrationsManagementWorkgroup) GetTypeOk() (*string, bool)` GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetType -`func (o *SourceManagementWorkgroup) SetType(v string)` +`func (o *MultiHostIntegrationsManagementWorkgroup) SetType(v string)` SetType sets Type field to given value. ### HasType -`func (o *SourceManagementWorkgroup) HasType() bool` +`func (o *MultiHostIntegrationsManagementWorkgroup) HasType() bool` HasType returns a boolean if a field has been set. ### GetId -`func (o *SourceManagementWorkgroup) GetId() string` +`func (o *MultiHostIntegrationsManagementWorkgroup) GetId() string` GetId returns the Id field if non-nil, zero value otherwise. ### GetIdOk -`func (o *SourceManagementWorkgroup) GetIdOk() (*string, bool)` +`func (o *MultiHostIntegrationsManagementWorkgroup) GetIdOk() (*string, bool)` GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetId -`func (o *SourceManagementWorkgroup) SetId(v string)` +`func (o *MultiHostIntegrationsManagementWorkgroup) SetId(v string)` SetId sets Id field to given value. ### HasId -`func (o *SourceManagementWorkgroup) HasId() bool` +`func (o *MultiHostIntegrationsManagementWorkgroup) HasId() bool` HasId returns a boolean if a field has been set. ### GetName -`func (o *SourceManagementWorkgroup) GetName() string` +`func (o *MultiHostIntegrationsManagementWorkgroup) GetName() string` GetName returns the Name field if non-nil, zero value otherwise. ### GetNameOk -`func (o *SourceManagementWorkgroup) GetNameOk() (*string, bool)` +`func (o *MultiHostIntegrationsManagementWorkgroup) GetNameOk() (*string, bool)` GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetName -`func (o *SourceManagementWorkgroup) SetName(v string)` +`func (o *MultiHostIntegrationsManagementWorkgroup) SetName(v string)` SetName sets Name field to given value. ### HasName -`func (o *SourceManagementWorkgroup) HasName() bool` +`func (o *MultiHostIntegrationsManagementWorkgroup) HasName() bool` HasName returns a boolean if a field has been set. diff --git a/api_beta/docs/SourceOwner.md b/api_beta/docs/MultiHostIntegrationsOwner.md similarity index 63% rename from api_beta/docs/SourceOwner.md rename to api_beta/docs/MultiHostIntegrationsOwner.md index 57886e0b7..fa3398fc9 100644 --- a/api_beta/docs/SourceOwner.md +++ b/api_beta/docs/MultiHostIntegrationsOwner.md @@ -1,4 +1,4 @@ -# SourceOwner +# MultiHostIntegrationsOwner ## Properties @@ -10,95 +10,95 @@ Name | Type | Description | Notes ## Methods -### NewSourceOwner +### NewMultiHostIntegrationsOwner -`func NewSourceOwner() *SourceOwner` +`func NewMultiHostIntegrationsOwner() *MultiHostIntegrationsOwner` -NewSourceOwner instantiates a new SourceOwner object +NewMultiHostIntegrationsOwner instantiates a new MultiHostIntegrationsOwner object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed -### NewSourceOwnerWithDefaults +### NewMultiHostIntegrationsOwnerWithDefaults -`func NewSourceOwnerWithDefaults() *SourceOwner` +`func NewMultiHostIntegrationsOwnerWithDefaults() *MultiHostIntegrationsOwner` -NewSourceOwnerWithDefaults instantiates a new SourceOwner object +NewMultiHostIntegrationsOwnerWithDefaults instantiates a new MultiHostIntegrationsOwner object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set ### GetType -`func (o *SourceOwner) GetType() string` +`func (o *MultiHostIntegrationsOwner) GetType() string` GetType returns the Type field if non-nil, zero value otherwise. ### GetTypeOk -`func (o *SourceOwner) GetTypeOk() (*string, bool)` +`func (o *MultiHostIntegrationsOwner) GetTypeOk() (*string, bool)` GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetType -`func (o *SourceOwner) SetType(v string)` +`func (o *MultiHostIntegrationsOwner) SetType(v string)` SetType sets Type field to given value. ### HasType -`func (o *SourceOwner) HasType() bool` +`func (o *MultiHostIntegrationsOwner) HasType() bool` HasType returns a boolean if a field has been set. ### GetId -`func (o *SourceOwner) GetId() string` +`func (o *MultiHostIntegrationsOwner) GetId() string` GetId returns the Id field if non-nil, zero value otherwise. ### GetIdOk -`func (o *SourceOwner) GetIdOk() (*string, bool)` +`func (o *MultiHostIntegrationsOwner) GetIdOk() (*string, bool)` GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetId -`func (o *SourceOwner) SetId(v string)` +`func (o *MultiHostIntegrationsOwner) SetId(v string)` SetId sets Id field to given value. ### HasId -`func (o *SourceOwner) HasId() bool` +`func (o *MultiHostIntegrationsOwner) HasId() bool` HasId returns a boolean if a field has been set. ### GetName -`func (o *SourceOwner) GetName() string` +`func (o *MultiHostIntegrationsOwner) GetName() string` GetName returns the Name field if non-nil, zero value otherwise. ### GetNameOk -`func (o *SourceOwner) GetNameOk() (*string, bool)` +`func (o *MultiHostIntegrationsOwner) GetNameOk() (*string, bool)` GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetName -`func (o *SourceOwner) SetName(v string)` +`func (o *MultiHostIntegrationsOwner) SetName(v string)` SetName sets Name field to given value. ### HasName -`func (o *SourceOwner) HasName() bool` +`func (o *MultiHostIntegrationsOwner) HasName() bool` HasName returns a boolean if a field has been set. diff --git a/api_beta/docs/MultiHostSources.md b/api_beta/docs/MultiHostSources.md new file mode 100644 index 000000000..676046467 --- /dev/null +++ b/api_beta/docs/MultiHostSources.md @@ -0,0 +1,901 @@ +# MultiHostSources + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **string** | Source ID. | [readonly] +**Name** | **string** | Source's human-readable name. | +**Description** | Pointer to **string** | Source's human-readable description. | [optional] +**Owner** | [**MultiHostIntegrationsOwner**](MultiHostIntegrationsOwner.md) | | +**Cluster** | Pointer to [**NullableMultiHostIntegrationsCluster**](MultiHostIntegrationsCluster.md) | | [optional] +**AccountCorrelationConfig** | Pointer to [**NullableMultiHostSourcesAccountCorrelationConfig**](MultiHostSourcesAccountCorrelationConfig.md) | | [optional] +**AccountCorrelationRule** | Pointer to [**NullableMultiHostSourcesAccountCorrelationRule**](MultiHostSourcesAccountCorrelationRule.md) | | [optional] +**ManagerCorrelationMapping** | Pointer to [**NullableManagerCorrelationMapping**](ManagerCorrelationMapping.md) | | [optional] +**ManagerCorrelationRule** | Pointer to [**NullableMultiHostSourcesManagerCorrelationRule**](MultiHostSourcesManagerCorrelationRule.md) | | [optional] +**BeforeProvisioningRule** | Pointer to [**NullableMultiHostSourcesBeforeProvisioningRule**](MultiHostSourcesBeforeProvisioningRule.md) | | [optional] +**Schemas** | Pointer to [**[]MultiHostSourcesSchemasInner**](MultiHostSourcesSchemasInner.md) | List of references to schema objects. | [optional] +**PasswordPolicies** | Pointer to [**[]MultiHostSourcesPasswordPoliciesInner**](MultiHostSourcesPasswordPoliciesInner.md) | List of references to the associated PasswordPolicy objects. | [optional] +**Features** | Pointer to **[]string** | Optional features that can be supported by a source. Modifying the features array may cause source configuration errors that are unsupportable. It is recommended to not modify this array for SailPoint supported connectors. * AUTHENTICATE: The source supports pass-through authentication. * COMPOSITE: The source supports composite source creation. * DIRECT_PERMISSIONS: The source supports returning DirectPermissions. * DISCOVER_SCHEMA: The source supports discovering schemas for users and groups. * ENABLE The source supports reading if an account is enabled or disabled. * MANAGER_LOOKUP: The source supports looking up managers as they are encountered in a feed. This is the opposite of NO_RANDOM_ACCESS. * NO_RANDOM_ACCESS: The source does not support random access and the getObject() methods should not be called and expected to perform. * PROXY: The source can serve as a proxy for another source. When an source has a proxy, all connector calls made with that source are redirected through the connector for the proxy source. * SEARCH * TEMPLATE * UNLOCK: The source supports reading if an account is locked or unlocked. * UNSTRUCTURED_TARGETS: The source supports returning unstructured Targets. * SHAREPOINT_TARGET: The source supports returning unstructured Target data for SharePoint. It will be typically used by AD, LDAP sources. * PROVISIONING: The source can both read and write accounts. Having this feature implies that the provision() method is implemented. It also means that direct and target permissions can also be provisioned if they can be returned by aggregation. * GROUP_PROVISIONING: The source can both read and write groups. Having this feature implies that the provision() method is implemented. * SYNC_PROVISIONING: The source can provision accounts synchronously. * PASSWORD: The source can provision password changes. Since sources can never read passwords, this is should only be used in conjunction with the PROVISIONING feature. * CURRENT_PASSWORD: Some source types support verification of the current password * ACCOUNT_ONLY_REQUEST: The source supports requesting accounts without entitlements. * ADDITIONAL_ACCOUNT_REQUEST: The source supports requesting additional accounts. * NO_AGGREGATION: A source that does not support aggregation. * GROUPS_HAVE_MEMBERS: The source models group memberships with a member attribute on the group object rather than a groups attribute on the account object. This effects the implementation of delta account aggregation. * NO_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for accounts. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for accounts. * NO_GROUP_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for groups. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for groups. * NO_UNSTRUCTURED_TARGETS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. * NO_DIRECT_PERMISSIONS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. * USES_UUID: Connectivity 2.0 flag used to indicate that the connector supports a compound naming structure. * PREFER_UUID: Used in ISC Provisioning AND Aggregation to decide if it should prefer account.uuid to account.nativeIdentity when data is read in through aggregation OR pushed out through provisioning. * ARM_SECURITY_EXTRACT: Indicates the application supports Security extracts for ARM * ARM_UTILIZATION_EXTRACT: Indicates the application supports Utilization extracts for ARM * ARM_CHANGELOG_EXTRACT: Indicates the application supports Change-log extracts for ARM | [optional] +**Type** | Pointer to **string** | Specifies the type of system being managed e.g. Multi-Host - Microsoft SQL Server, Workday, etc.. If you are creating a delimited file source, you must set the `provisionasCsv` query parameter to `true`. | [optional] +**Connector** | **string** | Connector script name. | +**ConnectorClass** | Pointer to **string** | Fully qualified name of the Java class that implements the connector interface. | [optional] +**ConnectorAttributes** | Pointer to **map[string]interface{}** | Connector specific configuration. This configuration will differ from type to type. | [optional] +**DeleteThreshold** | Pointer to **int32** | Number from 0 to 100 that specifies when to skip the delete phase. | [optional] +**Authoritative** | Pointer to **bool** | When this is true, it indicates that the source is referenced by an identity profile. | [optional] [default to false] +**ManagementWorkgroup** | Pointer to [**NullableMultiHostIntegrationsManagementWorkgroup**](MultiHostIntegrationsManagementWorkgroup.md) | | [optional] +**Healthy** | Pointer to **bool** | When this is true, it indicates that the source is healthy. | [optional] [default to false] +**Status** | Pointer to **string** | Status identifier that gives specific information about why a source is or isn't healthy. | [optional] +**Since** | Pointer to **time.Time** | Timestamp that shows when a source health check was last performed. | [optional] +**ConnectorId** | Pointer to **string** | Connector ID | [optional] +**ConnectorName** | **string** | Name of the connector that was chosen during source creation. | +**ConnectionType** | Pointer to **string** | Type of connection (direct or file). | [optional] +**ConnectorImplementationId** | Pointer to **string** | Connector implementation ID. | [optional] +**Created** | Pointer to **time.Time** | Date-time when the source was created | [optional] +**Modified** | Pointer to **time.Time** | Date-time when the source was last modified. | [optional] +**CredentialProviderEnabled** | Pointer to **bool** | If this is true, it enables a credential provider for the source. If credentialProvider is turned on, then the source can use credential provider(s) to fetch credentials. | [optional] [default to false] +**Category** | Pointer to **NullableString** | Source category (e.g. null, CredentialProvider). | [optional] + +## Methods + +### NewMultiHostSources + +`func NewMultiHostSources(id string, name string, owner MultiHostIntegrationsOwner, connector string, connectorName string, ) *MultiHostSources` + +NewMultiHostSources instantiates a new MultiHostSources object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewMultiHostSourcesWithDefaults + +`func NewMultiHostSourcesWithDefaults() *MultiHostSources` + +NewMultiHostSourcesWithDefaults instantiates a new MultiHostSources object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetId + +`func (o *MultiHostSources) GetId() string` + +GetId returns the Id field if non-nil, zero value otherwise. + +### GetIdOk + +`func (o *MultiHostSources) GetIdOk() (*string, bool)` + +GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetId + +`func (o *MultiHostSources) SetId(v string)` + +SetId sets Id field to given value. + + +### GetName + +`func (o *MultiHostSources) GetName() string` + +GetName returns the Name field if non-nil, zero value otherwise. + +### GetNameOk + +`func (o *MultiHostSources) GetNameOk() (*string, bool)` + +GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetName + +`func (o *MultiHostSources) SetName(v string)` + +SetName sets Name field to given value. + + +### GetDescription + +`func (o *MultiHostSources) GetDescription() string` + +GetDescription returns the Description field if non-nil, zero value otherwise. + +### GetDescriptionOk + +`func (o *MultiHostSources) GetDescriptionOk() (*string, bool)` + +GetDescriptionOk returns a tuple with the Description field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetDescription + +`func (o *MultiHostSources) SetDescription(v string)` + +SetDescription sets Description field to given value. + +### HasDescription + +`func (o *MultiHostSources) HasDescription() bool` + +HasDescription returns a boolean if a field has been set. + +### GetOwner + +`func (o *MultiHostSources) GetOwner() MultiHostIntegrationsOwner` + +GetOwner returns the Owner field if non-nil, zero value otherwise. + +### GetOwnerOk + +`func (o *MultiHostSources) GetOwnerOk() (*MultiHostIntegrationsOwner, bool)` + +GetOwnerOk returns a tuple with the Owner field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOwner + +`func (o *MultiHostSources) SetOwner(v MultiHostIntegrationsOwner)` + +SetOwner sets Owner field to given value. + + +### GetCluster + +`func (o *MultiHostSources) GetCluster() MultiHostIntegrationsCluster` + +GetCluster returns the Cluster field if non-nil, zero value otherwise. + +### GetClusterOk + +`func (o *MultiHostSources) GetClusterOk() (*MultiHostIntegrationsCluster, bool)` + +GetClusterOk returns a tuple with the Cluster field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCluster + +`func (o *MultiHostSources) SetCluster(v MultiHostIntegrationsCluster)` + +SetCluster sets Cluster field to given value. + +### HasCluster + +`func (o *MultiHostSources) HasCluster() bool` + +HasCluster returns a boolean if a field has been set. + +### SetClusterNil + +`func (o *MultiHostSources) SetClusterNil(b bool)` + + SetClusterNil sets the value for Cluster to be an explicit nil + +### UnsetCluster +`func (o *MultiHostSources) UnsetCluster()` + +UnsetCluster ensures that no value is present for Cluster, not even an explicit nil +### GetAccountCorrelationConfig + +`func (o *MultiHostSources) GetAccountCorrelationConfig() MultiHostSourcesAccountCorrelationConfig` + +GetAccountCorrelationConfig returns the AccountCorrelationConfig field if non-nil, zero value otherwise. + +### GetAccountCorrelationConfigOk + +`func (o *MultiHostSources) GetAccountCorrelationConfigOk() (*MultiHostSourcesAccountCorrelationConfig, bool)` + +GetAccountCorrelationConfigOk returns a tuple with the AccountCorrelationConfig field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetAccountCorrelationConfig + +`func (o *MultiHostSources) SetAccountCorrelationConfig(v MultiHostSourcesAccountCorrelationConfig)` + +SetAccountCorrelationConfig sets AccountCorrelationConfig field to given value. + +### HasAccountCorrelationConfig + +`func (o *MultiHostSources) HasAccountCorrelationConfig() bool` + +HasAccountCorrelationConfig returns a boolean if a field has been set. + +### SetAccountCorrelationConfigNil + +`func (o *MultiHostSources) SetAccountCorrelationConfigNil(b bool)` + + SetAccountCorrelationConfigNil sets the value for AccountCorrelationConfig to be an explicit nil + +### UnsetAccountCorrelationConfig +`func (o *MultiHostSources) UnsetAccountCorrelationConfig()` + +UnsetAccountCorrelationConfig ensures that no value is present for AccountCorrelationConfig, not even an explicit nil +### GetAccountCorrelationRule + +`func (o *MultiHostSources) GetAccountCorrelationRule() MultiHostSourcesAccountCorrelationRule` + +GetAccountCorrelationRule returns the AccountCorrelationRule field if non-nil, zero value otherwise. + +### GetAccountCorrelationRuleOk + +`func (o *MultiHostSources) GetAccountCorrelationRuleOk() (*MultiHostSourcesAccountCorrelationRule, bool)` + +GetAccountCorrelationRuleOk returns a tuple with the AccountCorrelationRule field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetAccountCorrelationRule + +`func (o *MultiHostSources) SetAccountCorrelationRule(v MultiHostSourcesAccountCorrelationRule)` + +SetAccountCorrelationRule sets AccountCorrelationRule field to given value. + +### HasAccountCorrelationRule + +`func (o *MultiHostSources) HasAccountCorrelationRule() bool` + +HasAccountCorrelationRule returns a boolean if a field has been set. + +### SetAccountCorrelationRuleNil + +`func (o *MultiHostSources) SetAccountCorrelationRuleNil(b bool)` + + SetAccountCorrelationRuleNil sets the value for AccountCorrelationRule to be an explicit nil + +### UnsetAccountCorrelationRule +`func (o *MultiHostSources) UnsetAccountCorrelationRule()` + +UnsetAccountCorrelationRule ensures that no value is present for AccountCorrelationRule, not even an explicit nil +### GetManagerCorrelationMapping + +`func (o *MultiHostSources) GetManagerCorrelationMapping() ManagerCorrelationMapping` + +GetManagerCorrelationMapping returns the ManagerCorrelationMapping field if non-nil, zero value otherwise. + +### GetManagerCorrelationMappingOk + +`func (o *MultiHostSources) GetManagerCorrelationMappingOk() (*ManagerCorrelationMapping, bool)` + +GetManagerCorrelationMappingOk returns a tuple with the ManagerCorrelationMapping field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetManagerCorrelationMapping + +`func (o *MultiHostSources) SetManagerCorrelationMapping(v ManagerCorrelationMapping)` + +SetManagerCorrelationMapping sets ManagerCorrelationMapping field to given value. + +### HasManagerCorrelationMapping + +`func (o *MultiHostSources) HasManagerCorrelationMapping() bool` + +HasManagerCorrelationMapping returns a boolean if a field has been set. + +### SetManagerCorrelationMappingNil + +`func (o *MultiHostSources) SetManagerCorrelationMappingNil(b bool)` + + SetManagerCorrelationMappingNil sets the value for ManagerCorrelationMapping to be an explicit nil + +### UnsetManagerCorrelationMapping +`func (o *MultiHostSources) UnsetManagerCorrelationMapping()` + +UnsetManagerCorrelationMapping ensures that no value is present for ManagerCorrelationMapping, not even an explicit nil +### GetManagerCorrelationRule + +`func (o *MultiHostSources) GetManagerCorrelationRule() MultiHostSourcesManagerCorrelationRule` + +GetManagerCorrelationRule returns the ManagerCorrelationRule field if non-nil, zero value otherwise. + +### GetManagerCorrelationRuleOk + +`func (o *MultiHostSources) GetManagerCorrelationRuleOk() (*MultiHostSourcesManagerCorrelationRule, bool)` + +GetManagerCorrelationRuleOk returns a tuple with the ManagerCorrelationRule field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetManagerCorrelationRule + +`func (o *MultiHostSources) SetManagerCorrelationRule(v MultiHostSourcesManagerCorrelationRule)` + +SetManagerCorrelationRule sets ManagerCorrelationRule field to given value. + +### HasManagerCorrelationRule + +`func (o *MultiHostSources) HasManagerCorrelationRule() bool` + +HasManagerCorrelationRule returns a boolean if a field has been set. + +### SetManagerCorrelationRuleNil + +`func (o *MultiHostSources) SetManagerCorrelationRuleNil(b bool)` + + SetManagerCorrelationRuleNil sets the value for ManagerCorrelationRule to be an explicit nil + +### UnsetManagerCorrelationRule +`func (o *MultiHostSources) UnsetManagerCorrelationRule()` + +UnsetManagerCorrelationRule ensures that no value is present for ManagerCorrelationRule, not even an explicit nil +### GetBeforeProvisioningRule + +`func (o *MultiHostSources) GetBeforeProvisioningRule() MultiHostSourcesBeforeProvisioningRule` + +GetBeforeProvisioningRule returns the BeforeProvisioningRule field if non-nil, zero value otherwise. + +### GetBeforeProvisioningRuleOk + +`func (o *MultiHostSources) GetBeforeProvisioningRuleOk() (*MultiHostSourcesBeforeProvisioningRule, bool)` + +GetBeforeProvisioningRuleOk returns a tuple with the BeforeProvisioningRule field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetBeforeProvisioningRule + +`func (o *MultiHostSources) SetBeforeProvisioningRule(v MultiHostSourcesBeforeProvisioningRule)` + +SetBeforeProvisioningRule sets BeforeProvisioningRule field to given value. + +### HasBeforeProvisioningRule + +`func (o *MultiHostSources) HasBeforeProvisioningRule() bool` + +HasBeforeProvisioningRule returns a boolean if a field has been set. + +### SetBeforeProvisioningRuleNil + +`func (o *MultiHostSources) SetBeforeProvisioningRuleNil(b bool)` + + SetBeforeProvisioningRuleNil sets the value for BeforeProvisioningRule to be an explicit nil + +### UnsetBeforeProvisioningRule +`func (o *MultiHostSources) UnsetBeforeProvisioningRule()` + +UnsetBeforeProvisioningRule ensures that no value is present for BeforeProvisioningRule, not even an explicit nil +### GetSchemas + +`func (o *MultiHostSources) GetSchemas() []MultiHostSourcesSchemasInner` + +GetSchemas returns the Schemas field if non-nil, zero value otherwise. + +### GetSchemasOk + +`func (o *MultiHostSources) GetSchemasOk() (*[]MultiHostSourcesSchemasInner, bool)` + +GetSchemasOk returns a tuple with the Schemas field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSchemas + +`func (o *MultiHostSources) SetSchemas(v []MultiHostSourcesSchemasInner)` + +SetSchemas sets Schemas field to given value. + +### HasSchemas + +`func (o *MultiHostSources) HasSchemas() bool` + +HasSchemas returns a boolean if a field has been set. + +### GetPasswordPolicies + +`func (o *MultiHostSources) GetPasswordPolicies() []MultiHostSourcesPasswordPoliciesInner` + +GetPasswordPolicies returns the PasswordPolicies field if non-nil, zero value otherwise. + +### GetPasswordPoliciesOk + +`func (o *MultiHostSources) GetPasswordPoliciesOk() (*[]MultiHostSourcesPasswordPoliciesInner, bool)` + +GetPasswordPoliciesOk returns a tuple with the PasswordPolicies field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetPasswordPolicies + +`func (o *MultiHostSources) SetPasswordPolicies(v []MultiHostSourcesPasswordPoliciesInner)` + +SetPasswordPolicies sets PasswordPolicies field to given value. + +### HasPasswordPolicies + +`func (o *MultiHostSources) HasPasswordPolicies() bool` + +HasPasswordPolicies returns a boolean if a field has been set. + +### SetPasswordPoliciesNil + +`func (o *MultiHostSources) SetPasswordPoliciesNil(b bool)` + + SetPasswordPoliciesNil sets the value for PasswordPolicies to be an explicit nil + +### UnsetPasswordPolicies +`func (o *MultiHostSources) UnsetPasswordPolicies()` + +UnsetPasswordPolicies ensures that no value is present for PasswordPolicies, not even an explicit nil +### GetFeatures + +`func (o *MultiHostSources) GetFeatures() []string` + +GetFeatures returns the Features field if non-nil, zero value otherwise. + +### GetFeaturesOk + +`func (o *MultiHostSources) GetFeaturesOk() (*[]string, bool)` + +GetFeaturesOk returns a tuple with the Features field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetFeatures + +`func (o *MultiHostSources) SetFeatures(v []string)` + +SetFeatures sets Features field to given value. + +### HasFeatures + +`func (o *MultiHostSources) HasFeatures() bool` + +HasFeatures returns a boolean if a field has been set. + +### GetType + +`func (o *MultiHostSources) GetType() string` + +GetType returns the Type field if non-nil, zero value otherwise. + +### GetTypeOk + +`func (o *MultiHostSources) GetTypeOk() (*string, bool)` + +GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetType + +`func (o *MultiHostSources) SetType(v string)` + +SetType sets Type field to given value. + +### HasType + +`func (o *MultiHostSources) HasType() bool` + +HasType returns a boolean if a field has been set. + +### GetConnector + +`func (o *MultiHostSources) GetConnector() string` + +GetConnector returns the Connector field if non-nil, zero value otherwise. + +### GetConnectorOk + +`func (o *MultiHostSources) GetConnectorOk() (*string, bool)` + +GetConnectorOk returns a tuple with the Connector field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnector + +`func (o *MultiHostSources) SetConnector(v string)` + +SetConnector sets Connector field to given value. + + +### GetConnectorClass + +`func (o *MultiHostSources) GetConnectorClass() string` + +GetConnectorClass returns the ConnectorClass field if non-nil, zero value otherwise. + +### GetConnectorClassOk + +`func (o *MultiHostSources) GetConnectorClassOk() (*string, bool)` + +GetConnectorClassOk returns a tuple with the ConnectorClass field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorClass + +`func (o *MultiHostSources) SetConnectorClass(v string)` + +SetConnectorClass sets ConnectorClass field to given value. + +### HasConnectorClass + +`func (o *MultiHostSources) HasConnectorClass() bool` + +HasConnectorClass returns a boolean if a field has been set. + +### GetConnectorAttributes + +`func (o *MultiHostSources) GetConnectorAttributes() map[string]interface{}` + +GetConnectorAttributes returns the ConnectorAttributes field if non-nil, zero value otherwise. + +### GetConnectorAttributesOk + +`func (o *MultiHostSources) GetConnectorAttributesOk() (*map[string]interface{}, bool)` + +GetConnectorAttributesOk returns a tuple with the ConnectorAttributes field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorAttributes + +`func (o *MultiHostSources) SetConnectorAttributes(v map[string]interface{})` + +SetConnectorAttributes sets ConnectorAttributes field to given value. + +### HasConnectorAttributes + +`func (o *MultiHostSources) HasConnectorAttributes() bool` + +HasConnectorAttributes returns a boolean if a field has been set. + +### GetDeleteThreshold + +`func (o *MultiHostSources) GetDeleteThreshold() int32` + +GetDeleteThreshold returns the DeleteThreshold field if non-nil, zero value otherwise. + +### GetDeleteThresholdOk + +`func (o *MultiHostSources) GetDeleteThresholdOk() (*int32, bool)` + +GetDeleteThresholdOk returns a tuple with the DeleteThreshold field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetDeleteThreshold + +`func (o *MultiHostSources) SetDeleteThreshold(v int32)` + +SetDeleteThreshold sets DeleteThreshold field to given value. + +### HasDeleteThreshold + +`func (o *MultiHostSources) HasDeleteThreshold() bool` + +HasDeleteThreshold returns a boolean if a field has been set. + +### GetAuthoritative + +`func (o *MultiHostSources) GetAuthoritative() bool` + +GetAuthoritative returns the Authoritative field if non-nil, zero value otherwise. + +### GetAuthoritativeOk + +`func (o *MultiHostSources) GetAuthoritativeOk() (*bool, bool)` + +GetAuthoritativeOk returns a tuple with the Authoritative field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetAuthoritative + +`func (o *MultiHostSources) SetAuthoritative(v bool)` + +SetAuthoritative sets Authoritative field to given value. + +### HasAuthoritative + +`func (o *MultiHostSources) HasAuthoritative() bool` + +HasAuthoritative returns a boolean if a field has been set. + +### GetManagementWorkgroup + +`func (o *MultiHostSources) GetManagementWorkgroup() MultiHostIntegrationsManagementWorkgroup` + +GetManagementWorkgroup returns the ManagementWorkgroup field if non-nil, zero value otherwise. + +### GetManagementWorkgroupOk + +`func (o *MultiHostSources) GetManagementWorkgroupOk() (*MultiHostIntegrationsManagementWorkgroup, bool)` + +GetManagementWorkgroupOk returns a tuple with the ManagementWorkgroup field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetManagementWorkgroup + +`func (o *MultiHostSources) SetManagementWorkgroup(v MultiHostIntegrationsManagementWorkgroup)` + +SetManagementWorkgroup sets ManagementWorkgroup field to given value. + +### HasManagementWorkgroup + +`func (o *MultiHostSources) HasManagementWorkgroup() bool` + +HasManagementWorkgroup returns a boolean if a field has been set. + +### SetManagementWorkgroupNil + +`func (o *MultiHostSources) SetManagementWorkgroupNil(b bool)` + + SetManagementWorkgroupNil sets the value for ManagementWorkgroup to be an explicit nil + +### UnsetManagementWorkgroup +`func (o *MultiHostSources) UnsetManagementWorkgroup()` + +UnsetManagementWorkgroup ensures that no value is present for ManagementWorkgroup, not even an explicit nil +### GetHealthy + +`func (o *MultiHostSources) GetHealthy() bool` + +GetHealthy returns the Healthy field if non-nil, zero value otherwise. + +### GetHealthyOk + +`func (o *MultiHostSources) GetHealthyOk() (*bool, bool)` + +GetHealthyOk returns a tuple with the Healthy field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetHealthy + +`func (o *MultiHostSources) SetHealthy(v bool)` + +SetHealthy sets Healthy field to given value. + +### HasHealthy + +`func (o *MultiHostSources) HasHealthy() bool` + +HasHealthy returns a boolean if a field has been set. + +### GetStatus + +`func (o *MultiHostSources) GetStatus() string` + +GetStatus returns the Status field if non-nil, zero value otherwise. + +### GetStatusOk + +`func (o *MultiHostSources) GetStatusOk() (*string, bool)` + +GetStatusOk returns a tuple with the Status field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetStatus + +`func (o *MultiHostSources) SetStatus(v string)` + +SetStatus sets Status field to given value. + +### HasStatus + +`func (o *MultiHostSources) HasStatus() bool` + +HasStatus returns a boolean if a field has been set. + +### GetSince + +`func (o *MultiHostSources) GetSince() time.Time` + +GetSince returns the Since field if non-nil, zero value otherwise. + +### GetSinceOk + +`func (o *MultiHostSources) GetSinceOk() (*time.Time, bool)` + +GetSinceOk returns a tuple with the Since field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSince + +`func (o *MultiHostSources) SetSince(v time.Time)` + +SetSince sets Since field to given value. + +### HasSince + +`func (o *MultiHostSources) HasSince() bool` + +HasSince returns a boolean if a field has been set. + +### GetConnectorId + +`func (o *MultiHostSources) GetConnectorId() string` + +GetConnectorId returns the ConnectorId field if non-nil, zero value otherwise. + +### GetConnectorIdOk + +`func (o *MultiHostSources) GetConnectorIdOk() (*string, bool)` + +GetConnectorIdOk returns a tuple with the ConnectorId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorId + +`func (o *MultiHostSources) SetConnectorId(v string)` + +SetConnectorId sets ConnectorId field to given value. + +### HasConnectorId + +`func (o *MultiHostSources) HasConnectorId() bool` + +HasConnectorId returns a boolean if a field has been set. + +### GetConnectorName + +`func (o *MultiHostSources) GetConnectorName() string` + +GetConnectorName returns the ConnectorName field if non-nil, zero value otherwise. + +### GetConnectorNameOk + +`func (o *MultiHostSources) GetConnectorNameOk() (*string, bool)` + +GetConnectorNameOk returns a tuple with the ConnectorName field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorName + +`func (o *MultiHostSources) SetConnectorName(v string)` + +SetConnectorName sets ConnectorName field to given value. + + +### GetConnectionType + +`func (o *MultiHostSources) GetConnectionType() string` + +GetConnectionType returns the ConnectionType field if non-nil, zero value otherwise. + +### GetConnectionTypeOk + +`func (o *MultiHostSources) GetConnectionTypeOk() (*string, bool)` + +GetConnectionTypeOk returns a tuple with the ConnectionType field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectionType + +`func (o *MultiHostSources) SetConnectionType(v string)` + +SetConnectionType sets ConnectionType field to given value. + +### HasConnectionType + +`func (o *MultiHostSources) HasConnectionType() bool` + +HasConnectionType returns a boolean if a field has been set. + +### GetConnectorImplementationId + +`func (o *MultiHostSources) GetConnectorImplementationId() string` + +GetConnectorImplementationId returns the ConnectorImplementationId field if non-nil, zero value otherwise. + +### GetConnectorImplementationIdOk + +`func (o *MultiHostSources) GetConnectorImplementationIdOk() (*string, bool)` + +GetConnectorImplementationIdOk returns a tuple with the ConnectorImplementationId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetConnectorImplementationId + +`func (o *MultiHostSources) SetConnectorImplementationId(v string)` + +SetConnectorImplementationId sets ConnectorImplementationId field to given value. + +### HasConnectorImplementationId + +`func (o *MultiHostSources) HasConnectorImplementationId() bool` + +HasConnectorImplementationId returns a boolean if a field has been set. + +### GetCreated + +`func (o *MultiHostSources) GetCreated() time.Time` + +GetCreated returns the Created field if non-nil, zero value otherwise. + +### GetCreatedOk + +`func (o *MultiHostSources) GetCreatedOk() (*time.Time, bool)` + +GetCreatedOk returns a tuple with the Created field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCreated + +`func (o *MultiHostSources) SetCreated(v time.Time)` + +SetCreated sets Created field to given value. + +### HasCreated + +`func (o *MultiHostSources) HasCreated() bool` + +HasCreated returns a boolean if a field has been set. + +### GetModified + +`func (o *MultiHostSources) GetModified() time.Time` + +GetModified returns the Modified field if non-nil, zero value otherwise. + +### GetModifiedOk + +`func (o *MultiHostSources) GetModifiedOk() (*time.Time, bool)` + +GetModifiedOk returns a tuple with the Modified field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetModified + +`func (o *MultiHostSources) SetModified(v time.Time)` + +SetModified sets Modified field to given value. + +### HasModified + +`func (o *MultiHostSources) HasModified() bool` + +HasModified returns a boolean if a field has been set. + +### GetCredentialProviderEnabled + +`func (o *MultiHostSources) GetCredentialProviderEnabled() bool` + +GetCredentialProviderEnabled returns the CredentialProviderEnabled field if non-nil, zero value otherwise. + +### GetCredentialProviderEnabledOk + +`func (o *MultiHostSources) GetCredentialProviderEnabledOk() (*bool, bool)` + +GetCredentialProviderEnabledOk returns a tuple with the CredentialProviderEnabled field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCredentialProviderEnabled + +`func (o *MultiHostSources) SetCredentialProviderEnabled(v bool)` + +SetCredentialProviderEnabled sets CredentialProviderEnabled field to given value. + +### HasCredentialProviderEnabled + +`func (o *MultiHostSources) HasCredentialProviderEnabled() bool` + +HasCredentialProviderEnabled returns a boolean if a field has been set. + +### GetCategory + +`func (o *MultiHostSources) GetCategory() string` + +GetCategory returns the Category field if non-nil, zero value otherwise. + +### GetCategoryOk + +`func (o *MultiHostSources) GetCategoryOk() (*string, bool)` + +GetCategoryOk returns a tuple with the Category field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCategory + +`func (o *MultiHostSources) SetCategory(v string)` + +SetCategory sets Category field to given value. + +### HasCategory + +`func (o *MultiHostSources) HasCategory() bool` + +HasCategory returns a boolean if a field has been set. + +### SetCategoryNil + +`func (o *MultiHostSources) SetCategoryNil(b bool)` + + SetCategoryNil sets the value for Category to be an explicit nil + +### UnsetCategory +`func (o *MultiHostSources) UnsetCategory()` + +UnsetCategory ensures that no value is present for Category, not even an explicit nil + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/SourceAccountCorrelationConfig.md b/api_beta/docs/MultiHostSourcesAccountCorrelationConfig.md similarity index 57% rename from api_beta/docs/SourceAccountCorrelationConfig.md rename to api_beta/docs/MultiHostSourcesAccountCorrelationConfig.md index 10e3f705c..1684f55b5 100644 --- a/api_beta/docs/SourceAccountCorrelationConfig.md +++ b/api_beta/docs/MultiHostSourcesAccountCorrelationConfig.md @@ -1,4 +1,4 @@ -# SourceAccountCorrelationConfig +# MultiHostSourcesAccountCorrelationConfig ## Properties @@ -10,95 +10,95 @@ Name | Type | Description | Notes ## Methods -### NewSourceAccountCorrelationConfig +### NewMultiHostSourcesAccountCorrelationConfig -`func NewSourceAccountCorrelationConfig() *SourceAccountCorrelationConfig` +`func NewMultiHostSourcesAccountCorrelationConfig() *MultiHostSourcesAccountCorrelationConfig` -NewSourceAccountCorrelationConfig instantiates a new SourceAccountCorrelationConfig object +NewMultiHostSourcesAccountCorrelationConfig instantiates a new MultiHostSourcesAccountCorrelationConfig object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed -### NewSourceAccountCorrelationConfigWithDefaults +### NewMultiHostSourcesAccountCorrelationConfigWithDefaults -`func NewSourceAccountCorrelationConfigWithDefaults() *SourceAccountCorrelationConfig` +`func NewMultiHostSourcesAccountCorrelationConfigWithDefaults() *MultiHostSourcesAccountCorrelationConfig` -NewSourceAccountCorrelationConfigWithDefaults instantiates a new SourceAccountCorrelationConfig object +NewMultiHostSourcesAccountCorrelationConfigWithDefaults instantiates a new MultiHostSourcesAccountCorrelationConfig object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set ### GetType -`func (o *SourceAccountCorrelationConfig) GetType() string` +`func (o *MultiHostSourcesAccountCorrelationConfig) GetType() string` GetType returns the Type field if non-nil, zero value otherwise. ### GetTypeOk -`func (o *SourceAccountCorrelationConfig) GetTypeOk() (*string, bool)` +`func (o *MultiHostSourcesAccountCorrelationConfig) GetTypeOk() (*string, bool)` GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetType -`func (o *SourceAccountCorrelationConfig) SetType(v string)` +`func (o *MultiHostSourcesAccountCorrelationConfig) SetType(v string)` SetType sets Type field to given value. ### HasType -`func (o *SourceAccountCorrelationConfig) HasType() bool` +`func (o *MultiHostSourcesAccountCorrelationConfig) HasType() bool` HasType returns a boolean if a field has been set. ### GetId -`func (o *SourceAccountCorrelationConfig) GetId() string` +`func (o *MultiHostSourcesAccountCorrelationConfig) GetId() string` GetId returns the Id field if non-nil, zero value otherwise. ### GetIdOk -`func (o *SourceAccountCorrelationConfig) GetIdOk() (*string, bool)` +`func (o *MultiHostSourcesAccountCorrelationConfig) GetIdOk() (*string, bool)` GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetId -`func (o *SourceAccountCorrelationConfig) SetId(v string)` +`func (o *MultiHostSourcesAccountCorrelationConfig) SetId(v string)` SetId sets Id field to given value. ### HasId -`func (o *SourceAccountCorrelationConfig) HasId() bool` +`func (o *MultiHostSourcesAccountCorrelationConfig) HasId() bool` HasId returns a boolean if a field has been set. ### GetName -`func (o *SourceAccountCorrelationConfig) GetName() string` +`func (o *MultiHostSourcesAccountCorrelationConfig) GetName() string` GetName returns the Name field if non-nil, zero value otherwise. ### GetNameOk -`func (o *SourceAccountCorrelationConfig) GetNameOk() (*string, bool)` +`func (o *MultiHostSourcesAccountCorrelationConfig) GetNameOk() (*string, bool)` GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetName -`func (o *SourceAccountCorrelationConfig) SetName(v string)` +`func (o *MultiHostSourcesAccountCorrelationConfig) SetName(v string)` SetName sets Name field to given value. ### HasName -`func (o *SourceAccountCorrelationConfig) HasName() bool` +`func (o *MultiHostSourcesAccountCorrelationConfig) HasName() bool` HasName returns a boolean if a field has been set. diff --git a/api_beta/docs/SourceManagerCorrelationRule.md b/api_beta/docs/MultiHostSourcesAccountCorrelationRule.md similarity index 57% rename from api_beta/docs/SourceManagerCorrelationRule.md rename to api_beta/docs/MultiHostSourcesAccountCorrelationRule.md index 9e9271031..2819f6bfd 100644 --- a/api_beta/docs/SourceManagerCorrelationRule.md +++ b/api_beta/docs/MultiHostSourcesAccountCorrelationRule.md @@ -1,4 +1,4 @@ -# SourceManagerCorrelationRule +# MultiHostSourcesAccountCorrelationRule ## Properties @@ -10,95 +10,95 @@ Name | Type | Description | Notes ## Methods -### NewSourceManagerCorrelationRule +### NewMultiHostSourcesAccountCorrelationRule -`func NewSourceManagerCorrelationRule() *SourceManagerCorrelationRule` +`func NewMultiHostSourcesAccountCorrelationRule() *MultiHostSourcesAccountCorrelationRule` -NewSourceManagerCorrelationRule instantiates a new SourceManagerCorrelationRule object +NewMultiHostSourcesAccountCorrelationRule instantiates a new MultiHostSourcesAccountCorrelationRule object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed -### NewSourceManagerCorrelationRuleWithDefaults +### NewMultiHostSourcesAccountCorrelationRuleWithDefaults -`func NewSourceManagerCorrelationRuleWithDefaults() *SourceManagerCorrelationRule` +`func NewMultiHostSourcesAccountCorrelationRuleWithDefaults() *MultiHostSourcesAccountCorrelationRule` -NewSourceManagerCorrelationRuleWithDefaults instantiates a new SourceManagerCorrelationRule object +NewMultiHostSourcesAccountCorrelationRuleWithDefaults instantiates a new MultiHostSourcesAccountCorrelationRule object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set ### GetType -`func (o *SourceManagerCorrelationRule) GetType() string` +`func (o *MultiHostSourcesAccountCorrelationRule) GetType() string` GetType returns the Type field if non-nil, zero value otherwise. ### GetTypeOk -`func (o *SourceManagerCorrelationRule) GetTypeOk() (*string, bool)` +`func (o *MultiHostSourcesAccountCorrelationRule) GetTypeOk() (*string, bool)` GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetType -`func (o *SourceManagerCorrelationRule) SetType(v string)` +`func (o *MultiHostSourcesAccountCorrelationRule) SetType(v string)` SetType sets Type field to given value. ### HasType -`func (o *SourceManagerCorrelationRule) HasType() bool` +`func (o *MultiHostSourcesAccountCorrelationRule) HasType() bool` HasType returns a boolean if a field has been set. ### GetId -`func (o *SourceManagerCorrelationRule) GetId() string` +`func (o *MultiHostSourcesAccountCorrelationRule) GetId() string` GetId returns the Id field if non-nil, zero value otherwise. ### GetIdOk -`func (o *SourceManagerCorrelationRule) GetIdOk() (*string, bool)` +`func (o *MultiHostSourcesAccountCorrelationRule) GetIdOk() (*string, bool)` GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetId -`func (o *SourceManagerCorrelationRule) SetId(v string)` +`func (o *MultiHostSourcesAccountCorrelationRule) SetId(v string)` SetId sets Id field to given value. ### HasId -`func (o *SourceManagerCorrelationRule) HasId() bool` +`func (o *MultiHostSourcesAccountCorrelationRule) HasId() bool` HasId returns a boolean if a field has been set. ### GetName -`func (o *SourceManagerCorrelationRule) GetName() string` +`func (o *MultiHostSourcesAccountCorrelationRule) GetName() string` GetName returns the Name field if non-nil, zero value otherwise. ### GetNameOk -`func (o *SourceManagerCorrelationRule) GetNameOk() (*string, bool)` +`func (o *MultiHostSourcesAccountCorrelationRule) GetNameOk() (*string, bool)` GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetName -`func (o *SourceManagerCorrelationRule) SetName(v string)` +`func (o *MultiHostSourcesAccountCorrelationRule) SetName(v string)` SetName sets Name field to given value. ### HasName -`func (o *SourceManagerCorrelationRule) HasName() bool` +`func (o *MultiHostSourcesAccountCorrelationRule) HasName() bool` HasName returns a boolean if a field has been set. diff --git a/api_beta/docs/SourceAccountCorrelationRule.md b/api_beta/docs/MultiHostSourcesBeforeProvisioningRule.md similarity index 57% rename from api_beta/docs/SourceAccountCorrelationRule.md rename to api_beta/docs/MultiHostSourcesBeforeProvisioningRule.md index 2b956fa63..cedf2b979 100644 --- a/api_beta/docs/SourceAccountCorrelationRule.md +++ b/api_beta/docs/MultiHostSourcesBeforeProvisioningRule.md @@ -1,4 +1,4 @@ -# SourceAccountCorrelationRule +# MultiHostSourcesBeforeProvisioningRule ## Properties @@ -10,95 +10,95 @@ Name | Type | Description | Notes ## Methods -### NewSourceAccountCorrelationRule +### NewMultiHostSourcesBeforeProvisioningRule -`func NewSourceAccountCorrelationRule() *SourceAccountCorrelationRule` +`func NewMultiHostSourcesBeforeProvisioningRule() *MultiHostSourcesBeforeProvisioningRule` -NewSourceAccountCorrelationRule instantiates a new SourceAccountCorrelationRule object +NewMultiHostSourcesBeforeProvisioningRule instantiates a new MultiHostSourcesBeforeProvisioningRule object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed -### NewSourceAccountCorrelationRuleWithDefaults +### NewMultiHostSourcesBeforeProvisioningRuleWithDefaults -`func NewSourceAccountCorrelationRuleWithDefaults() *SourceAccountCorrelationRule` +`func NewMultiHostSourcesBeforeProvisioningRuleWithDefaults() *MultiHostSourcesBeforeProvisioningRule` -NewSourceAccountCorrelationRuleWithDefaults instantiates a new SourceAccountCorrelationRule object +NewMultiHostSourcesBeforeProvisioningRuleWithDefaults instantiates a new MultiHostSourcesBeforeProvisioningRule object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set ### GetType -`func (o *SourceAccountCorrelationRule) GetType() string` +`func (o *MultiHostSourcesBeforeProvisioningRule) GetType() string` GetType returns the Type field if non-nil, zero value otherwise. ### GetTypeOk -`func (o *SourceAccountCorrelationRule) GetTypeOk() (*string, bool)` +`func (o *MultiHostSourcesBeforeProvisioningRule) GetTypeOk() (*string, bool)` GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetType -`func (o *SourceAccountCorrelationRule) SetType(v string)` +`func (o *MultiHostSourcesBeforeProvisioningRule) SetType(v string)` SetType sets Type field to given value. ### HasType -`func (o *SourceAccountCorrelationRule) HasType() bool` +`func (o *MultiHostSourcesBeforeProvisioningRule) HasType() bool` HasType returns a boolean if a field has been set. ### GetId -`func (o *SourceAccountCorrelationRule) GetId() string` +`func (o *MultiHostSourcesBeforeProvisioningRule) GetId() string` GetId returns the Id field if non-nil, zero value otherwise. ### GetIdOk -`func (o *SourceAccountCorrelationRule) GetIdOk() (*string, bool)` +`func (o *MultiHostSourcesBeforeProvisioningRule) GetIdOk() (*string, bool)` GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetId -`func (o *SourceAccountCorrelationRule) SetId(v string)` +`func (o *MultiHostSourcesBeforeProvisioningRule) SetId(v string)` SetId sets Id field to given value. ### HasId -`func (o *SourceAccountCorrelationRule) HasId() bool` +`func (o *MultiHostSourcesBeforeProvisioningRule) HasId() bool` HasId returns a boolean if a field has been set. ### GetName -`func (o *SourceAccountCorrelationRule) GetName() string` +`func (o *MultiHostSourcesBeforeProvisioningRule) GetName() string` GetName returns the Name field if non-nil, zero value otherwise. ### GetNameOk -`func (o *SourceAccountCorrelationRule) GetNameOk() (*string, bool)` +`func (o *MultiHostSourcesBeforeProvisioningRule) GetNameOk() (*string, bool)` GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetName -`func (o *SourceAccountCorrelationRule) SetName(v string)` +`func (o *MultiHostSourcesBeforeProvisioningRule) SetName(v string)` SetName sets Name field to given value. ### HasName -`func (o *SourceAccountCorrelationRule) HasName() bool` +`func (o *MultiHostSourcesBeforeProvisioningRule) HasName() bool` HasName returns a boolean if a field has been set. diff --git a/api_beta/docs/SourceBeforeProvisioningRule.md b/api_beta/docs/MultiHostSourcesManagerCorrelationRule.md similarity index 57% rename from api_beta/docs/SourceBeforeProvisioningRule.md rename to api_beta/docs/MultiHostSourcesManagerCorrelationRule.md index 1201115d2..7535605e2 100644 --- a/api_beta/docs/SourceBeforeProvisioningRule.md +++ b/api_beta/docs/MultiHostSourcesManagerCorrelationRule.md @@ -1,4 +1,4 @@ -# SourceBeforeProvisioningRule +# MultiHostSourcesManagerCorrelationRule ## Properties @@ -10,95 +10,95 @@ Name | Type | Description | Notes ## Methods -### NewSourceBeforeProvisioningRule +### NewMultiHostSourcesManagerCorrelationRule -`func NewSourceBeforeProvisioningRule() *SourceBeforeProvisioningRule` +`func NewMultiHostSourcesManagerCorrelationRule() *MultiHostSourcesManagerCorrelationRule` -NewSourceBeforeProvisioningRule instantiates a new SourceBeforeProvisioningRule object +NewMultiHostSourcesManagerCorrelationRule instantiates a new MultiHostSourcesManagerCorrelationRule object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed -### NewSourceBeforeProvisioningRuleWithDefaults +### NewMultiHostSourcesManagerCorrelationRuleWithDefaults -`func NewSourceBeforeProvisioningRuleWithDefaults() *SourceBeforeProvisioningRule` +`func NewMultiHostSourcesManagerCorrelationRuleWithDefaults() *MultiHostSourcesManagerCorrelationRule` -NewSourceBeforeProvisioningRuleWithDefaults instantiates a new SourceBeforeProvisioningRule object +NewMultiHostSourcesManagerCorrelationRuleWithDefaults instantiates a new MultiHostSourcesManagerCorrelationRule object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set ### GetType -`func (o *SourceBeforeProvisioningRule) GetType() string` +`func (o *MultiHostSourcesManagerCorrelationRule) GetType() string` GetType returns the Type field if non-nil, zero value otherwise. ### GetTypeOk -`func (o *SourceBeforeProvisioningRule) GetTypeOk() (*string, bool)` +`func (o *MultiHostSourcesManagerCorrelationRule) GetTypeOk() (*string, bool)` GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetType -`func (o *SourceBeforeProvisioningRule) SetType(v string)` +`func (o *MultiHostSourcesManagerCorrelationRule) SetType(v string)` SetType sets Type field to given value. ### HasType -`func (o *SourceBeforeProvisioningRule) HasType() bool` +`func (o *MultiHostSourcesManagerCorrelationRule) HasType() bool` HasType returns a boolean if a field has been set. ### GetId -`func (o *SourceBeforeProvisioningRule) GetId() string` +`func (o *MultiHostSourcesManagerCorrelationRule) GetId() string` GetId returns the Id field if non-nil, zero value otherwise. ### GetIdOk -`func (o *SourceBeforeProvisioningRule) GetIdOk() (*string, bool)` +`func (o *MultiHostSourcesManagerCorrelationRule) GetIdOk() (*string, bool)` GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetId -`func (o *SourceBeforeProvisioningRule) SetId(v string)` +`func (o *MultiHostSourcesManagerCorrelationRule) SetId(v string)` SetId sets Id field to given value. ### HasId -`func (o *SourceBeforeProvisioningRule) HasId() bool` +`func (o *MultiHostSourcesManagerCorrelationRule) HasId() bool` HasId returns a boolean if a field has been set. ### GetName -`func (o *SourceBeforeProvisioningRule) GetName() string` +`func (o *MultiHostSourcesManagerCorrelationRule) GetName() string` GetName returns the Name field if non-nil, zero value otherwise. ### GetNameOk -`func (o *SourceBeforeProvisioningRule) GetNameOk() (*string, bool)` +`func (o *MultiHostSourcesManagerCorrelationRule) GetNameOk() (*string, bool)` GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetName -`func (o *SourceBeforeProvisioningRule) SetName(v string)` +`func (o *MultiHostSourcesManagerCorrelationRule) SetName(v string)` SetName sets Name field to given value. ### HasName -`func (o *SourceBeforeProvisioningRule) HasName() bool` +`func (o *MultiHostSourcesManagerCorrelationRule) HasName() bool` HasName returns a boolean if a field has been set. diff --git a/api_beta/docs/SourcePasswordPoliciesInner.md b/api_beta/docs/MultiHostSourcesPasswordPoliciesInner.md similarity index 58% rename from api_beta/docs/SourcePasswordPoliciesInner.md rename to api_beta/docs/MultiHostSourcesPasswordPoliciesInner.md index 360fd1b4b..2365c9f1a 100644 --- a/api_beta/docs/SourcePasswordPoliciesInner.md +++ b/api_beta/docs/MultiHostSourcesPasswordPoliciesInner.md @@ -1,4 +1,4 @@ -# SourcePasswordPoliciesInner +# MultiHostSourcesPasswordPoliciesInner ## Properties @@ -10,95 +10,95 @@ Name | Type | Description | Notes ## Methods -### NewSourcePasswordPoliciesInner +### NewMultiHostSourcesPasswordPoliciesInner -`func NewSourcePasswordPoliciesInner() *SourcePasswordPoliciesInner` +`func NewMultiHostSourcesPasswordPoliciesInner() *MultiHostSourcesPasswordPoliciesInner` -NewSourcePasswordPoliciesInner instantiates a new SourcePasswordPoliciesInner object +NewMultiHostSourcesPasswordPoliciesInner instantiates a new MultiHostSourcesPasswordPoliciesInner object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed -### NewSourcePasswordPoliciesInnerWithDefaults +### NewMultiHostSourcesPasswordPoliciesInnerWithDefaults -`func NewSourcePasswordPoliciesInnerWithDefaults() *SourcePasswordPoliciesInner` +`func NewMultiHostSourcesPasswordPoliciesInnerWithDefaults() *MultiHostSourcesPasswordPoliciesInner` -NewSourcePasswordPoliciesInnerWithDefaults instantiates a new SourcePasswordPoliciesInner object +NewMultiHostSourcesPasswordPoliciesInnerWithDefaults instantiates a new MultiHostSourcesPasswordPoliciesInner object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set ### GetType -`func (o *SourcePasswordPoliciesInner) GetType() string` +`func (o *MultiHostSourcesPasswordPoliciesInner) GetType() string` GetType returns the Type field if non-nil, zero value otherwise. ### GetTypeOk -`func (o *SourcePasswordPoliciesInner) GetTypeOk() (*string, bool)` +`func (o *MultiHostSourcesPasswordPoliciesInner) GetTypeOk() (*string, bool)` GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetType -`func (o *SourcePasswordPoliciesInner) SetType(v string)` +`func (o *MultiHostSourcesPasswordPoliciesInner) SetType(v string)` SetType sets Type field to given value. ### HasType -`func (o *SourcePasswordPoliciesInner) HasType() bool` +`func (o *MultiHostSourcesPasswordPoliciesInner) HasType() bool` HasType returns a boolean if a field has been set. ### GetId -`func (o *SourcePasswordPoliciesInner) GetId() string` +`func (o *MultiHostSourcesPasswordPoliciesInner) GetId() string` GetId returns the Id field if non-nil, zero value otherwise. ### GetIdOk -`func (o *SourcePasswordPoliciesInner) GetIdOk() (*string, bool)` +`func (o *MultiHostSourcesPasswordPoliciesInner) GetIdOk() (*string, bool)` GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetId -`func (o *SourcePasswordPoliciesInner) SetId(v string)` +`func (o *MultiHostSourcesPasswordPoliciesInner) SetId(v string)` SetId sets Id field to given value. ### HasId -`func (o *SourcePasswordPoliciesInner) HasId() bool` +`func (o *MultiHostSourcesPasswordPoliciesInner) HasId() bool` HasId returns a boolean if a field has been set. ### GetName -`func (o *SourcePasswordPoliciesInner) GetName() string` +`func (o *MultiHostSourcesPasswordPoliciesInner) GetName() string` GetName returns the Name field if non-nil, zero value otherwise. ### GetNameOk -`func (o *SourcePasswordPoliciesInner) GetNameOk() (*string, bool)` +`func (o *MultiHostSourcesPasswordPoliciesInner) GetNameOk() (*string, bool)` GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetName -`func (o *SourcePasswordPoliciesInner) SetName(v string)` +`func (o *MultiHostSourcesPasswordPoliciesInner) SetName(v string)` SetName sets Name field to given value. ### HasName -`func (o *SourcePasswordPoliciesInner) HasName() bool` +`func (o *MultiHostSourcesPasswordPoliciesInner) HasName() bool` HasName returns a boolean if a field has been set. diff --git a/api_beta/docs/SourceSchemasInner.md b/api_beta/docs/MultiHostSourcesSchemasInner.md similarity index 62% rename from api_beta/docs/SourceSchemasInner.md rename to api_beta/docs/MultiHostSourcesSchemasInner.md index 29150a20e..4951a835a 100644 --- a/api_beta/docs/SourceSchemasInner.md +++ b/api_beta/docs/MultiHostSourcesSchemasInner.md @@ -1,4 +1,4 @@ -# SourceSchemasInner +# MultiHostSourcesSchemasInner ## Properties @@ -10,95 +10,95 @@ Name | Type | Description | Notes ## Methods -### NewSourceSchemasInner +### NewMultiHostSourcesSchemasInner -`func NewSourceSchemasInner() *SourceSchemasInner` +`func NewMultiHostSourcesSchemasInner() *MultiHostSourcesSchemasInner` -NewSourceSchemasInner instantiates a new SourceSchemasInner object +NewMultiHostSourcesSchemasInner instantiates a new MultiHostSourcesSchemasInner object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed -### NewSourceSchemasInnerWithDefaults +### NewMultiHostSourcesSchemasInnerWithDefaults -`func NewSourceSchemasInnerWithDefaults() *SourceSchemasInner` +`func NewMultiHostSourcesSchemasInnerWithDefaults() *MultiHostSourcesSchemasInner` -NewSourceSchemasInnerWithDefaults instantiates a new SourceSchemasInner object +NewMultiHostSourcesSchemasInnerWithDefaults instantiates a new MultiHostSourcesSchemasInner object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set ### GetType -`func (o *SourceSchemasInner) GetType() string` +`func (o *MultiHostSourcesSchemasInner) GetType() string` GetType returns the Type field if non-nil, zero value otherwise. ### GetTypeOk -`func (o *SourceSchemasInner) GetTypeOk() (*string, bool)` +`func (o *MultiHostSourcesSchemasInner) GetTypeOk() (*string, bool)` GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetType -`func (o *SourceSchemasInner) SetType(v string)` +`func (o *MultiHostSourcesSchemasInner) SetType(v string)` SetType sets Type field to given value. ### HasType -`func (o *SourceSchemasInner) HasType() bool` +`func (o *MultiHostSourcesSchemasInner) HasType() bool` HasType returns a boolean if a field has been set. ### GetId -`func (o *SourceSchemasInner) GetId() string` +`func (o *MultiHostSourcesSchemasInner) GetId() string` GetId returns the Id field if non-nil, zero value otherwise. ### GetIdOk -`func (o *SourceSchemasInner) GetIdOk() (*string, bool)` +`func (o *MultiHostSourcesSchemasInner) GetIdOk() (*string, bool)` GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetId -`func (o *SourceSchemasInner) SetId(v string)` +`func (o *MultiHostSourcesSchemasInner) SetId(v string)` SetId sets Id field to given value. ### HasId -`func (o *SourceSchemasInner) HasId() bool` +`func (o *MultiHostSourcesSchemasInner) HasId() bool` HasId returns a boolean if a field has been set. ### GetName -`func (o *SourceSchemasInner) GetName() string` +`func (o *MultiHostSourcesSchemasInner) GetName() string` GetName returns the Name field if non-nil, zero value otherwise. ### GetNameOk -`func (o *SourceSchemasInner) GetNameOk() (*string, bool)` +`func (o *MultiHostSourcesSchemasInner) GetNameOk() (*string, bool)` GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetName -`func (o *SourceSchemasInner) SetName(v string)` +`func (o *MultiHostSourcesSchemasInner) SetName(v string)` SetName sets Name field to given value. ### HasName -`func (o *SourceSchemasInner) HasName() bool` +`func (o *MultiHostSourcesSchemasInner) HasName() bool` HasName returns a boolean if a field has been set. diff --git a/api_beta/docs/Source.md b/api_beta/docs/Source.md index 4ef01a70a..e4fba226d 100644 --- a/api_beta/docs/Source.md +++ b/api_beta/docs/Source.md @@ -7,15 +7,15 @@ Name | Type | Description | Notes **Id** | Pointer to **string** | Source ID. | [optional] [readonly] **Name** | **string** | Source's human-readable name. | **Description** | Pointer to **string** | Source's human-readable description. | [optional] -**Owner** | [**SourceOwner**](SourceOwner.md) | | -**Cluster** | Pointer to [**NullableSourceCluster**](SourceCluster.md) | | [optional] -**AccountCorrelationConfig** | Pointer to [**NullableSourceAccountCorrelationConfig**](SourceAccountCorrelationConfig.md) | | [optional] -**AccountCorrelationRule** | Pointer to [**NullableSourceAccountCorrelationRule**](SourceAccountCorrelationRule.md) | | [optional] +**Owner** | [**MultiHostIntegrationsOwner**](MultiHostIntegrationsOwner.md) | | +**Cluster** | Pointer to [**NullableMultiHostIntegrationsCluster**](MultiHostIntegrationsCluster.md) | | [optional] +**AccountCorrelationConfig** | Pointer to [**NullableMultiHostSourcesAccountCorrelationConfig**](MultiHostSourcesAccountCorrelationConfig.md) | | [optional] +**AccountCorrelationRule** | Pointer to [**NullableMultiHostSourcesAccountCorrelationRule**](MultiHostSourcesAccountCorrelationRule.md) | | [optional] **ManagerCorrelationMapping** | Pointer to [**NullableManagerCorrelationMapping**](ManagerCorrelationMapping.md) | | [optional] -**ManagerCorrelationRule** | Pointer to [**NullableSourceManagerCorrelationRule**](SourceManagerCorrelationRule.md) | | [optional] -**BeforeProvisioningRule** | Pointer to [**NullableSourceBeforeProvisioningRule**](SourceBeforeProvisioningRule.md) | | [optional] -**Schemas** | Pointer to [**[]SourceSchemasInner**](SourceSchemasInner.md) | List of references to schema objects. | [optional] -**PasswordPolicies** | Pointer to [**[]SourcePasswordPoliciesInner**](SourcePasswordPoliciesInner.md) | List of references to the associated PasswordPolicy objects. | [optional] +**ManagerCorrelationRule** | Pointer to [**NullableMultiHostSourcesManagerCorrelationRule**](MultiHostSourcesManagerCorrelationRule.md) | | [optional] +**BeforeProvisioningRule** | Pointer to [**NullableMultiHostSourcesBeforeProvisioningRule**](MultiHostSourcesBeforeProvisioningRule.md) | | [optional] +**Schemas** | Pointer to [**[]MultiHostSourcesSchemasInner**](MultiHostSourcesSchemasInner.md) | List of references to schema objects. | [optional] +**PasswordPolicies** | Pointer to [**[]MultiHostSourcesPasswordPoliciesInner**](MultiHostSourcesPasswordPoliciesInner.md) | List of references to the associated PasswordPolicy objects. | [optional] **Features** | Pointer to **[]string** | Optional features that can be supported by a source. Modifying the features array may cause source configuration errors that are unsupportable. It is recommended to not modify this array for SailPoint supported connectors. * AUTHENTICATE: The source supports pass-through authentication. * COMPOSITE: The source supports composite source creation. * DIRECT_PERMISSIONS: The source supports returning DirectPermissions. * DISCOVER_SCHEMA: The source supports discovering schemas for users and groups. * ENABLE The source supports reading if an account is enabled or disabled. * MANAGER_LOOKUP: The source supports looking up managers as they are encountered in a feed. This is the opposite of NO_RANDOM_ACCESS. * NO_RANDOM_ACCESS: The source does not support random access and the getObject() methods should not be called and expected to perform. * PROXY: The source can serve as a proxy for another source. When an source has a proxy, all connector calls made with that source are redirected through the connector for the proxy source. * SEARCH * TEMPLATE * UNLOCK: The source supports reading if an account is locked or unlocked. * UNSTRUCTURED_TARGETS: The source supports returning unstructured Targets. * SHAREPOINT_TARGET: The source supports returning unstructured Target data for SharePoint. It will be typically used by AD, LDAP sources. * PROVISIONING: The source can both read and write accounts. Having this feature implies that the provision() method is implemented. It also means that direct and target permissions can also be provisioned if they can be returned by aggregation. * GROUP_PROVISIONING: The source can both read and write groups. Having this feature implies that the provision() method is implemented. * SYNC_PROVISIONING: The source can provision accounts synchronously. * PASSWORD: The source can provision password changes. Since sources can never read passwords, this is should only be used in conjunction with the PROVISIONING feature. * CURRENT_PASSWORD: Some source types support verification of the current password * ACCOUNT_ONLY_REQUEST: The source supports requesting accounts without entitlements. * ADDITIONAL_ACCOUNT_REQUEST: The source supports requesting additional accounts. * NO_AGGREGATION: A source that does not support aggregation. * GROUPS_HAVE_MEMBERS: The source models group memberships with a member attribute on the group object rather than a groups attribute on the account object. This effects the implementation of delta account aggregation. * NO_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for accounts. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for accounts. * NO_GROUP_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for groups. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for groups. * NO_UNSTRUCTURED_TARGETS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. * NO_DIRECT_PERMISSIONS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. * USES_UUID: Connectivity 2.0 flag used to indicate that the connector supports a compound naming structure. * PREFER_UUID: Used in ISC Provisioning AND Aggregation to decide if it should prefer account.uuid to account.nativeIdentity when data is read in through aggregation OR pushed out through provisioning. * ARM_SECURITY_EXTRACT: Indicates the application supports Security extracts for ARM * ARM_UTILIZATION_EXTRACT: Indicates the application supports Utilization extracts for ARM * ARM_CHANGELOG_EXTRACT: Indicates the application supports Change-log extracts for ARM | [optional] **Type** | Pointer to **string** | Specifies the type of system being managed e.g. Active Directory, Workday, etc.. If you are creating a delimited file source, you must set the `provisionasCsv` query parameter to `true`. | [optional] **Connector** | **string** | Connector script name. | @@ -23,7 +23,7 @@ Name | Type | Description | Notes **ConnectorAttributes** | Pointer to **map[string]interface{}** | Connector specific configuration. This configuration will differ from type to type. | [optional] **DeleteThreshold** | Pointer to **int32** | Number from 0 to 100 that specifies when to skip the delete phase. | [optional] **Authoritative** | Pointer to **bool** | When this is true, it indicates that the source is referenced by an identity profile. | [optional] [default to false] -**ManagementWorkgroup** | Pointer to [**NullableSourceManagementWorkgroup**](SourceManagementWorkgroup.md) | | [optional] +**ManagementWorkgroup** | Pointer to [**NullableMultiHostIntegrationsManagementWorkgroup**](MultiHostIntegrationsManagementWorkgroup.md) | | [optional] **Healthy** | Pointer to **bool** | When this is true, it indicates that the source is healthy. | [optional] [default to false] **Status** | Pointer to **string** | Status identifier that gives specific information about why a source is or isn't healthy. | [optional] **Since** | Pointer to **string** | Timestamp that shows when a source health check was last performed. | [optional] @@ -40,7 +40,7 @@ Name | Type | Description | Notes ### NewSource -`func NewSource(name string, owner SourceOwner, connector string, ) *Source` +`func NewSource(name string, owner MultiHostIntegrationsOwner, connector string, ) *Source` NewSource instantiates a new Source object This constructor will assign default values to properties that have it defined, @@ -127,40 +127,40 @@ HasDescription returns a boolean if a field has been set. ### GetOwner -`func (o *Source) GetOwner() SourceOwner` +`func (o *Source) GetOwner() MultiHostIntegrationsOwner` GetOwner returns the Owner field if non-nil, zero value otherwise. ### GetOwnerOk -`func (o *Source) GetOwnerOk() (*SourceOwner, bool)` +`func (o *Source) GetOwnerOk() (*MultiHostIntegrationsOwner, bool)` GetOwnerOk returns a tuple with the Owner field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetOwner -`func (o *Source) SetOwner(v SourceOwner)` +`func (o *Source) SetOwner(v MultiHostIntegrationsOwner)` SetOwner sets Owner field to given value. ### GetCluster -`func (o *Source) GetCluster() SourceCluster` +`func (o *Source) GetCluster() MultiHostIntegrationsCluster` GetCluster returns the Cluster field if non-nil, zero value otherwise. ### GetClusterOk -`func (o *Source) GetClusterOk() (*SourceCluster, bool)` +`func (o *Source) GetClusterOk() (*MultiHostIntegrationsCluster, bool)` GetClusterOk returns a tuple with the Cluster field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetCluster -`func (o *Source) SetCluster(v SourceCluster)` +`func (o *Source) SetCluster(v MultiHostIntegrationsCluster)` SetCluster sets Cluster field to given value. @@ -182,20 +182,20 @@ HasCluster returns a boolean if a field has been set. UnsetCluster ensures that no value is present for Cluster, not even an explicit nil ### GetAccountCorrelationConfig -`func (o *Source) GetAccountCorrelationConfig() SourceAccountCorrelationConfig` +`func (o *Source) GetAccountCorrelationConfig() MultiHostSourcesAccountCorrelationConfig` GetAccountCorrelationConfig returns the AccountCorrelationConfig field if non-nil, zero value otherwise. ### GetAccountCorrelationConfigOk -`func (o *Source) GetAccountCorrelationConfigOk() (*SourceAccountCorrelationConfig, bool)` +`func (o *Source) GetAccountCorrelationConfigOk() (*MultiHostSourcesAccountCorrelationConfig, bool)` GetAccountCorrelationConfigOk returns a tuple with the AccountCorrelationConfig field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetAccountCorrelationConfig -`func (o *Source) SetAccountCorrelationConfig(v SourceAccountCorrelationConfig)` +`func (o *Source) SetAccountCorrelationConfig(v MultiHostSourcesAccountCorrelationConfig)` SetAccountCorrelationConfig sets AccountCorrelationConfig field to given value. @@ -217,20 +217,20 @@ HasAccountCorrelationConfig returns a boolean if a field has been set. UnsetAccountCorrelationConfig ensures that no value is present for AccountCorrelationConfig, not even an explicit nil ### GetAccountCorrelationRule -`func (o *Source) GetAccountCorrelationRule() SourceAccountCorrelationRule` +`func (o *Source) GetAccountCorrelationRule() MultiHostSourcesAccountCorrelationRule` GetAccountCorrelationRule returns the AccountCorrelationRule field if non-nil, zero value otherwise. ### GetAccountCorrelationRuleOk -`func (o *Source) GetAccountCorrelationRuleOk() (*SourceAccountCorrelationRule, bool)` +`func (o *Source) GetAccountCorrelationRuleOk() (*MultiHostSourcesAccountCorrelationRule, bool)` GetAccountCorrelationRuleOk returns a tuple with the AccountCorrelationRule field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetAccountCorrelationRule -`func (o *Source) SetAccountCorrelationRule(v SourceAccountCorrelationRule)` +`func (o *Source) SetAccountCorrelationRule(v MultiHostSourcesAccountCorrelationRule)` SetAccountCorrelationRule sets AccountCorrelationRule field to given value. @@ -287,20 +287,20 @@ HasManagerCorrelationMapping returns a boolean if a field has been set. UnsetManagerCorrelationMapping ensures that no value is present for ManagerCorrelationMapping, not even an explicit nil ### GetManagerCorrelationRule -`func (o *Source) GetManagerCorrelationRule() SourceManagerCorrelationRule` +`func (o *Source) GetManagerCorrelationRule() MultiHostSourcesManagerCorrelationRule` GetManagerCorrelationRule returns the ManagerCorrelationRule field if non-nil, zero value otherwise. ### GetManagerCorrelationRuleOk -`func (o *Source) GetManagerCorrelationRuleOk() (*SourceManagerCorrelationRule, bool)` +`func (o *Source) GetManagerCorrelationRuleOk() (*MultiHostSourcesManagerCorrelationRule, bool)` GetManagerCorrelationRuleOk returns a tuple with the ManagerCorrelationRule field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetManagerCorrelationRule -`func (o *Source) SetManagerCorrelationRule(v SourceManagerCorrelationRule)` +`func (o *Source) SetManagerCorrelationRule(v MultiHostSourcesManagerCorrelationRule)` SetManagerCorrelationRule sets ManagerCorrelationRule field to given value. @@ -322,20 +322,20 @@ HasManagerCorrelationRule returns a boolean if a field has been set. UnsetManagerCorrelationRule ensures that no value is present for ManagerCorrelationRule, not even an explicit nil ### GetBeforeProvisioningRule -`func (o *Source) GetBeforeProvisioningRule() SourceBeforeProvisioningRule` +`func (o *Source) GetBeforeProvisioningRule() MultiHostSourcesBeforeProvisioningRule` GetBeforeProvisioningRule returns the BeforeProvisioningRule field if non-nil, zero value otherwise. ### GetBeforeProvisioningRuleOk -`func (o *Source) GetBeforeProvisioningRuleOk() (*SourceBeforeProvisioningRule, bool)` +`func (o *Source) GetBeforeProvisioningRuleOk() (*MultiHostSourcesBeforeProvisioningRule, bool)` GetBeforeProvisioningRuleOk returns a tuple with the BeforeProvisioningRule field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetBeforeProvisioningRule -`func (o *Source) SetBeforeProvisioningRule(v SourceBeforeProvisioningRule)` +`func (o *Source) SetBeforeProvisioningRule(v MultiHostSourcesBeforeProvisioningRule)` SetBeforeProvisioningRule sets BeforeProvisioningRule field to given value. @@ -357,20 +357,20 @@ HasBeforeProvisioningRule returns a boolean if a field has been set. UnsetBeforeProvisioningRule ensures that no value is present for BeforeProvisioningRule, not even an explicit nil ### GetSchemas -`func (o *Source) GetSchemas() []SourceSchemasInner` +`func (o *Source) GetSchemas() []MultiHostSourcesSchemasInner` GetSchemas returns the Schemas field if non-nil, zero value otherwise. ### GetSchemasOk -`func (o *Source) GetSchemasOk() (*[]SourceSchemasInner, bool)` +`func (o *Source) GetSchemasOk() (*[]MultiHostSourcesSchemasInner, bool)` GetSchemasOk returns a tuple with the Schemas field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetSchemas -`func (o *Source) SetSchemas(v []SourceSchemasInner)` +`func (o *Source) SetSchemas(v []MultiHostSourcesSchemasInner)` SetSchemas sets Schemas field to given value. @@ -382,20 +382,20 @@ HasSchemas returns a boolean if a field has been set. ### GetPasswordPolicies -`func (o *Source) GetPasswordPolicies() []SourcePasswordPoliciesInner` +`func (o *Source) GetPasswordPolicies() []MultiHostSourcesPasswordPoliciesInner` GetPasswordPolicies returns the PasswordPolicies field if non-nil, zero value otherwise. ### GetPasswordPoliciesOk -`func (o *Source) GetPasswordPoliciesOk() (*[]SourcePasswordPoliciesInner, bool)` +`func (o *Source) GetPasswordPoliciesOk() (*[]MultiHostSourcesPasswordPoliciesInner, bool)` GetPasswordPoliciesOk returns a tuple with the PasswordPolicies field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetPasswordPolicies -`func (o *Source) SetPasswordPolicies(v []SourcePasswordPoliciesInner)` +`func (o *Source) SetPasswordPolicies(v []MultiHostSourcesPasswordPoliciesInner)` SetPasswordPolicies sets PasswordPolicies field to given value. @@ -587,20 +587,20 @@ HasAuthoritative returns a boolean if a field has been set. ### GetManagementWorkgroup -`func (o *Source) GetManagementWorkgroup() SourceManagementWorkgroup` +`func (o *Source) GetManagementWorkgroup() MultiHostIntegrationsManagementWorkgroup` GetManagementWorkgroup returns the ManagementWorkgroup field if non-nil, zero value otherwise. ### GetManagementWorkgroupOk -`func (o *Source) GetManagementWorkgroupOk() (*SourceManagementWorkgroup, bool)` +`func (o *Source) GetManagementWorkgroupOk() (*MultiHostIntegrationsManagementWorkgroup, bool)` GetManagementWorkgroupOk returns a tuple with the ManagementWorkgroup field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. ### SetManagementWorkgroup -`func (o *Source) SetManagementWorkgroup(v SourceManagementWorkgroup)` +`func (o *Source) SetManagementWorkgroup(v MultiHostIntegrationsManagementWorkgroup)` SetManagementWorkgroup sets ManagementWorkgroup field to given value. diff --git a/api_beta/docs/SourceCreationErrors.md b/api_beta/docs/SourceCreationErrors.md new file mode 100644 index 000000000..95aefc4e9 --- /dev/null +++ b/api_beta/docs/SourceCreationErrors.md @@ -0,0 +1,196 @@ +# SourceCreationErrors + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**MultihostId** | Pointer to **string** | Multi-Host Integration ID. | [optional] [readonly] +**SourceName** | Pointer to **string** | Source's human-readable name. | [optional] +**SourceError** | Pointer to **string** | Source's human-readable description. | [optional] +**Created** | Pointer to **time.Time** | Date-time when the source was created | [optional] +**Modified** | Pointer to **time.Time** | Date-time when the source was last modified. | [optional] +**Operation** | Pointer to **NullableString** | operation category (e.g. DELETE). | [optional] + +## Methods + +### NewSourceCreationErrors + +`func NewSourceCreationErrors() *SourceCreationErrors` + +NewSourceCreationErrors instantiates a new SourceCreationErrors object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewSourceCreationErrorsWithDefaults + +`func NewSourceCreationErrorsWithDefaults() *SourceCreationErrors` + +NewSourceCreationErrorsWithDefaults instantiates a new SourceCreationErrors object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetMultihostId + +`func (o *SourceCreationErrors) GetMultihostId() string` + +GetMultihostId returns the MultihostId field if non-nil, zero value otherwise. + +### GetMultihostIdOk + +`func (o *SourceCreationErrors) GetMultihostIdOk() (*string, bool)` + +GetMultihostIdOk returns a tuple with the MultihostId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetMultihostId + +`func (o *SourceCreationErrors) SetMultihostId(v string)` + +SetMultihostId sets MultihostId field to given value. + +### HasMultihostId + +`func (o *SourceCreationErrors) HasMultihostId() bool` + +HasMultihostId returns a boolean if a field has been set. + +### GetSourceName + +`func (o *SourceCreationErrors) GetSourceName() string` + +GetSourceName returns the SourceName field if non-nil, zero value otherwise. + +### GetSourceNameOk + +`func (o *SourceCreationErrors) GetSourceNameOk() (*string, bool)` + +GetSourceNameOk returns a tuple with the SourceName field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSourceName + +`func (o *SourceCreationErrors) SetSourceName(v string)` + +SetSourceName sets SourceName field to given value. + +### HasSourceName + +`func (o *SourceCreationErrors) HasSourceName() bool` + +HasSourceName returns a boolean if a field has been set. + +### GetSourceError + +`func (o *SourceCreationErrors) GetSourceError() string` + +GetSourceError returns the SourceError field if non-nil, zero value otherwise. + +### GetSourceErrorOk + +`func (o *SourceCreationErrors) GetSourceErrorOk() (*string, bool)` + +GetSourceErrorOk returns a tuple with the SourceError field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSourceError + +`func (o *SourceCreationErrors) SetSourceError(v string)` + +SetSourceError sets SourceError field to given value. + +### HasSourceError + +`func (o *SourceCreationErrors) HasSourceError() bool` + +HasSourceError returns a boolean if a field has been set. + +### GetCreated + +`func (o *SourceCreationErrors) GetCreated() time.Time` + +GetCreated returns the Created field if non-nil, zero value otherwise. + +### GetCreatedOk + +`func (o *SourceCreationErrors) GetCreatedOk() (*time.Time, bool)` + +GetCreatedOk returns a tuple with the Created field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCreated + +`func (o *SourceCreationErrors) SetCreated(v time.Time)` + +SetCreated sets Created field to given value. + +### HasCreated + +`func (o *SourceCreationErrors) HasCreated() bool` + +HasCreated returns a boolean if a field has been set. + +### GetModified + +`func (o *SourceCreationErrors) GetModified() time.Time` + +GetModified returns the Modified field if non-nil, zero value otherwise. + +### GetModifiedOk + +`func (o *SourceCreationErrors) GetModifiedOk() (*time.Time, bool)` + +GetModifiedOk returns a tuple with the Modified field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetModified + +`func (o *SourceCreationErrors) SetModified(v time.Time)` + +SetModified sets Modified field to given value. + +### HasModified + +`func (o *SourceCreationErrors) HasModified() bool` + +HasModified returns a boolean if a field has been set. + +### GetOperation + +`func (o *SourceCreationErrors) GetOperation() string` + +GetOperation returns the Operation field if non-nil, zero value otherwise. + +### GetOperationOk + +`func (o *SourceCreationErrors) GetOperationOk() (*string, bool)` + +GetOperationOk returns a tuple with the Operation field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOperation + +`func (o *SourceCreationErrors) SetOperation(v string)` + +SetOperation sets Operation field to given value. + +### HasOperation + +`func (o *SourceCreationErrors) HasOperation() bool` + +HasOperation returns a boolean if a field has been set. + +### SetOperationNil + +`func (o *SourceCreationErrors) SetOperationNil(b bool)` + + SetOperationNil sets the value for Operation to be an explicit nil + +### UnsetOperation +`func (o *SourceCreationErrors) UnsetOperation()` + +UnsetOperation ensures that no value is present for Operation, not even an explicit nil + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/SourcesAPI.md b/api_beta/docs/SourcesAPI.md index 1373caa0c..ac6fff6fb 100644 --- a/api_beta/docs/SourcesAPI.md +++ b/api_beta/docs/SourcesAPI.md @@ -143,7 +143,7 @@ import ( ) func main() { - source := *openapiclient.NewSource("My Source", *openapiclient.NewSourceOwner(), "active-directory") // Source | + source := *openapiclient.NewSource("My Source", *openapiclient.NewMultiHostIntegrationsOwner(), "active-directory") // Source | provisionAsCsv := false // bool | If this parameter is `true`, it configures the source as a Delimited File (CSV) source. Setting this to `true` will automatically set the `type` of the source to `DelimitedFile`. You must use this query parameter to create a Delimited File source as you would in the UI. If you don't set this query parameter and you attempt to set the `type` attribute directly, the request won't correctly generate the source. (optional) configuration := openapiclient.NewConfiguration() @@ -2342,7 +2342,7 @@ import ( func main() { id := "2c9180835d191a86015d28455b4a2329" // string | Source ID. - source := *openapiclient.NewSource("My Source", *openapiclient.NewSourceOwner(), "active-directory") // Source | + source := *openapiclient.NewSource("My Source", *openapiclient.NewMultiHostIntegrationsOwner(), "active-directory") // Source | configuration := openapiclient.NewConfiguration() apiClient := openapiclient.NewAPIClient(configuration) diff --git a/api_beta/docs/TestSourceConnectionMultihost200Response.md b/api_beta/docs/TestSourceConnectionMultihost200Response.md new file mode 100644 index 000000000..3381ce6f7 --- /dev/null +++ b/api_beta/docs/TestSourceConnectionMultihost200Response.md @@ -0,0 +1,160 @@ +# TestSourceConnectionMultihost200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Success** | Pointer to **bool** | Source's test connection status. | [optional] +**Message** | Pointer to **string** | Source's test connection message. | [optional] +**Timing** | Pointer to **int32** | Source's test connection timing. | [optional] +**ResultType** | Pointer to **map[string]interface{}** | Source's human-readable result type. | [optional] +**TestConnectionDetails** | Pointer to **string** | Source's human-readable test connection details. | [optional] + +## Methods + +### NewTestSourceConnectionMultihost200Response + +`func NewTestSourceConnectionMultihost200Response() *TestSourceConnectionMultihost200Response` + +NewTestSourceConnectionMultihost200Response instantiates a new TestSourceConnectionMultihost200Response object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewTestSourceConnectionMultihost200ResponseWithDefaults + +`func NewTestSourceConnectionMultihost200ResponseWithDefaults() *TestSourceConnectionMultihost200Response` + +NewTestSourceConnectionMultihost200ResponseWithDefaults instantiates a new TestSourceConnectionMultihost200Response object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetSuccess + +`func (o *TestSourceConnectionMultihost200Response) GetSuccess() bool` + +GetSuccess returns the Success field if non-nil, zero value otherwise. + +### GetSuccessOk + +`func (o *TestSourceConnectionMultihost200Response) GetSuccessOk() (*bool, bool)` + +GetSuccessOk returns a tuple with the Success field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSuccess + +`func (o *TestSourceConnectionMultihost200Response) SetSuccess(v bool)` + +SetSuccess sets Success field to given value. + +### HasSuccess + +`func (o *TestSourceConnectionMultihost200Response) HasSuccess() bool` + +HasSuccess returns a boolean if a field has been set. + +### GetMessage + +`func (o *TestSourceConnectionMultihost200Response) GetMessage() string` + +GetMessage returns the Message field if non-nil, zero value otherwise. + +### GetMessageOk + +`func (o *TestSourceConnectionMultihost200Response) GetMessageOk() (*string, bool)` + +GetMessageOk returns a tuple with the Message field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetMessage + +`func (o *TestSourceConnectionMultihost200Response) SetMessage(v string)` + +SetMessage sets Message field to given value. + +### HasMessage + +`func (o *TestSourceConnectionMultihost200Response) HasMessage() bool` + +HasMessage returns a boolean if a field has been set. + +### GetTiming + +`func (o *TestSourceConnectionMultihost200Response) GetTiming() int32` + +GetTiming returns the Timing field if non-nil, zero value otherwise. + +### GetTimingOk + +`func (o *TestSourceConnectionMultihost200Response) GetTimingOk() (*int32, bool)` + +GetTimingOk returns a tuple with the Timing field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTiming + +`func (o *TestSourceConnectionMultihost200Response) SetTiming(v int32)` + +SetTiming sets Timing field to given value. + +### HasTiming + +`func (o *TestSourceConnectionMultihost200Response) HasTiming() bool` + +HasTiming returns a boolean if a field has been set. + +### GetResultType + +`func (o *TestSourceConnectionMultihost200Response) GetResultType() map[string]interface{}` + +GetResultType returns the ResultType field if non-nil, zero value otherwise. + +### GetResultTypeOk + +`func (o *TestSourceConnectionMultihost200Response) GetResultTypeOk() (*map[string]interface{}, bool)` + +GetResultTypeOk returns a tuple with the ResultType field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetResultType + +`func (o *TestSourceConnectionMultihost200Response) SetResultType(v map[string]interface{})` + +SetResultType sets ResultType field to given value. + +### HasResultType + +`func (o *TestSourceConnectionMultihost200Response) HasResultType() bool` + +HasResultType returns a boolean if a field has been set. + +### GetTestConnectionDetails + +`func (o *TestSourceConnectionMultihost200Response) GetTestConnectionDetails() string` + +GetTestConnectionDetails returns the TestConnectionDetails field if non-nil, zero value otherwise. + +### GetTestConnectionDetailsOk + +`func (o *TestSourceConnectionMultihost200Response) GetTestConnectionDetailsOk() (*string, bool)` + +GetTestConnectionDetailsOk returns a tuple with the TestConnectionDetails field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTestConnectionDetails + +`func (o *TestSourceConnectionMultihost200Response) SetTestConnectionDetails(v string)` + +SetTestConnectionDetails sets TestConnectionDetails field to given value. + +### HasTestConnectionDetails + +`func (o *TestSourceConnectionMultihost200Response) HasTestConnectionDetails() bool` + +HasTestConnectionDetails returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/docs/UpdateMultiHostSourcesRequest.md b/api_beta/docs/UpdateMultiHostSourcesRequest.md new file mode 100644 index 000000000..17dbe905b --- /dev/null +++ b/api_beta/docs/UpdateMultiHostSourcesRequest.md @@ -0,0 +1,56 @@ +# UpdateMultiHostSourcesRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Operations** | Pointer to [**[]JsonPatchOperation**](JsonPatchOperation.md) | Operations to be applied. | [optional] + +## Methods + +### NewUpdateMultiHostSourcesRequest + +`func NewUpdateMultiHostSourcesRequest() *UpdateMultiHostSourcesRequest` + +NewUpdateMultiHostSourcesRequest instantiates a new UpdateMultiHostSourcesRequest object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewUpdateMultiHostSourcesRequestWithDefaults + +`func NewUpdateMultiHostSourcesRequestWithDefaults() *UpdateMultiHostSourcesRequest` + +NewUpdateMultiHostSourcesRequestWithDefaults instantiates a new UpdateMultiHostSourcesRequest object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetOperations + +`func (o *UpdateMultiHostSourcesRequest) GetOperations() []JsonPatchOperation` + +GetOperations returns the Operations field if non-nil, zero value otherwise. + +### GetOperationsOk + +`func (o *UpdateMultiHostSourcesRequest) GetOperationsOk() (*[]JsonPatchOperation, bool)` + +GetOperationsOk returns a tuple with the Operations field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOperations + +`func (o *UpdateMultiHostSourcesRequest) SetOperations(v []JsonPatchOperation)` + +SetOperations sets Operations field to given value. + +### HasOperations + +`func (o *UpdateMultiHostSourcesRequest) HasOperations() bool` + +HasOperations returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/api_beta/model_multi_host_integration_template_type.go b/api_beta/model_multi_host_integration_template_type.go new file mode 100644 index 000000000..8e7c33aa1 --- /dev/null +++ b/api_beta/model_multi_host_integration_template_type.go @@ -0,0 +1,237 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" + "fmt" +) + +// checks if the MultiHostIntegrationTemplateType type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationTemplateType{} + +// MultiHostIntegrationTemplateType This represents a Multi-Host Integration template type. +type MultiHostIntegrationTemplateType struct { + // This is the name of the type. + Name *string `json:"name,omitempty"` + // This is the type value for the type. + Type string `json:"type"` + // This is the scriptName attribute value for the type. + ScriptName string `json:"scriptName"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostIntegrationTemplateType MultiHostIntegrationTemplateType + +// NewMultiHostIntegrationTemplateType instantiates a new MultiHostIntegrationTemplateType object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostIntegrationTemplateType(type_ string, scriptName string) *MultiHostIntegrationTemplateType { + this := MultiHostIntegrationTemplateType{} + this.Type = type_ + this.ScriptName = scriptName + return &this +} + +// NewMultiHostIntegrationTemplateTypeWithDefaults instantiates a new MultiHostIntegrationTemplateType object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostIntegrationTemplateTypeWithDefaults() *MultiHostIntegrationTemplateType { + this := MultiHostIntegrationTemplateType{} + return &this +} + +// GetName returns the Name field value if set, zero value otherwise. +func (o *MultiHostIntegrationTemplateType) GetName() string { + if o == nil || IsNil(o.Name) { + var ret string + return ret + } + return *o.Name +} + +// GetNameOk returns a tuple with the Name field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationTemplateType) GetNameOk() (*string, bool) { + if o == nil || IsNil(o.Name) { + return nil, false + } + return o.Name, true +} + +// HasName returns a boolean if a field has been set. +func (o *MultiHostIntegrationTemplateType) HasName() bool { + if o != nil && !IsNil(o.Name) { + return true + } + + return false +} + +// SetName gets a reference to the given string and assigns it to the Name field. +func (o *MultiHostIntegrationTemplateType) SetName(v string) { + o.Name = &v +} + +// GetType returns the Type field value +func (o *MultiHostIntegrationTemplateType) GetType() string { + if o == nil { + var ret string + return ret + } + + return o.Type +} + +// GetTypeOk returns a tuple with the Type field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationTemplateType) GetTypeOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Type, true +} + +// SetType sets field value +func (o *MultiHostIntegrationTemplateType) SetType(v string) { + o.Type = v +} + +// GetScriptName returns the ScriptName field value +func (o *MultiHostIntegrationTemplateType) GetScriptName() string { + if o == nil { + var ret string + return ret + } + + return o.ScriptName +} + +// GetScriptNameOk returns a tuple with the ScriptName field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationTemplateType) GetScriptNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.ScriptName, true +} + +// SetScriptName sets field value +func (o *MultiHostIntegrationTemplateType) SetScriptName(v string) { + o.ScriptName = v +} + +func (o MultiHostIntegrationTemplateType) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostIntegrationTemplateType) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.Name) { + toSerialize["name"] = o.Name + } + toSerialize["type"] = o.Type + toSerialize["scriptName"] = o.ScriptName + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostIntegrationTemplateType) UnmarshalJSON(data []byte) (err error) { + // This validates that all required properties are included in the JSON object + // by unmarshalling the object into a generic map with string keys and checking + // that every required field exists as a key in the generic map. + requiredProperties := []string{ + "type", + "scriptName", + } + + allProperties := make(map[string]interface{}) + + err = json.Unmarshal(data, &allProperties) + + if err != nil { + return err; + } + + for _, requiredProperty := range(requiredProperties) { + if _, exists := allProperties[requiredProperty]; !exists { + return fmt.Errorf("no value given for required property %v", requiredProperty) + } + } + + varMultiHostIntegrationTemplateType := _MultiHostIntegrationTemplateType{} + + err = json.Unmarshal(data, &varMultiHostIntegrationTemplateType) + + if err != nil { + return err + } + + *o = MultiHostIntegrationTemplateType(varMultiHostIntegrationTemplateType) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "name") + delete(additionalProperties, "type") + delete(additionalProperties, "scriptName") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostIntegrationTemplateType struct { + value *MultiHostIntegrationTemplateType + isSet bool +} + +func (v NullableMultiHostIntegrationTemplateType) Get() *MultiHostIntegrationTemplateType { + return v.value +} + +func (v *NullableMultiHostIntegrationTemplateType) Set(val *MultiHostIntegrationTemplateType) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostIntegrationTemplateType) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostIntegrationTemplateType) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostIntegrationTemplateType(val *MultiHostIntegrationTemplateType) *NullableMultiHostIntegrationTemplateType { + return &NullableMultiHostIntegrationTemplateType{value: val, isSet: true} +} + +func (v NullableMultiHostIntegrationTemplateType) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostIntegrationTemplateType) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_multi_host_integrations.go b/api_beta/model_multi_host_integrations.go new file mode 100644 index 000000000..57a37d6ed --- /dev/null +++ b/api_beta/model_multi_host_integrations.go @@ -0,0 +1,1088 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" + "time" + "fmt" +) + +// checks if the MultiHostIntegrations type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrations{} + +// MultiHostIntegrations struct for MultiHostIntegrations +type MultiHostIntegrations struct { + // Multi-Host Integration ID. + Id string `json:"id"` + // Multi-Host Integration's human-readable name. + Name string `json:"name"` + // Multi-Host Integration's human-readable description. + Description string `json:"description"` + Owner MultiHostIntegrationsOwner `json:"owner"` + Cluster NullableMultiHostIntegrationsCluster `json:"cluster,omitempty"` + // Specifies the type of system being managed e.g. Workday, Multi-Host - Microsoft SQL Server, etc.. If you are creating a delimited file source, you must set the `provisionasCsv` query parameter to `true`. + Type *string `json:"type,omitempty"` + // Connector script name. + Connector string `json:"connector"` + // Last successfully uploaded source count of given Multi-Host Integration. + LastSourceUploadSuccessCount *int32 `json:"lastSourceUploadSuccessCount,omitempty"` + // Maximum sources that can contain in a aggregation group of Multi-Host Integration. + MaxSourcesPerAggGroup *int32 `json:"maxSourcesPerAggGroup,omitempty"` + // Fully qualified name of the Java class that implements the connector interface. + ConnectorClass *string `json:"connectorClass,omitempty"` + ConnectorAttributes *MultiHostIntegrationsConnectorAttributes `json:"connectorAttributes,omitempty"` + // Number from 0 to 100 that specifies when to skip the delete phase. + DeleteThreshold *int32 `json:"deleteThreshold,omitempty"` + // When this is true, it indicates that the source is referenced by an identity profile. + Authoritative *bool `json:"authoritative,omitempty"` + ManagementWorkgroup NullableMultiHostIntegrationsManagementWorkgroup `json:"managementWorkgroup,omitempty"` + // When this is true, it indicates that the source is healthy. + Healthy *bool `json:"healthy,omitempty"` + // Status identifier that gives specific information about why a source is or isn't healthy. + Status *string `json:"status,omitempty"` + // Timestamp that shows when a source health check was last performed. + Since *time.Time `json:"since,omitempty"` + // Connector ID + ConnectorId *string `json:"connectorId,omitempty"` + // Name of the connector that was chosen during source creation. + ConnectorName *string `json:"connectorName,omitempty"` + // Type of connection (direct or file). + ConnectionType *string `json:"connectionType,omitempty"` + // Connector implementation ID. + ConnectorImplementationId *string `json:"connectorImplementationId,omitempty"` + // Date-time when the source was created + Created *time.Time `json:"created,omitempty"` + // Date-time when the source was last modified. + Modified *time.Time `json:"modified,omitempty"` + // If this is true, it enables a credential provider for the source. If credentialProvider is turned on, then the source can use credential provider(s) to fetch credentials. + CredentialProviderEnabled *bool `json:"credentialProviderEnabled,omitempty"` + // Source category (e.g. null, CredentialProvider). + Category NullableString `json:"category,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostIntegrations MultiHostIntegrations + +// NewMultiHostIntegrations instantiates a new MultiHostIntegrations object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostIntegrations(id string, name string, description string, owner MultiHostIntegrationsOwner, connector string) *MultiHostIntegrations { + this := MultiHostIntegrations{} + this.Id = id + this.Name = name + this.Description = description + this.Owner = owner + this.Connector = connector + var authoritative bool = false + this.Authoritative = &authoritative + var healthy bool = false + this.Healthy = &healthy + var credentialProviderEnabled bool = false + this.CredentialProviderEnabled = &credentialProviderEnabled + return &this +} + +// NewMultiHostIntegrationsWithDefaults instantiates a new MultiHostIntegrations object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostIntegrationsWithDefaults() *MultiHostIntegrations { + this := MultiHostIntegrations{} + var authoritative bool = false + this.Authoritative = &authoritative + var healthy bool = false + this.Healthy = &healthy + var credentialProviderEnabled bool = false + this.CredentialProviderEnabled = &credentialProviderEnabled + return &this +} + +// GetId returns the Id field value +func (o *MultiHostIntegrations) GetId() string { + if o == nil { + var ret string + return ret + } + + return o.Id +} + +// GetIdOk returns a tuple with the Id field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Id, true +} + +// SetId sets field value +func (o *MultiHostIntegrations) SetId(v string) { + o.Id = v +} + +// GetName returns the Name field value +func (o *MultiHostIntegrations) GetName() string { + if o == nil { + var ret string + return ret + } + + return o.Name +} + +// GetNameOk returns a tuple with the Name field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Name, true +} + +// SetName sets field value +func (o *MultiHostIntegrations) SetName(v string) { + o.Name = v +} + +// GetDescription returns the Description field value +func (o *MultiHostIntegrations) GetDescription() string { + if o == nil { + var ret string + return ret + } + + return o.Description +} + +// GetDescriptionOk returns a tuple with the Description field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetDescriptionOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Description, true +} + +// SetDescription sets field value +func (o *MultiHostIntegrations) SetDescription(v string) { + o.Description = v +} + +// GetOwner returns the Owner field value +func (o *MultiHostIntegrations) GetOwner() MultiHostIntegrationsOwner { + if o == nil { + var ret MultiHostIntegrationsOwner + return ret + } + + return o.Owner +} + +// GetOwnerOk returns a tuple with the Owner field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetOwnerOk() (*MultiHostIntegrationsOwner, bool) { + if o == nil { + return nil, false + } + return &o.Owner, true +} + +// SetOwner sets field value +func (o *MultiHostIntegrations) SetOwner(v MultiHostIntegrationsOwner) { + o.Owner = v +} + +// GetCluster returns the Cluster field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostIntegrations) GetCluster() MultiHostIntegrationsCluster { + if o == nil || IsNil(o.Cluster.Get()) { + var ret MultiHostIntegrationsCluster + return ret + } + return *o.Cluster.Get() +} + +// GetClusterOk returns a tuple with the Cluster field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostIntegrations) GetClusterOk() (*MultiHostIntegrationsCluster, bool) { + if o == nil { + return nil, false + } + return o.Cluster.Get(), o.Cluster.IsSet() +} + +// HasCluster returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasCluster() bool { + if o != nil && o.Cluster.IsSet() { + return true + } + + return false +} + +// SetCluster gets a reference to the given NullableMultiHostIntegrationsCluster and assigns it to the Cluster field. +func (o *MultiHostIntegrations) SetCluster(v MultiHostIntegrationsCluster) { + o.Cluster.Set(&v) +} +// SetClusterNil sets the value for Cluster to be an explicit nil +func (o *MultiHostIntegrations) SetClusterNil() { + o.Cluster.Set(nil) +} + +// UnsetCluster ensures that no value is present for Cluster, not even an explicit nil +func (o *MultiHostIntegrations) UnsetCluster() { + o.Cluster.Unset() +} + +// GetType returns the Type field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetType() string { + if o == nil || IsNil(o.Type) { + var ret string + return ret + } + return *o.Type +} + +// GetTypeOk returns a tuple with the Type field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetTypeOk() (*string, bool) { + if o == nil || IsNil(o.Type) { + return nil, false + } + return o.Type, true +} + +// HasType returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasType() bool { + if o != nil && !IsNil(o.Type) { + return true + } + + return false +} + +// SetType gets a reference to the given string and assigns it to the Type field. +func (o *MultiHostIntegrations) SetType(v string) { + o.Type = &v +} + +// GetConnector returns the Connector field value +func (o *MultiHostIntegrations) GetConnector() string { + if o == nil { + var ret string + return ret + } + + return o.Connector +} + +// GetConnectorOk returns a tuple with the Connector field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetConnectorOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Connector, true +} + +// SetConnector sets field value +func (o *MultiHostIntegrations) SetConnector(v string) { + o.Connector = v +} + +// GetLastSourceUploadSuccessCount returns the LastSourceUploadSuccessCount field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetLastSourceUploadSuccessCount() int32 { + if o == nil || IsNil(o.LastSourceUploadSuccessCount) { + var ret int32 + return ret + } + return *o.LastSourceUploadSuccessCount +} + +// GetLastSourceUploadSuccessCountOk returns a tuple with the LastSourceUploadSuccessCount field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetLastSourceUploadSuccessCountOk() (*int32, bool) { + if o == nil || IsNil(o.LastSourceUploadSuccessCount) { + return nil, false + } + return o.LastSourceUploadSuccessCount, true +} + +// HasLastSourceUploadSuccessCount returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasLastSourceUploadSuccessCount() bool { + if o != nil && !IsNil(o.LastSourceUploadSuccessCount) { + return true + } + + return false +} + +// SetLastSourceUploadSuccessCount gets a reference to the given int32 and assigns it to the LastSourceUploadSuccessCount field. +func (o *MultiHostIntegrations) SetLastSourceUploadSuccessCount(v int32) { + o.LastSourceUploadSuccessCount = &v +} + +// GetMaxSourcesPerAggGroup returns the MaxSourcesPerAggGroup field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetMaxSourcesPerAggGroup() int32 { + if o == nil || IsNil(o.MaxSourcesPerAggGroup) { + var ret int32 + return ret + } + return *o.MaxSourcesPerAggGroup +} + +// GetMaxSourcesPerAggGroupOk returns a tuple with the MaxSourcesPerAggGroup field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetMaxSourcesPerAggGroupOk() (*int32, bool) { + if o == nil || IsNil(o.MaxSourcesPerAggGroup) { + return nil, false + } + return o.MaxSourcesPerAggGroup, true +} + +// HasMaxSourcesPerAggGroup returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasMaxSourcesPerAggGroup() bool { + if o != nil && !IsNil(o.MaxSourcesPerAggGroup) { + return true + } + + return false +} + +// SetMaxSourcesPerAggGroup gets a reference to the given int32 and assigns it to the MaxSourcesPerAggGroup field. +func (o *MultiHostIntegrations) SetMaxSourcesPerAggGroup(v int32) { + o.MaxSourcesPerAggGroup = &v +} + +// GetConnectorClass returns the ConnectorClass field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetConnectorClass() string { + if o == nil || IsNil(o.ConnectorClass) { + var ret string + return ret + } + return *o.ConnectorClass +} + +// GetConnectorClassOk returns a tuple with the ConnectorClass field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetConnectorClassOk() (*string, bool) { + if o == nil || IsNil(o.ConnectorClass) { + return nil, false + } + return o.ConnectorClass, true +} + +// HasConnectorClass returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasConnectorClass() bool { + if o != nil && !IsNil(o.ConnectorClass) { + return true + } + + return false +} + +// SetConnectorClass gets a reference to the given string and assigns it to the ConnectorClass field. +func (o *MultiHostIntegrations) SetConnectorClass(v string) { + o.ConnectorClass = &v +} + +// GetConnectorAttributes returns the ConnectorAttributes field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetConnectorAttributes() MultiHostIntegrationsConnectorAttributes { + if o == nil || IsNil(o.ConnectorAttributes) { + var ret MultiHostIntegrationsConnectorAttributes + return ret + } + return *o.ConnectorAttributes +} + +// GetConnectorAttributesOk returns a tuple with the ConnectorAttributes field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetConnectorAttributesOk() (*MultiHostIntegrationsConnectorAttributes, bool) { + if o == nil || IsNil(o.ConnectorAttributes) { + return nil, false + } + return o.ConnectorAttributes, true +} + +// HasConnectorAttributes returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasConnectorAttributes() bool { + if o != nil && !IsNil(o.ConnectorAttributes) { + return true + } + + return false +} + +// SetConnectorAttributes gets a reference to the given MultiHostIntegrationsConnectorAttributes and assigns it to the ConnectorAttributes field. +func (o *MultiHostIntegrations) SetConnectorAttributes(v MultiHostIntegrationsConnectorAttributes) { + o.ConnectorAttributes = &v +} + +// GetDeleteThreshold returns the DeleteThreshold field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetDeleteThreshold() int32 { + if o == nil || IsNil(o.DeleteThreshold) { + var ret int32 + return ret + } + return *o.DeleteThreshold +} + +// GetDeleteThresholdOk returns a tuple with the DeleteThreshold field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetDeleteThresholdOk() (*int32, bool) { + if o == nil || IsNil(o.DeleteThreshold) { + return nil, false + } + return o.DeleteThreshold, true +} + +// HasDeleteThreshold returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasDeleteThreshold() bool { + if o != nil && !IsNil(o.DeleteThreshold) { + return true + } + + return false +} + +// SetDeleteThreshold gets a reference to the given int32 and assigns it to the DeleteThreshold field. +func (o *MultiHostIntegrations) SetDeleteThreshold(v int32) { + o.DeleteThreshold = &v +} + +// GetAuthoritative returns the Authoritative field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetAuthoritative() bool { + if o == nil || IsNil(o.Authoritative) { + var ret bool + return ret + } + return *o.Authoritative +} + +// GetAuthoritativeOk returns a tuple with the Authoritative field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetAuthoritativeOk() (*bool, bool) { + if o == nil || IsNil(o.Authoritative) { + return nil, false + } + return o.Authoritative, true +} + +// HasAuthoritative returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasAuthoritative() bool { + if o != nil && !IsNil(o.Authoritative) { + return true + } + + return false +} + +// SetAuthoritative gets a reference to the given bool and assigns it to the Authoritative field. +func (o *MultiHostIntegrations) SetAuthoritative(v bool) { + o.Authoritative = &v +} + +// GetManagementWorkgroup returns the ManagementWorkgroup field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostIntegrations) GetManagementWorkgroup() MultiHostIntegrationsManagementWorkgroup { + if o == nil || IsNil(o.ManagementWorkgroup.Get()) { + var ret MultiHostIntegrationsManagementWorkgroup + return ret + } + return *o.ManagementWorkgroup.Get() +} + +// GetManagementWorkgroupOk returns a tuple with the ManagementWorkgroup field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostIntegrations) GetManagementWorkgroupOk() (*MultiHostIntegrationsManagementWorkgroup, bool) { + if o == nil { + return nil, false + } + return o.ManagementWorkgroup.Get(), o.ManagementWorkgroup.IsSet() +} + +// HasManagementWorkgroup returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasManagementWorkgroup() bool { + if o != nil && o.ManagementWorkgroup.IsSet() { + return true + } + + return false +} + +// SetManagementWorkgroup gets a reference to the given NullableMultiHostIntegrationsManagementWorkgroup and assigns it to the ManagementWorkgroup field. +func (o *MultiHostIntegrations) SetManagementWorkgroup(v MultiHostIntegrationsManagementWorkgroup) { + o.ManagementWorkgroup.Set(&v) +} +// SetManagementWorkgroupNil sets the value for ManagementWorkgroup to be an explicit nil +func (o *MultiHostIntegrations) SetManagementWorkgroupNil() { + o.ManagementWorkgroup.Set(nil) +} + +// UnsetManagementWorkgroup ensures that no value is present for ManagementWorkgroup, not even an explicit nil +func (o *MultiHostIntegrations) UnsetManagementWorkgroup() { + o.ManagementWorkgroup.Unset() +} + +// GetHealthy returns the Healthy field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetHealthy() bool { + if o == nil || IsNil(o.Healthy) { + var ret bool + return ret + } + return *o.Healthy +} + +// GetHealthyOk returns a tuple with the Healthy field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetHealthyOk() (*bool, bool) { + if o == nil || IsNil(o.Healthy) { + return nil, false + } + return o.Healthy, true +} + +// HasHealthy returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasHealthy() bool { + if o != nil && !IsNil(o.Healthy) { + return true + } + + return false +} + +// SetHealthy gets a reference to the given bool and assigns it to the Healthy field. +func (o *MultiHostIntegrations) SetHealthy(v bool) { + o.Healthy = &v +} + +// GetStatus returns the Status field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetStatus() string { + if o == nil || IsNil(o.Status) { + var ret string + return ret + } + return *o.Status +} + +// GetStatusOk returns a tuple with the Status field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetStatusOk() (*string, bool) { + if o == nil || IsNil(o.Status) { + return nil, false + } + return o.Status, true +} + +// HasStatus returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasStatus() bool { + if o != nil && !IsNil(o.Status) { + return true + } + + return false +} + +// SetStatus gets a reference to the given string and assigns it to the Status field. +func (o *MultiHostIntegrations) SetStatus(v string) { + o.Status = &v +} + +// GetSince returns the Since field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetSince() time.Time { + if o == nil || IsNil(o.Since) { + var ret time.Time + return ret + } + return *o.Since +} + +// GetSinceOk returns a tuple with the Since field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetSinceOk() (*time.Time, bool) { + if o == nil || IsNil(o.Since) { + return nil, false + } + return o.Since, true +} + +// HasSince returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasSince() bool { + if o != nil && !IsNil(o.Since) { + return true + } + + return false +} + +// SetSince gets a reference to the given time.Time and assigns it to the Since field. +func (o *MultiHostIntegrations) SetSince(v time.Time) { + o.Since = &v +} + +// GetConnectorId returns the ConnectorId field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetConnectorId() string { + if o == nil || IsNil(o.ConnectorId) { + var ret string + return ret + } + return *o.ConnectorId +} + +// GetConnectorIdOk returns a tuple with the ConnectorId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetConnectorIdOk() (*string, bool) { + if o == nil || IsNil(o.ConnectorId) { + return nil, false + } + return o.ConnectorId, true +} + +// HasConnectorId returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasConnectorId() bool { + if o != nil && !IsNil(o.ConnectorId) { + return true + } + + return false +} + +// SetConnectorId gets a reference to the given string and assigns it to the ConnectorId field. +func (o *MultiHostIntegrations) SetConnectorId(v string) { + o.ConnectorId = &v +} + +// GetConnectorName returns the ConnectorName field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetConnectorName() string { + if o == nil || IsNil(o.ConnectorName) { + var ret string + return ret + } + return *o.ConnectorName +} + +// GetConnectorNameOk returns a tuple with the ConnectorName field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetConnectorNameOk() (*string, bool) { + if o == nil || IsNil(o.ConnectorName) { + return nil, false + } + return o.ConnectorName, true +} + +// HasConnectorName returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasConnectorName() bool { + if o != nil && !IsNil(o.ConnectorName) { + return true + } + + return false +} + +// SetConnectorName gets a reference to the given string and assigns it to the ConnectorName field. +func (o *MultiHostIntegrations) SetConnectorName(v string) { + o.ConnectorName = &v +} + +// GetConnectionType returns the ConnectionType field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetConnectionType() string { + if o == nil || IsNil(o.ConnectionType) { + var ret string + return ret + } + return *o.ConnectionType +} + +// GetConnectionTypeOk returns a tuple with the ConnectionType field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetConnectionTypeOk() (*string, bool) { + if o == nil || IsNil(o.ConnectionType) { + return nil, false + } + return o.ConnectionType, true +} + +// HasConnectionType returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasConnectionType() bool { + if o != nil && !IsNil(o.ConnectionType) { + return true + } + + return false +} + +// SetConnectionType gets a reference to the given string and assigns it to the ConnectionType field. +func (o *MultiHostIntegrations) SetConnectionType(v string) { + o.ConnectionType = &v +} + +// GetConnectorImplementationId returns the ConnectorImplementationId field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetConnectorImplementationId() string { + if o == nil || IsNil(o.ConnectorImplementationId) { + var ret string + return ret + } + return *o.ConnectorImplementationId +} + +// GetConnectorImplementationIdOk returns a tuple with the ConnectorImplementationId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetConnectorImplementationIdOk() (*string, bool) { + if o == nil || IsNil(o.ConnectorImplementationId) { + return nil, false + } + return o.ConnectorImplementationId, true +} + +// HasConnectorImplementationId returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasConnectorImplementationId() bool { + if o != nil && !IsNil(o.ConnectorImplementationId) { + return true + } + + return false +} + +// SetConnectorImplementationId gets a reference to the given string and assigns it to the ConnectorImplementationId field. +func (o *MultiHostIntegrations) SetConnectorImplementationId(v string) { + o.ConnectorImplementationId = &v +} + +// GetCreated returns the Created field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetCreated() time.Time { + if o == nil || IsNil(o.Created) { + var ret time.Time + return ret + } + return *o.Created +} + +// GetCreatedOk returns a tuple with the Created field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetCreatedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Created) { + return nil, false + } + return o.Created, true +} + +// HasCreated returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasCreated() bool { + if o != nil && !IsNil(o.Created) { + return true + } + + return false +} + +// SetCreated gets a reference to the given time.Time and assigns it to the Created field. +func (o *MultiHostIntegrations) SetCreated(v time.Time) { + o.Created = &v +} + +// GetModified returns the Modified field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetModified() time.Time { + if o == nil || IsNil(o.Modified) { + var ret time.Time + return ret + } + return *o.Modified +} + +// GetModifiedOk returns a tuple with the Modified field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetModifiedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Modified) { + return nil, false + } + return o.Modified, true +} + +// HasModified returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasModified() bool { + if o != nil && !IsNil(o.Modified) { + return true + } + + return false +} + +// SetModified gets a reference to the given time.Time and assigns it to the Modified field. +func (o *MultiHostIntegrations) SetModified(v time.Time) { + o.Modified = &v +} + +// GetCredentialProviderEnabled returns the CredentialProviderEnabled field value if set, zero value otherwise. +func (o *MultiHostIntegrations) GetCredentialProviderEnabled() bool { + if o == nil || IsNil(o.CredentialProviderEnabled) { + var ret bool + return ret + } + return *o.CredentialProviderEnabled +} + +// GetCredentialProviderEnabledOk returns a tuple with the CredentialProviderEnabled field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrations) GetCredentialProviderEnabledOk() (*bool, bool) { + if o == nil || IsNil(o.CredentialProviderEnabled) { + return nil, false + } + return o.CredentialProviderEnabled, true +} + +// HasCredentialProviderEnabled returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasCredentialProviderEnabled() bool { + if o != nil && !IsNil(o.CredentialProviderEnabled) { + return true + } + + return false +} + +// SetCredentialProviderEnabled gets a reference to the given bool and assigns it to the CredentialProviderEnabled field. +func (o *MultiHostIntegrations) SetCredentialProviderEnabled(v bool) { + o.CredentialProviderEnabled = &v +} + +// GetCategory returns the Category field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostIntegrations) GetCategory() string { + if o == nil || IsNil(o.Category.Get()) { + var ret string + return ret + } + return *o.Category.Get() +} + +// GetCategoryOk returns a tuple with the Category field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostIntegrations) GetCategoryOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.Category.Get(), o.Category.IsSet() +} + +// HasCategory returns a boolean if a field has been set. +func (o *MultiHostIntegrations) HasCategory() bool { + if o != nil && o.Category.IsSet() { + return true + } + + return false +} + +// SetCategory gets a reference to the given NullableString and assigns it to the Category field. +func (o *MultiHostIntegrations) SetCategory(v string) { + o.Category.Set(&v) +} +// SetCategoryNil sets the value for Category to be an explicit nil +func (o *MultiHostIntegrations) SetCategoryNil() { + o.Category.Set(nil) +} + +// UnsetCategory ensures that no value is present for Category, not even an explicit nil +func (o *MultiHostIntegrations) UnsetCategory() { + o.Category.Unset() +} + +func (o MultiHostIntegrations) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostIntegrations) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + toSerialize["id"] = o.Id + toSerialize["name"] = o.Name + toSerialize["description"] = o.Description + toSerialize["owner"] = o.Owner + if o.Cluster.IsSet() { + toSerialize["cluster"] = o.Cluster.Get() + } + if !IsNil(o.Type) { + toSerialize["type"] = o.Type + } + toSerialize["connector"] = o.Connector + if !IsNil(o.LastSourceUploadSuccessCount) { + toSerialize["lastSourceUploadSuccessCount"] = o.LastSourceUploadSuccessCount + } + if !IsNil(o.MaxSourcesPerAggGroup) { + toSerialize["maxSourcesPerAggGroup"] = o.MaxSourcesPerAggGroup + } + if !IsNil(o.ConnectorClass) { + toSerialize["connectorClass"] = o.ConnectorClass + } + if !IsNil(o.ConnectorAttributes) { + toSerialize["connectorAttributes"] = o.ConnectorAttributes + } + if !IsNil(o.DeleteThreshold) { + toSerialize["deleteThreshold"] = o.DeleteThreshold + } + if !IsNil(o.Authoritative) { + toSerialize["authoritative"] = o.Authoritative + } + if o.ManagementWorkgroup.IsSet() { + toSerialize["managementWorkgroup"] = o.ManagementWorkgroup.Get() + } + if !IsNil(o.Healthy) { + toSerialize["healthy"] = o.Healthy + } + if !IsNil(o.Status) { + toSerialize["status"] = o.Status + } + if !IsNil(o.Since) { + toSerialize["since"] = o.Since + } + if !IsNil(o.ConnectorId) { + toSerialize["connectorId"] = o.ConnectorId + } + if !IsNil(o.ConnectorName) { + toSerialize["connectorName"] = o.ConnectorName + } + if !IsNil(o.ConnectionType) { + toSerialize["connectionType"] = o.ConnectionType + } + if !IsNil(o.ConnectorImplementationId) { + toSerialize["connectorImplementationId"] = o.ConnectorImplementationId + } + if !IsNil(o.Created) { + toSerialize["created"] = o.Created + } + if !IsNil(o.Modified) { + toSerialize["modified"] = o.Modified + } + if !IsNil(o.CredentialProviderEnabled) { + toSerialize["credentialProviderEnabled"] = o.CredentialProviderEnabled + } + if o.Category.IsSet() { + toSerialize["category"] = o.Category.Get() + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostIntegrations) UnmarshalJSON(data []byte) (err error) { + // This validates that all required properties are included in the JSON object + // by unmarshalling the object into a generic map with string keys and checking + // that every required field exists as a key in the generic map. + requiredProperties := []string{ + "id", + "name", + "description", + "owner", + "connector", + } + + allProperties := make(map[string]interface{}) + + err = json.Unmarshal(data, &allProperties) + + if err != nil { + return err; + } + + for _, requiredProperty := range(requiredProperties) { + if _, exists := allProperties[requiredProperty]; !exists { + return fmt.Errorf("no value given for required property %v", requiredProperty) + } + } + + varMultiHostIntegrations := _MultiHostIntegrations{} + + err = json.Unmarshal(data, &varMultiHostIntegrations) + + if err != nil { + return err + } + + *o = MultiHostIntegrations(varMultiHostIntegrations) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "id") + delete(additionalProperties, "name") + delete(additionalProperties, "description") + delete(additionalProperties, "owner") + delete(additionalProperties, "cluster") + delete(additionalProperties, "type") + delete(additionalProperties, "connector") + delete(additionalProperties, "lastSourceUploadSuccessCount") + delete(additionalProperties, "maxSourcesPerAggGroup") + delete(additionalProperties, "connectorClass") + delete(additionalProperties, "connectorAttributes") + delete(additionalProperties, "deleteThreshold") + delete(additionalProperties, "authoritative") + delete(additionalProperties, "managementWorkgroup") + delete(additionalProperties, "healthy") + delete(additionalProperties, "status") + delete(additionalProperties, "since") + delete(additionalProperties, "connectorId") + delete(additionalProperties, "connectorName") + delete(additionalProperties, "connectionType") + delete(additionalProperties, "connectorImplementationId") + delete(additionalProperties, "created") + delete(additionalProperties, "modified") + delete(additionalProperties, "credentialProviderEnabled") + delete(additionalProperties, "category") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostIntegrations struct { + value *MultiHostIntegrations + isSet bool +} + +func (v NullableMultiHostIntegrations) Get() *MultiHostIntegrations { + return v.value +} + +func (v *NullableMultiHostIntegrations) Set(val *MultiHostIntegrations) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostIntegrations) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostIntegrations) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostIntegrations(val *MultiHostIntegrations) *NullableMultiHostIntegrations { + return &NullableMultiHostIntegrations{value: val, isSet: true} +} + +func (v NullableMultiHostIntegrations) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostIntegrations) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_multi_host_integrations_agg_schedule_update.go b/api_beta/model_multi_host_integrations_agg_schedule_update.go new file mode 100644 index 000000000..1599ce828 --- /dev/null +++ b/api_beta/model_multi_host_integrations_agg_schedule_update.go @@ -0,0 +1,398 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" + "time" + "fmt" +) + +// checks if the MultiHostIntegrationsAggScheduleUpdate type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationsAggScheduleUpdate{} + +// MultiHostIntegrationsAggScheduleUpdate struct for MultiHostIntegrationsAggScheduleUpdate +type MultiHostIntegrationsAggScheduleUpdate struct { + // Multi-Host Integration ID. The ID must be unique + MultihostId string `json:"multihost_id"` + // Multi-Host Integration aggregation group ID + AggregationGrpId string `json:"aggregation_grp_id"` + // Multi-Host Integration name + AggregationGrpName string `json:"aggregation_grp_name"` + // Cron expression to schedule aggregation + AggregationCronSchedule string `json:"aggregation_cron_schedule"` + // Boolean value for Multi-Host Integration aggregation schedule. This specifies if scheduled aggregation is enabled or disabled. + EnableSchedule bool `json:"enableSchedule"` + // Source IDs of the Multi-Host Integration + SourceIdList []string `json:"source_id_list"` + // Created date of Multi-Host Integration aggregation schedule + Created *time.Time `json:"created,omitempty"` + // Modified date of Multi-Host Integration aggregation schedule + Modified *time.Time `json:"modified,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostIntegrationsAggScheduleUpdate MultiHostIntegrationsAggScheduleUpdate + +// NewMultiHostIntegrationsAggScheduleUpdate instantiates a new MultiHostIntegrationsAggScheduleUpdate object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostIntegrationsAggScheduleUpdate(multihostId string, aggregationGrpId string, aggregationGrpName string, aggregationCronSchedule string, enableSchedule bool, sourceIdList []string) *MultiHostIntegrationsAggScheduleUpdate { + this := MultiHostIntegrationsAggScheduleUpdate{} + this.MultihostId = multihostId + this.AggregationGrpId = aggregationGrpId + this.AggregationGrpName = aggregationGrpName + this.AggregationCronSchedule = aggregationCronSchedule + this.EnableSchedule = enableSchedule + this.SourceIdList = sourceIdList + return &this +} + +// NewMultiHostIntegrationsAggScheduleUpdateWithDefaults instantiates a new MultiHostIntegrationsAggScheduleUpdate object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostIntegrationsAggScheduleUpdateWithDefaults() *MultiHostIntegrationsAggScheduleUpdate { + this := MultiHostIntegrationsAggScheduleUpdate{} + var enableSchedule bool = false + this.EnableSchedule = enableSchedule + return &this +} + +// GetMultihostId returns the MultihostId field value +func (o *MultiHostIntegrationsAggScheduleUpdate) GetMultihostId() string { + if o == nil { + var ret string + return ret + } + + return o.MultihostId +} + +// GetMultihostIdOk returns a tuple with the MultihostId field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetMultihostIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.MultihostId, true +} + +// SetMultihostId sets field value +func (o *MultiHostIntegrationsAggScheduleUpdate) SetMultihostId(v string) { + o.MultihostId = v +} + +// GetAggregationGrpId returns the AggregationGrpId field value +func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationGrpId() string { + if o == nil { + var ret string + return ret + } + + return o.AggregationGrpId +} + +// GetAggregationGrpIdOk returns a tuple with the AggregationGrpId field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationGrpIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.AggregationGrpId, true +} + +// SetAggregationGrpId sets field value +func (o *MultiHostIntegrationsAggScheduleUpdate) SetAggregationGrpId(v string) { + o.AggregationGrpId = v +} + +// GetAggregationGrpName returns the AggregationGrpName field value +func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationGrpName() string { + if o == nil { + var ret string + return ret + } + + return o.AggregationGrpName +} + +// GetAggregationGrpNameOk returns a tuple with the AggregationGrpName field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationGrpNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.AggregationGrpName, true +} + +// SetAggregationGrpName sets field value +func (o *MultiHostIntegrationsAggScheduleUpdate) SetAggregationGrpName(v string) { + o.AggregationGrpName = v +} + +// GetAggregationCronSchedule returns the AggregationCronSchedule field value +func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationCronSchedule() string { + if o == nil { + var ret string + return ret + } + + return o.AggregationCronSchedule +} + +// GetAggregationCronScheduleOk returns a tuple with the AggregationCronSchedule field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetAggregationCronScheduleOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.AggregationCronSchedule, true +} + +// SetAggregationCronSchedule sets field value +func (o *MultiHostIntegrationsAggScheduleUpdate) SetAggregationCronSchedule(v string) { + o.AggregationCronSchedule = v +} + +// GetEnableSchedule returns the EnableSchedule field value +func (o *MultiHostIntegrationsAggScheduleUpdate) GetEnableSchedule() bool { + if o == nil { + var ret bool + return ret + } + + return o.EnableSchedule +} + +// GetEnableScheduleOk returns a tuple with the EnableSchedule field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetEnableScheduleOk() (*bool, bool) { + if o == nil { + return nil, false + } + return &o.EnableSchedule, true +} + +// SetEnableSchedule sets field value +func (o *MultiHostIntegrationsAggScheduleUpdate) SetEnableSchedule(v bool) { + o.EnableSchedule = v +} + +// GetSourceIdList returns the SourceIdList field value +func (o *MultiHostIntegrationsAggScheduleUpdate) GetSourceIdList() []string { + if o == nil { + var ret []string + return ret + } + + return o.SourceIdList +} + +// GetSourceIdListOk returns a tuple with the SourceIdList field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetSourceIdListOk() ([]string, bool) { + if o == nil { + return nil, false + } + return o.SourceIdList, true +} + +// SetSourceIdList sets field value +func (o *MultiHostIntegrationsAggScheduleUpdate) SetSourceIdList(v []string) { + o.SourceIdList = v +} + +// GetCreated returns the Created field value if set, zero value otherwise. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetCreated() time.Time { + if o == nil || IsNil(o.Created) { + var ret time.Time + return ret + } + return *o.Created +} + +// GetCreatedOk returns a tuple with the Created field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetCreatedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Created) { + return nil, false + } + return o.Created, true +} + +// HasCreated returns a boolean if a field has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) HasCreated() bool { + if o != nil && !IsNil(o.Created) { + return true + } + + return false +} + +// SetCreated gets a reference to the given time.Time and assigns it to the Created field. +func (o *MultiHostIntegrationsAggScheduleUpdate) SetCreated(v time.Time) { + o.Created = &v +} + +// GetModified returns the Modified field value if set, zero value otherwise. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetModified() time.Time { + if o == nil || IsNil(o.Modified) { + var ret time.Time + return ret + } + return *o.Modified +} + +// GetModifiedOk returns a tuple with the Modified field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) GetModifiedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Modified) { + return nil, false + } + return o.Modified, true +} + +// HasModified returns a boolean if a field has been set. +func (o *MultiHostIntegrationsAggScheduleUpdate) HasModified() bool { + if o != nil && !IsNil(o.Modified) { + return true + } + + return false +} + +// SetModified gets a reference to the given time.Time and assigns it to the Modified field. +func (o *MultiHostIntegrationsAggScheduleUpdate) SetModified(v time.Time) { + o.Modified = &v +} + +func (o MultiHostIntegrationsAggScheduleUpdate) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostIntegrationsAggScheduleUpdate) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + toSerialize["multihost_id"] = o.MultihostId + toSerialize["aggregation_grp_id"] = o.AggregationGrpId + toSerialize["aggregation_grp_name"] = o.AggregationGrpName + toSerialize["aggregation_cron_schedule"] = o.AggregationCronSchedule + toSerialize["enableSchedule"] = o.EnableSchedule + toSerialize["source_id_list"] = o.SourceIdList + if !IsNil(o.Created) { + toSerialize["created"] = o.Created + } + if !IsNil(o.Modified) { + toSerialize["modified"] = o.Modified + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostIntegrationsAggScheduleUpdate) UnmarshalJSON(data []byte) (err error) { + // This validates that all required properties are included in the JSON object + // by unmarshalling the object into a generic map with string keys and checking + // that every required field exists as a key in the generic map. + requiredProperties := []string{ + "multihost_id", + "aggregation_grp_id", + "aggregation_grp_name", + "aggregation_cron_schedule", + "enableSchedule", + "source_id_list", + } + + allProperties := make(map[string]interface{}) + + err = json.Unmarshal(data, &allProperties) + + if err != nil { + return err; + } + + for _, requiredProperty := range(requiredProperties) { + if _, exists := allProperties[requiredProperty]; !exists { + return fmt.Errorf("no value given for required property %v", requiredProperty) + } + } + + varMultiHostIntegrationsAggScheduleUpdate := _MultiHostIntegrationsAggScheduleUpdate{} + + err = json.Unmarshal(data, &varMultiHostIntegrationsAggScheduleUpdate) + + if err != nil { + return err + } + + *o = MultiHostIntegrationsAggScheduleUpdate(varMultiHostIntegrationsAggScheduleUpdate) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "multihost_id") + delete(additionalProperties, "aggregation_grp_id") + delete(additionalProperties, "aggregation_grp_name") + delete(additionalProperties, "aggregation_cron_schedule") + delete(additionalProperties, "enableSchedule") + delete(additionalProperties, "source_id_list") + delete(additionalProperties, "created") + delete(additionalProperties, "modified") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostIntegrationsAggScheduleUpdate struct { + value *MultiHostIntegrationsAggScheduleUpdate + isSet bool +} + +func (v NullableMultiHostIntegrationsAggScheduleUpdate) Get() *MultiHostIntegrationsAggScheduleUpdate { + return v.value +} + +func (v *NullableMultiHostIntegrationsAggScheduleUpdate) Set(val *MultiHostIntegrationsAggScheduleUpdate) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostIntegrationsAggScheduleUpdate) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostIntegrationsAggScheduleUpdate) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostIntegrationsAggScheduleUpdate(val *MultiHostIntegrationsAggScheduleUpdate) *NullableMultiHostIntegrationsAggScheduleUpdate { + return &NullableMultiHostIntegrationsAggScheduleUpdate{value: val, isSet: true} +} + +func (v NullableMultiHostIntegrationsAggScheduleUpdate) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostIntegrationsAggScheduleUpdate) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_source_cluster.go b/api_beta/model_multi_host_integrations_cluster.go similarity index 59% rename from api_beta/model_source_cluster.go rename to api_beta/model_multi_host_integrations_cluster.go index 7ea702897..ceba860c7 100644 --- a/api_beta/model_source_cluster.go +++ b/api_beta/model_multi_host_integrations_cluster.go @@ -15,11 +15,11 @@ import ( "fmt" ) -// checks if the SourceCluster type satisfies the MappedNullable interface at compile time -var _ MappedNullable = &SourceCluster{} +// checks if the MultiHostIntegrationsCluster type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationsCluster{} -// SourceCluster Reference to the source's associated cluster. -type SourceCluster struct { +// MultiHostIntegrationsCluster Reference to the source's associated cluster. +type MultiHostIntegrationsCluster struct { // Type of object being referenced. Type string `json:"type"` // Cluster ID. @@ -29,30 +29,30 @@ type SourceCluster struct { AdditionalProperties map[string]interface{} } -type _SourceCluster SourceCluster +type _MultiHostIntegrationsCluster MultiHostIntegrationsCluster -// NewSourceCluster instantiates a new SourceCluster object +// NewMultiHostIntegrationsCluster instantiates a new MultiHostIntegrationsCluster object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewSourceCluster(type_ string, id string, name string) *SourceCluster { - this := SourceCluster{} +func NewMultiHostIntegrationsCluster(type_ string, id string, name string) *MultiHostIntegrationsCluster { + this := MultiHostIntegrationsCluster{} this.Type = type_ this.Id = id this.Name = name return &this } -// NewSourceClusterWithDefaults instantiates a new SourceCluster object +// NewMultiHostIntegrationsClusterWithDefaults instantiates a new MultiHostIntegrationsCluster object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set -func NewSourceClusterWithDefaults() *SourceCluster { - this := SourceCluster{} +func NewMultiHostIntegrationsClusterWithDefaults() *MultiHostIntegrationsCluster { + this := MultiHostIntegrationsCluster{} return &this } // GetType returns the Type field value -func (o *SourceCluster) GetType() string { +func (o *MultiHostIntegrationsCluster) GetType() string { if o == nil { var ret string return ret @@ -63,7 +63,7 @@ func (o *SourceCluster) GetType() string { // GetTypeOk returns a tuple with the Type field value // and a boolean to check if the value has been set. -func (o *SourceCluster) GetTypeOk() (*string, bool) { +func (o *MultiHostIntegrationsCluster) GetTypeOk() (*string, bool) { if o == nil { return nil, false } @@ -71,12 +71,12 @@ func (o *SourceCluster) GetTypeOk() (*string, bool) { } // SetType sets field value -func (o *SourceCluster) SetType(v string) { +func (o *MultiHostIntegrationsCluster) SetType(v string) { o.Type = v } // GetId returns the Id field value -func (o *SourceCluster) GetId() string { +func (o *MultiHostIntegrationsCluster) GetId() string { if o == nil { var ret string return ret @@ -87,7 +87,7 @@ func (o *SourceCluster) GetId() string { // GetIdOk returns a tuple with the Id field value // and a boolean to check if the value has been set. -func (o *SourceCluster) GetIdOk() (*string, bool) { +func (o *MultiHostIntegrationsCluster) GetIdOk() (*string, bool) { if o == nil { return nil, false } @@ -95,12 +95,12 @@ func (o *SourceCluster) GetIdOk() (*string, bool) { } // SetId sets field value -func (o *SourceCluster) SetId(v string) { +func (o *MultiHostIntegrationsCluster) SetId(v string) { o.Id = v } // GetName returns the Name field value -func (o *SourceCluster) GetName() string { +func (o *MultiHostIntegrationsCluster) GetName() string { if o == nil { var ret string return ret @@ -111,7 +111,7 @@ func (o *SourceCluster) GetName() string { // GetNameOk returns a tuple with the Name field value // and a boolean to check if the value has been set. -func (o *SourceCluster) GetNameOk() (*string, bool) { +func (o *MultiHostIntegrationsCluster) GetNameOk() (*string, bool) { if o == nil { return nil, false } @@ -119,11 +119,11 @@ func (o *SourceCluster) GetNameOk() (*string, bool) { } // SetName sets field value -func (o *SourceCluster) SetName(v string) { +func (o *MultiHostIntegrationsCluster) SetName(v string) { o.Name = v } -func (o SourceCluster) MarshalJSON() ([]byte, error) { +func (o MultiHostIntegrationsCluster) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err @@ -131,7 +131,7 @@ func (o SourceCluster) MarshalJSON() ([]byte, error) { return json.Marshal(toSerialize) } -func (o SourceCluster) ToMap() (map[string]interface{}, error) { +func (o MultiHostIntegrationsCluster) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} toSerialize["type"] = o.Type toSerialize["id"] = o.Id @@ -144,7 +144,7 @@ func (o SourceCluster) ToMap() (map[string]interface{}, error) { return toSerialize, nil } -func (o *SourceCluster) UnmarshalJSON(data []byte) (err error) { +func (o *MultiHostIntegrationsCluster) UnmarshalJSON(data []byte) (err error) { // This validates that all required properties are included in the JSON object // by unmarshalling the object into a generic map with string keys and checking // that every required field exists as a key in the generic map. @@ -168,15 +168,15 @@ func (o *SourceCluster) UnmarshalJSON(data []byte) (err error) { } } - varSourceCluster := _SourceCluster{} + varMultiHostIntegrationsCluster := _MultiHostIntegrationsCluster{} - err = json.Unmarshal(data, &varSourceCluster) + err = json.Unmarshal(data, &varMultiHostIntegrationsCluster) if err != nil { return err } - *o = SourceCluster(varSourceCluster) + *o = MultiHostIntegrationsCluster(varMultiHostIntegrationsCluster) additionalProperties := make(map[string]interface{}) @@ -190,38 +190,38 @@ func (o *SourceCluster) UnmarshalJSON(data []byte) (err error) { return err } -type NullableSourceCluster struct { - value *SourceCluster +type NullableMultiHostIntegrationsCluster struct { + value *MultiHostIntegrationsCluster isSet bool } -func (v NullableSourceCluster) Get() *SourceCluster { +func (v NullableMultiHostIntegrationsCluster) Get() *MultiHostIntegrationsCluster { return v.value } -func (v *NullableSourceCluster) Set(val *SourceCluster) { +func (v *NullableMultiHostIntegrationsCluster) Set(val *MultiHostIntegrationsCluster) { v.value = val v.isSet = true } -func (v NullableSourceCluster) IsSet() bool { +func (v NullableMultiHostIntegrationsCluster) IsSet() bool { return v.isSet } -func (v *NullableSourceCluster) Unset() { +func (v *NullableMultiHostIntegrationsCluster) Unset() { v.value = nil v.isSet = false } -func NewNullableSourceCluster(val *SourceCluster) *NullableSourceCluster { - return &NullableSourceCluster{value: val, isSet: true} +func NewNullableMultiHostIntegrationsCluster(val *MultiHostIntegrationsCluster) *NullableMultiHostIntegrationsCluster { + return &NullableMultiHostIntegrationsCluster{value: val, isSet: true} } -func (v NullableSourceCluster) MarshalJSON() ([]byte, error) { +func (v NullableMultiHostIntegrationsCluster) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } -func (v *NullableSourceCluster) UnmarshalJSON(src []byte) error { +func (v *NullableMultiHostIntegrationsCluster) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) } diff --git a/api_beta/model_multi_host_integrations_connector_attributes.go b/api_beta/model_multi_host_integrations_connector_attributes.go new file mode 100644 index 000000000..c35d334b6 --- /dev/null +++ b/api_beta/model_multi_host_integrations_connector_attributes.go @@ -0,0 +1,390 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" +) + +// checks if the MultiHostIntegrationsConnectorAttributes type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationsConnectorAttributes{} + +// MultiHostIntegrationsConnectorAttributes Connector specific configuration. This configuration will differ for Multi-Host Integration type. +type MultiHostIntegrationsConnectorAttributes struct { + // Maximum sources allowed count of a Multi-Host Integration + MaxAllowedSources *int32 `json:"maxAllowedSources,omitempty"` + // Last upload sources count of a Multi-Host Integration + LastSourceUploadCount *int32 `json:"lastSourceUploadCount,omitempty"` + ConnectorFileUploadHistory *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory `json:"connectorFileUploadHistory,omitempty"` + // Multi-Host integration status. + MultihostStatus *string `json:"multihost_status,omitempty"` + // Show account schema + ShowAccountSchema *bool `json:"showAccountSchema,omitempty"` + // Show entitlement schema + ShowEntitlementSchema *bool `json:"showEntitlementSchema,omitempty"` + MultiHostAttributes *MultiHostIntegrationsConnectorAttributesMultiHostAttributes `json:"multiHostAttributes,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostIntegrationsConnectorAttributes MultiHostIntegrationsConnectorAttributes + +// NewMultiHostIntegrationsConnectorAttributes instantiates a new MultiHostIntegrationsConnectorAttributes object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostIntegrationsConnectorAttributes() *MultiHostIntegrationsConnectorAttributes { + this := MultiHostIntegrationsConnectorAttributes{} + var showAccountSchema bool = true + this.ShowAccountSchema = &showAccountSchema + var showEntitlementSchema bool = true + this.ShowEntitlementSchema = &showEntitlementSchema + return &this +} + +// NewMultiHostIntegrationsConnectorAttributesWithDefaults instantiates a new MultiHostIntegrationsConnectorAttributes object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostIntegrationsConnectorAttributesWithDefaults() *MultiHostIntegrationsConnectorAttributes { + this := MultiHostIntegrationsConnectorAttributes{} + var showAccountSchema bool = true + this.ShowAccountSchema = &showAccountSchema + var showEntitlementSchema bool = true + this.ShowEntitlementSchema = &showEntitlementSchema + return &this +} + +// GetMaxAllowedSources returns the MaxAllowedSources field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributes) GetMaxAllowedSources() int32 { + if o == nil || IsNil(o.MaxAllowedSources) { + var ret int32 + return ret + } + return *o.MaxAllowedSources +} + +// GetMaxAllowedSourcesOk returns a tuple with the MaxAllowedSources field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributes) GetMaxAllowedSourcesOk() (*int32, bool) { + if o == nil || IsNil(o.MaxAllowedSources) { + return nil, false + } + return o.MaxAllowedSources, true +} + +// HasMaxAllowedSources returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributes) HasMaxAllowedSources() bool { + if o != nil && !IsNil(o.MaxAllowedSources) { + return true + } + + return false +} + +// SetMaxAllowedSources gets a reference to the given int32 and assigns it to the MaxAllowedSources field. +func (o *MultiHostIntegrationsConnectorAttributes) SetMaxAllowedSources(v int32) { + o.MaxAllowedSources = &v +} + +// GetLastSourceUploadCount returns the LastSourceUploadCount field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributes) GetLastSourceUploadCount() int32 { + if o == nil || IsNil(o.LastSourceUploadCount) { + var ret int32 + return ret + } + return *o.LastSourceUploadCount +} + +// GetLastSourceUploadCountOk returns a tuple with the LastSourceUploadCount field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributes) GetLastSourceUploadCountOk() (*int32, bool) { + if o == nil || IsNil(o.LastSourceUploadCount) { + return nil, false + } + return o.LastSourceUploadCount, true +} + +// HasLastSourceUploadCount returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributes) HasLastSourceUploadCount() bool { + if o != nil && !IsNil(o.LastSourceUploadCount) { + return true + } + + return false +} + +// SetLastSourceUploadCount gets a reference to the given int32 and assigns it to the LastSourceUploadCount field. +func (o *MultiHostIntegrationsConnectorAttributes) SetLastSourceUploadCount(v int32) { + o.LastSourceUploadCount = &v +} + +// GetConnectorFileUploadHistory returns the ConnectorFileUploadHistory field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributes) GetConnectorFileUploadHistory() MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory { + if o == nil || IsNil(o.ConnectorFileUploadHistory) { + var ret MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory + return ret + } + return *o.ConnectorFileUploadHistory +} + +// GetConnectorFileUploadHistoryOk returns a tuple with the ConnectorFileUploadHistory field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributes) GetConnectorFileUploadHistoryOk() (*MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory, bool) { + if o == nil || IsNil(o.ConnectorFileUploadHistory) { + return nil, false + } + return o.ConnectorFileUploadHistory, true +} + +// HasConnectorFileUploadHistory returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributes) HasConnectorFileUploadHistory() bool { + if o != nil && !IsNil(o.ConnectorFileUploadHistory) { + return true + } + + return false +} + +// SetConnectorFileUploadHistory gets a reference to the given MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory and assigns it to the ConnectorFileUploadHistory field. +func (o *MultiHostIntegrationsConnectorAttributes) SetConnectorFileUploadHistory(v MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) { + o.ConnectorFileUploadHistory = &v +} + +// GetMultihostStatus returns the MultihostStatus field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributes) GetMultihostStatus() string { + if o == nil || IsNil(o.MultihostStatus) { + var ret string + return ret + } + return *o.MultihostStatus +} + +// GetMultihostStatusOk returns a tuple with the MultihostStatus field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributes) GetMultihostStatusOk() (*string, bool) { + if o == nil || IsNil(o.MultihostStatus) { + return nil, false + } + return o.MultihostStatus, true +} + +// HasMultihostStatus returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributes) HasMultihostStatus() bool { + if o != nil && !IsNil(o.MultihostStatus) { + return true + } + + return false +} + +// SetMultihostStatus gets a reference to the given string and assigns it to the MultihostStatus field. +func (o *MultiHostIntegrationsConnectorAttributes) SetMultihostStatus(v string) { + o.MultihostStatus = &v +} + +// GetShowAccountSchema returns the ShowAccountSchema field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributes) GetShowAccountSchema() bool { + if o == nil || IsNil(o.ShowAccountSchema) { + var ret bool + return ret + } + return *o.ShowAccountSchema +} + +// GetShowAccountSchemaOk returns a tuple with the ShowAccountSchema field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributes) GetShowAccountSchemaOk() (*bool, bool) { + if o == nil || IsNil(o.ShowAccountSchema) { + return nil, false + } + return o.ShowAccountSchema, true +} + +// HasShowAccountSchema returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributes) HasShowAccountSchema() bool { + if o != nil && !IsNil(o.ShowAccountSchema) { + return true + } + + return false +} + +// SetShowAccountSchema gets a reference to the given bool and assigns it to the ShowAccountSchema field. +func (o *MultiHostIntegrationsConnectorAttributes) SetShowAccountSchema(v bool) { + o.ShowAccountSchema = &v +} + +// GetShowEntitlementSchema returns the ShowEntitlementSchema field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributes) GetShowEntitlementSchema() bool { + if o == nil || IsNil(o.ShowEntitlementSchema) { + var ret bool + return ret + } + return *o.ShowEntitlementSchema +} + +// GetShowEntitlementSchemaOk returns a tuple with the ShowEntitlementSchema field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributes) GetShowEntitlementSchemaOk() (*bool, bool) { + if o == nil || IsNil(o.ShowEntitlementSchema) { + return nil, false + } + return o.ShowEntitlementSchema, true +} + +// HasShowEntitlementSchema returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributes) HasShowEntitlementSchema() bool { + if o != nil && !IsNil(o.ShowEntitlementSchema) { + return true + } + + return false +} + +// SetShowEntitlementSchema gets a reference to the given bool and assigns it to the ShowEntitlementSchema field. +func (o *MultiHostIntegrationsConnectorAttributes) SetShowEntitlementSchema(v bool) { + o.ShowEntitlementSchema = &v +} + +// GetMultiHostAttributes returns the MultiHostAttributes field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributes) GetMultiHostAttributes() MultiHostIntegrationsConnectorAttributesMultiHostAttributes { + if o == nil || IsNil(o.MultiHostAttributes) { + var ret MultiHostIntegrationsConnectorAttributesMultiHostAttributes + return ret + } + return *o.MultiHostAttributes +} + +// GetMultiHostAttributesOk returns a tuple with the MultiHostAttributes field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributes) GetMultiHostAttributesOk() (*MultiHostIntegrationsConnectorAttributesMultiHostAttributes, bool) { + if o == nil || IsNil(o.MultiHostAttributes) { + return nil, false + } + return o.MultiHostAttributes, true +} + +// HasMultiHostAttributes returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributes) HasMultiHostAttributes() bool { + if o != nil && !IsNil(o.MultiHostAttributes) { + return true + } + + return false +} + +// SetMultiHostAttributes gets a reference to the given MultiHostIntegrationsConnectorAttributesMultiHostAttributes and assigns it to the MultiHostAttributes field. +func (o *MultiHostIntegrationsConnectorAttributes) SetMultiHostAttributes(v MultiHostIntegrationsConnectorAttributesMultiHostAttributes) { + o.MultiHostAttributes = &v +} + +func (o MultiHostIntegrationsConnectorAttributes) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostIntegrationsConnectorAttributes) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.MaxAllowedSources) { + toSerialize["maxAllowedSources"] = o.MaxAllowedSources + } + if !IsNil(o.LastSourceUploadCount) { + toSerialize["lastSourceUploadCount"] = o.LastSourceUploadCount + } + if !IsNil(o.ConnectorFileUploadHistory) { + toSerialize["connectorFileUploadHistory"] = o.ConnectorFileUploadHistory + } + if !IsNil(o.MultihostStatus) { + toSerialize["multihost_status"] = o.MultihostStatus + } + if !IsNil(o.ShowAccountSchema) { + toSerialize["showAccountSchema"] = o.ShowAccountSchema + } + if !IsNil(o.ShowEntitlementSchema) { + toSerialize["showEntitlementSchema"] = o.ShowEntitlementSchema + } + if !IsNil(o.MultiHostAttributes) { + toSerialize["multiHostAttributes"] = o.MultiHostAttributes + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostIntegrationsConnectorAttributes) UnmarshalJSON(data []byte) (err error) { + varMultiHostIntegrationsConnectorAttributes := _MultiHostIntegrationsConnectorAttributes{} + + err = json.Unmarshal(data, &varMultiHostIntegrationsConnectorAttributes) + + if err != nil { + return err + } + + *o = MultiHostIntegrationsConnectorAttributes(varMultiHostIntegrationsConnectorAttributes) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "maxAllowedSources") + delete(additionalProperties, "lastSourceUploadCount") + delete(additionalProperties, "connectorFileUploadHistory") + delete(additionalProperties, "multihost_status") + delete(additionalProperties, "showAccountSchema") + delete(additionalProperties, "showEntitlementSchema") + delete(additionalProperties, "multiHostAttributes") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostIntegrationsConnectorAttributes struct { + value *MultiHostIntegrationsConnectorAttributes + isSet bool +} + +func (v NullableMultiHostIntegrationsConnectorAttributes) Get() *MultiHostIntegrationsConnectorAttributes { + return v.value +} + +func (v *NullableMultiHostIntegrationsConnectorAttributes) Set(val *MultiHostIntegrationsConnectorAttributes) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostIntegrationsConnectorAttributes) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostIntegrationsConnectorAttributes) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostIntegrationsConnectorAttributes(val *MultiHostIntegrationsConnectorAttributes) *NullableMultiHostIntegrationsConnectorAttributes { + return &NullableMultiHostIntegrationsConnectorAttributes{value: val, isSet: true} +} + +func (v NullableMultiHostIntegrationsConnectorAttributes) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostIntegrationsConnectorAttributes) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_multi_host_integrations_connector_attributes_connector_file_upload_history.go b/api_beta/model_multi_host_integrations_connector_attributes_connector_file_upload_history.go new file mode 100644 index 000000000..50aaa9b19 --- /dev/null +++ b/api_beta/model_multi_host_integrations_connector_attributes_connector_file_upload_history.go @@ -0,0 +1,156 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" +) + +// checks if the MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory{} + +// MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory struct for MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory +type MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory struct { + // File name of the connector JAR + ConnectorFileNameUploadedDate *string `json:"connectorFileNameUploadedDate,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory + +// NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory instantiates a new MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory() *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory { + this := MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory{} + return &this +} + +// NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistoryWithDefaults instantiates a new MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistoryWithDefaults() *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory { + this := MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory{} + return &this +} + +// GetConnectorFileNameUploadedDate returns the ConnectorFileNameUploadedDate field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) GetConnectorFileNameUploadedDate() string { + if o == nil || IsNil(o.ConnectorFileNameUploadedDate) { + var ret string + return ret + } + return *o.ConnectorFileNameUploadedDate +} + +// GetConnectorFileNameUploadedDateOk returns a tuple with the ConnectorFileNameUploadedDate field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) GetConnectorFileNameUploadedDateOk() (*string, bool) { + if o == nil || IsNil(o.ConnectorFileNameUploadedDate) { + return nil, false + } + return o.ConnectorFileNameUploadedDate, true +} + +// HasConnectorFileNameUploadedDate returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) HasConnectorFileNameUploadedDate() bool { + if o != nil && !IsNil(o.ConnectorFileNameUploadedDate) { + return true + } + + return false +} + +// SetConnectorFileNameUploadedDate gets a reference to the given string and assigns it to the ConnectorFileNameUploadedDate field. +func (o *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) SetConnectorFileNameUploadedDate(v string) { + o.ConnectorFileNameUploadedDate = &v +} + +func (o MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.ConnectorFileNameUploadedDate) { + toSerialize["connectorFileNameUploadedDate"] = o.ConnectorFileNameUploadedDate + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) UnmarshalJSON(data []byte) (err error) { + varMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory := _MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory{} + + err = json.Unmarshal(data, &varMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) + + if err != nil { + return err + } + + *o = MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory(varMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "connectorFileNameUploadedDate") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory struct { + value *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory + isSet bool +} + +func (v NullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) Get() *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory { + return v.value +} + +func (v *NullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) Set(val *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory(val *MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) *NullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory { + return &NullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory{value: val, isSet: true} +} + +func (v NullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_multi_host_integrations_connector_attributes_multi_host_attributes.go b/api_beta/model_multi_host_integrations_connector_attributes_multi_host_attributes.go new file mode 100644 index 000000000..9943edbec --- /dev/null +++ b/api_beta/model_multi_host_integrations_connector_attributes_multi_host_attributes.go @@ -0,0 +1,270 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" +) + +// checks if the MultiHostIntegrationsConnectorAttributesMultiHostAttributes type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationsConnectorAttributesMultiHostAttributes{} + +// MultiHostIntegrationsConnectorAttributesMultiHostAttributes Attributes of Multi-Host Integration +type MultiHostIntegrationsConnectorAttributesMultiHostAttributes struct { + // Password. + Password *string `json:"password,omitempty"` + // Connector file. + ConnectorFiles *string `json:"connector_files,omitempty"` + // Authentication type. + AuthType *string `json:"authType,omitempty"` + // Username. + User *string `json:"user,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostIntegrationsConnectorAttributesMultiHostAttributes MultiHostIntegrationsConnectorAttributesMultiHostAttributes + +// NewMultiHostIntegrationsConnectorAttributesMultiHostAttributes instantiates a new MultiHostIntegrationsConnectorAttributesMultiHostAttributes object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostIntegrationsConnectorAttributesMultiHostAttributes() *MultiHostIntegrationsConnectorAttributesMultiHostAttributes { + this := MultiHostIntegrationsConnectorAttributesMultiHostAttributes{} + return &this +} + +// NewMultiHostIntegrationsConnectorAttributesMultiHostAttributesWithDefaults instantiates a new MultiHostIntegrationsConnectorAttributesMultiHostAttributes object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostIntegrationsConnectorAttributesMultiHostAttributesWithDefaults() *MultiHostIntegrationsConnectorAttributesMultiHostAttributes { + this := MultiHostIntegrationsConnectorAttributesMultiHostAttributes{} + return &this +} + +// GetPassword returns the Password field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetPassword() string { + if o == nil || IsNil(o.Password) { + var ret string + return ret + } + return *o.Password +} + +// GetPasswordOk returns a tuple with the Password field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetPasswordOk() (*string, bool) { + if o == nil || IsNil(o.Password) { + return nil, false + } + return o.Password, true +} + +// HasPassword returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) HasPassword() bool { + if o != nil && !IsNil(o.Password) { + return true + } + + return false +} + +// SetPassword gets a reference to the given string and assigns it to the Password field. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) SetPassword(v string) { + o.Password = &v +} + +// GetConnectorFiles returns the ConnectorFiles field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetConnectorFiles() string { + if o == nil || IsNil(o.ConnectorFiles) { + var ret string + return ret + } + return *o.ConnectorFiles +} + +// GetConnectorFilesOk returns a tuple with the ConnectorFiles field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetConnectorFilesOk() (*string, bool) { + if o == nil || IsNil(o.ConnectorFiles) { + return nil, false + } + return o.ConnectorFiles, true +} + +// HasConnectorFiles returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) HasConnectorFiles() bool { + if o != nil && !IsNil(o.ConnectorFiles) { + return true + } + + return false +} + +// SetConnectorFiles gets a reference to the given string and assigns it to the ConnectorFiles field. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) SetConnectorFiles(v string) { + o.ConnectorFiles = &v +} + +// GetAuthType returns the AuthType field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetAuthType() string { + if o == nil || IsNil(o.AuthType) { + var ret string + return ret + } + return *o.AuthType +} + +// GetAuthTypeOk returns a tuple with the AuthType field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetAuthTypeOk() (*string, bool) { + if o == nil || IsNil(o.AuthType) { + return nil, false + } + return o.AuthType, true +} + +// HasAuthType returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) HasAuthType() bool { + if o != nil && !IsNil(o.AuthType) { + return true + } + + return false +} + +// SetAuthType gets a reference to the given string and assigns it to the AuthType field. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) SetAuthType(v string) { + o.AuthType = &v +} + +// GetUser returns the User field value if set, zero value otherwise. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetUser() string { + if o == nil || IsNil(o.User) { + var ret string + return ret + } + return *o.User +} + +// GetUserOk returns a tuple with the User field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) GetUserOk() (*string, bool) { + if o == nil || IsNil(o.User) { + return nil, false + } + return o.User, true +} + +// HasUser returns a boolean if a field has been set. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) HasUser() bool { + if o != nil && !IsNil(o.User) { + return true + } + + return false +} + +// SetUser gets a reference to the given string and assigns it to the User field. +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) SetUser(v string) { + o.User = &v +} + +func (o MultiHostIntegrationsConnectorAttributesMultiHostAttributes) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostIntegrationsConnectorAttributesMultiHostAttributes) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.Password) { + toSerialize["password"] = o.Password + } + if !IsNil(o.ConnectorFiles) { + toSerialize["connector_files"] = o.ConnectorFiles + } + if !IsNil(o.AuthType) { + toSerialize["authType"] = o.AuthType + } + if !IsNil(o.User) { + toSerialize["user"] = o.User + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) UnmarshalJSON(data []byte) (err error) { + varMultiHostIntegrationsConnectorAttributesMultiHostAttributes := _MultiHostIntegrationsConnectorAttributesMultiHostAttributes{} + + err = json.Unmarshal(data, &varMultiHostIntegrationsConnectorAttributesMultiHostAttributes) + + if err != nil { + return err + } + + *o = MultiHostIntegrationsConnectorAttributesMultiHostAttributes(varMultiHostIntegrationsConnectorAttributesMultiHostAttributes) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "password") + delete(additionalProperties, "connector_files") + delete(additionalProperties, "authType") + delete(additionalProperties, "user") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes struct { + value *MultiHostIntegrationsConnectorAttributesMultiHostAttributes + isSet bool +} + +func (v NullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes) Get() *MultiHostIntegrationsConnectorAttributesMultiHostAttributes { + return v.value +} + +func (v *NullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes) Set(val *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes(val *MultiHostIntegrationsConnectorAttributesMultiHostAttributes) *NullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes { + return &NullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes{value: val, isSet: true} +} + +func (v NullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostIntegrationsConnectorAttributesMultiHostAttributes) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_multi_host_integrations_create.go b/api_beta/model_multi_host_integrations_create.go new file mode 100644 index 000000000..0697f024a --- /dev/null +++ b/api_beta/model_multi_host_integrations_create.go @@ -0,0 +1,467 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" + "time" + "fmt" +) + +// checks if the MultiHostIntegrationsCreate type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationsCreate{} + +// MultiHostIntegrationsCreate struct for MultiHostIntegrationsCreate +type MultiHostIntegrationsCreate struct { + // Multi-Host Integration's human-readable name. + Name string `json:"name"` + // Multi-Host Integration's human-readable description. + Description string `json:"description"` + Owner MultiHostIntegrationsOwner `json:"owner"` + Cluster NullableMultiHostIntegrationsCluster `json:"cluster,omitempty"` + // Connector script name. + Connector string `json:"connector"` + // Multi-Host Integration specific configuration. User can add any number of additional attributes. e.g. maxSourcesPerAggGroup, maxAllowedSources etc. + ConnectorAttributes map[string]interface{} `json:"connectorAttributes,omitempty"` + ManagementWorkgroup NullableMultiHostIntegrationsManagementWorkgroup `json:"managementWorkgroup,omitempty"` + // Date-time when the source was created + Created *time.Time `json:"created,omitempty"` + // Date-time when the source was last modified. + Modified *time.Time `json:"modified,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostIntegrationsCreate MultiHostIntegrationsCreate + +// NewMultiHostIntegrationsCreate instantiates a new MultiHostIntegrationsCreate object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostIntegrationsCreate(name string, description string, owner MultiHostIntegrationsOwner, connector string) *MultiHostIntegrationsCreate { + this := MultiHostIntegrationsCreate{} + this.Name = name + this.Description = description + this.Owner = owner + this.Connector = connector + return &this +} + +// NewMultiHostIntegrationsCreateWithDefaults instantiates a new MultiHostIntegrationsCreate object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostIntegrationsCreateWithDefaults() *MultiHostIntegrationsCreate { + this := MultiHostIntegrationsCreate{} + return &this +} + +// GetName returns the Name field value +func (o *MultiHostIntegrationsCreate) GetName() string { + if o == nil { + var ret string + return ret + } + + return o.Name +} + +// GetNameOk returns a tuple with the Name field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreate) GetNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Name, true +} + +// SetName sets field value +func (o *MultiHostIntegrationsCreate) SetName(v string) { + o.Name = v +} + +// GetDescription returns the Description field value +func (o *MultiHostIntegrationsCreate) GetDescription() string { + if o == nil { + var ret string + return ret + } + + return o.Description +} + +// GetDescriptionOk returns a tuple with the Description field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreate) GetDescriptionOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Description, true +} + +// SetDescription sets field value +func (o *MultiHostIntegrationsCreate) SetDescription(v string) { + o.Description = v +} + +// GetOwner returns the Owner field value +func (o *MultiHostIntegrationsCreate) GetOwner() MultiHostIntegrationsOwner { + if o == nil { + var ret MultiHostIntegrationsOwner + return ret + } + + return o.Owner +} + +// GetOwnerOk returns a tuple with the Owner field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreate) GetOwnerOk() (*MultiHostIntegrationsOwner, bool) { + if o == nil { + return nil, false + } + return &o.Owner, true +} + +// SetOwner sets field value +func (o *MultiHostIntegrationsCreate) SetOwner(v MultiHostIntegrationsOwner) { + o.Owner = v +} + +// GetCluster returns the Cluster field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostIntegrationsCreate) GetCluster() MultiHostIntegrationsCluster { + if o == nil || IsNil(o.Cluster.Get()) { + var ret MultiHostIntegrationsCluster + return ret + } + return *o.Cluster.Get() +} + +// GetClusterOk returns a tuple with the Cluster field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostIntegrationsCreate) GetClusterOk() (*MultiHostIntegrationsCluster, bool) { + if o == nil { + return nil, false + } + return o.Cluster.Get(), o.Cluster.IsSet() +} + +// HasCluster returns a boolean if a field has been set. +func (o *MultiHostIntegrationsCreate) HasCluster() bool { + if o != nil && o.Cluster.IsSet() { + return true + } + + return false +} + +// SetCluster gets a reference to the given NullableMultiHostIntegrationsCluster and assigns it to the Cluster field. +func (o *MultiHostIntegrationsCreate) SetCluster(v MultiHostIntegrationsCluster) { + o.Cluster.Set(&v) +} +// SetClusterNil sets the value for Cluster to be an explicit nil +func (o *MultiHostIntegrationsCreate) SetClusterNil() { + o.Cluster.Set(nil) +} + +// UnsetCluster ensures that no value is present for Cluster, not even an explicit nil +func (o *MultiHostIntegrationsCreate) UnsetCluster() { + o.Cluster.Unset() +} + +// GetConnector returns the Connector field value +func (o *MultiHostIntegrationsCreate) GetConnector() string { + if o == nil { + var ret string + return ret + } + + return o.Connector +} + +// GetConnectorOk returns a tuple with the Connector field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreate) GetConnectorOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Connector, true +} + +// SetConnector sets field value +func (o *MultiHostIntegrationsCreate) SetConnector(v string) { + o.Connector = v +} + +// GetConnectorAttributes returns the ConnectorAttributes field value if set, zero value otherwise. +func (o *MultiHostIntegrationsCreate) GetConnectorAttributes() map[string]interface{} { + if o == nil || IsNil(o.ConnectorAttributes) { + var ret map[string]interface{} + return ret + } + return o.ConnectorAttributes +} + +// GetConnectorAttributesOk returns a tuple with the ConnectorAttributes field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreate) GetConnectorAttributesOk() (map[string]interface{}, bool) { + if o == nil || IsNil(o.ConnectorAttributes) { + return map[string]interface{}{}, false + } + return o.ConnectorAttributes, true +} + +// HasConnectorAttributes returns a boolean if a field has been set. +func (o *MultiHostIntegrationsCreate) HasConnectorAttributes() bool { + if o != nil && !IsNil(o.ConnectorAttributes) { + return true + } + + return false +} + +// SetConnectorAttributes gets a reference to the given map[string]interface{} and assigns it to the ConnectorAttributes field. +func (o *MultiHostIntegrationsCreate) SetConnectorAttributes(v map[string]interface{}) { + o.ConnectorAttributes = v +} + +// GetManagementWorkgroup returns the ManagementWorkgroup field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostIntegrationsCreate) GetManagementWorkgroup() MultiHostIntegrationsManagementWorkgroup { + if o == nil || IsNil(o.ManagementWorkgroup.Get()) { + var ret MultiHostIntegrationsManagementWorkgroup + return ret + } + return *o.ManagementWorkgroup.Get() +} + +// GetManagementWorkgroupOk returns a tuple with the ManagementWorkgroup field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostIntegrationsCreate) GetManagementWorkgroupOk() (*MultiHostIntegrationsManagementWorkgroup, bool) { + if o == nil { + return nil, false + } + return o.ManagementWorkgroup.Get(), o.ManagementWorkgroup.IsSet() +} + +// HasManagementWorkgroup returns a boolean if a field has been set. +func (o *MultiHostIntegrationsCreate) HasManagementWorkgroup() bool { + if o != nil && o.ManagementWorkgroup.IsSet() { + return true + } + + return false +} + +// SetManagementWorkgroup gets a reference to the given NullableMultiHostIntegrationsManagementWorkgroup and assigns it to the ManagementWorkgroup field. +func (o *MultiHostIntegrationsCreate) SetManagementWorkgroup(v MultiHostIntegrationsManagementWorkgroup) { + o.ManagementWorkgroup.Set(&v) +} +// SetManagementWorkgroupNil sets the value for ManagementWorkgroup to be an explicit nil +func (o *MultiHostIntegrationsCreate) SetManagementWorkgroupNil() { + o.ManagementWorkgroup.Set(nil) +} + +// UnsetManagementWorkgroup ensures that no value is present for ManagementWorkgroup, not even an explicit nil +func (o *MultiHostIntegrationsCreate) UnsetManagementWorkgroup() { + o.ManagementWorkgroup.Unset() +} + +// GetCreated returns the Created field value if set, zero value otherwise. +func (o *MultiHostIntegrationsCreate) GetCreated() time.Time { + if o == nil || IsNil(o.Created) { + var ret time.Time + return ret + } + return *o.Created +} + +// GetCreatedOk returns a tuple with the Created field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreate) GetCreatedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Created) { + return nil, false + } + return o.Created, true +} + +// HasCreated returns a boolean if a field has been set. +func (o *MultiHostIntegrationsCreate) HasCreated() bool { + if o != nil && !IsNil(o.Created) { + return true + } + + return false +} + +// SetCreated gets a reference to the given time.Time and assigns it to the Created field. +func (o *MultiHostIntegrationsCreate) SetCreated(v time.Time) { + o.Created = &v +} + +// GetModified returns the Modified field value if set, zero value otherwise. +func (o *MultiHostIntegrationsCreate) GetModified() time.Time { + if o == nil || IsNil(o.Modified) { + var ret time.Time + return ret + } + return *o.Modified +} + +// GetModifiedOk returns a tuple with the Modified field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreate) GetModifiedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Modified) { + return nil, false + } + return o.Modified, true +} + +// HasModified returns a boolean if a field has been set. +func (o *MultiHostIntegrationsCreate) HasModified() bool { + if o != nil && !IsNil(o.Modified) { + return true + } + + return false +} + +// SetModified gets a reference to the given time.Time and assigns it to the Modified field. +func (o *MultiHostIntegrationsCreate) SetModified(v time.Time) { + o.Modified = &v +} + +func (o MultiHostIntegrationsCreate) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostIntegrationsCreate) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + toSerialize["name"] = o.Name + toSerialize["description"] = o.Description + toSerialize["owner"] = o.Owner + if o.Cluster.IsSet() { + toSerialize["cluster"] = o.Cluster.Get() + } + toSerialize["connector"] = o.Connector + if !IsNil(o.ConnectorAttributes) { + toSerialize["connectorAttributes"] = o.ConnectorAttributes + } + if o.ManagementWorkgroup.IsSet() { + toSerialize["managementWorkgroup"] = o.ManagementWorkgroup.Get() + } + if !IsNil(o.Created) { + toSerialize["created"] = o.Created + } + if !IsNil(o.Modified) { + toSerialize["modified"] = o.Modified + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostIntegrationsCreate) UnmarshalJSON(data []byte) (err error) { + // This validates that all required properties are included in the JSON object + // by unmarshalling the object into a generic map with string keys and checking + // that every required field exists as a key in the generic map. + requiredProperties := []string{ + "name", + "description", + "owner", + "connector", + } + + allProperties := make(map[string]interface{}) + + err = json.Unmarshal(data, &allProperties) + + if err != nil { + return err; + } + + for _, requiredProperty := range(requiredProperties) { + if _, exists := allProperties[requiredProperty]; !exists { + return fmt.Errorf("no value given for required property %v", requiredProperty) + } + } + + varMultiHostIntegrationsCreate := _MultiHostIntegrationsCreate{} + + err = json.Unmarshal(data, &varMultiHostIntegrationsCreate) + + if err != nil { + return err + } + + *o = MultiHostIntegrationsCreate(varMultiHostIntegrationsCreate) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "name") + delete(additionalProperties, "description") + delete(additionalProperties, "owner") + delete(additionalProperties, "cluster") + delete(additionalProperties, "connector") + delete(additionalProperties, "connectorAttributes") + delete(additionalProperties, "managementWorkgroup") + delete(additionalProperties, "created") + delete(additionalProperties, "modified") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostIntegrationsCreate struct { + value *MultiHostIntegrationsCreate + isSet bool +} + +func (v NullableMultiHostIntegrationsCreate) Get() *MultiHostIntegrationsCreate { + return v.value +} + +func (v *NullableMultiHostIntegrationsCreate) Set(val *MultiHostIntegrationsCreate) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostIntegrationsCreate) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostIntegrationsCreate) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostIntegrationsCreate(val *MultiHostIntegrationsCreate) *NullableMultiHostIntegrationsCreate { + return &NullableMultiHostIntegrationsCreate{value: val, isSet: true} +} + +func (v NullableMultiHostIntegrationsCreate) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostIntegrationsCreate) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_multi_host_integrations_create_sources.go b/api_beta/model_multi_host_integrations_create_sources.go new file mode 100644 index 000000000..4d176e06c --- /dev/null +++ b/api_beta/model_multi_host_integrations_create_sources.go @@ -0,0 +1,245 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" + "fmt" +) + +// checks if the MultiHostIntegrationsCreateSources type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationsCreateSources{} + +// MultiHostIntegrationsCreateSources This represents sources to be created of same type. +type MultiHostIntegrationsCreateSources struct { + // Source's human-readable name. + Name string `json:"name"` + // Source's human-readable description. + Description *string `json:"description,omitempty"` + // Connector specific configuration. This configuration will differ from type to type. + ConnectorAttributes map[string]interface{} `json:"connectorAttributes,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostIntegrationsCreateSources MultiHostIntegrationsCreateSources + +// NewMultiHostIntegrationsCreateSources instantiates a new MultiHostIntegrationsCreateSources object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostIntegrationsCreateSources(name string) *MultiHostIntegrationsCreateSources { + this := MultiHostIntegrationsCreateSources{} + this.Name = name + return &this +} + +// NewMultiHostIntegrationsCreateSourcesWithDefaults instantiates a new MultiHostIntegrationsCreateSources object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostIntegrationsCreateSourcesWithDefaults() *MultiHostIntegrationsCreateSources { + this := MultiHostIntegrationsCreateSources{} + return &this +} + +// GetName returns the Name field value +func (o *MultiHostIntegrationsCreateSources) GetName() string { + if o == nil { + var ret string + return ret + } + + return o.Name +} + +// GetNameOk returns a tuple with the Name field value +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreateSources) GetNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Name, true +} + +// SetName sets field value +func (o *MultiHostIntegrationsCreateSources) SetName(v string) { + o.Name = v +} + +// GetDescription returns the Description field value if set, zero value otherwise. +func (o *MultiHostIntegrationsCreateSources) GetDescription() string { + if o == nil || IsNil(o.Description) { + var ret string + return ret + } + return *o.Description +} + +// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreateSources) GetDescriptionOk() (*string, bool) { + if o == nil || IsNil(o.Description) { + return nil, false + } + return o.Description, true +} + +// HasDescription returns a boolean if a field has been set. +func (o *MultiHostIntegrationsCreateSources) HasDescription() bool { + if o != nil && !IsNil(o.Description) { + return true + } + + return false +} + +// SetDescription gets a reference to the given string and assigns it to the Description field. +func (o *MultiHostIntegrationsCreateSources) SetDescription(v string) { + o.Description = &v +} + +// GetConnectorAttributes returns the ConnectorAttributes field value if set, zero value otherwise. +func (o *MultiHostIntegrationsCreateSources) GetConnectorAttributes() map[string]interface{} { + if o == nil || IsNil(o.ConnectorAttributes) { + var ret map[string]interface{} + return ret + } + return o.ConnectorAttributes +} + +// GetConnectorAttributesOk returns a tuple with the ConnectorAttributes field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostIntegrationsCreateSources) GetConnectorAttributesOk() (map[string]interface{}, bool) { + if o == nil || IsNil(o.ConnectorAttributes) { + return map[string]interface{}{}, false + } + return o.ConnectorAttributes, true +} + +// HasConnectorAttributes returns a boolean if a field has been set. +func (o *MultiHostIntegrationsCreateSources) HasConnectorAttributes() bool { + if o != nil && !IsNil(o.ConnectorAttributes) { + return true + } + + return false +} + +// SetConnectorAttributes gets a reference to the given map[string]interface{} and assigns it to the ConnectorAttributes field. +func (o *MultiHostIntegrationsCreateSources) SetConnectorAttributes(v map[string]interface{}) { + o.ConnectorAttributes = v +} + +func (o MultiHostIntegrationsCreateSources) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostIntegrationsCreateSources) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + toSerialize["name"] = o.Name + if !IsNil(o.Description) { + toSerialize["description"] = o.Description + } + if !IsNil(o.ConnectorAttributes) { + toSerialize["connectorAttributes"] = o.ConnectorAttributes + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostIntegrationsCreateSources) UnmarshalJSON(data []byte) (err error) { + // This validates that all required properties are included in the JSON object + // by unmarshalling the object into a generic map with string keys and checking + // that every required field exists as a key in the generic map. + requiredProperties := []string{ + "name", + } + + allProperties := make(map[string]interface{}) + + err = json.Unmarshal(data, &allProperties) + + if err != nil { + return err; + } + + for _, requiredProperty := range(requiredProperties) { + if _, exists := allProperties[requiredProperty]; !exists { + return fmt.Errorf("no value given for required property %v", requiredProperty) + } + } + + varMultiHostIntegrationsCreateSources := _MultiHostIntegrationsCreateSources{} + + err = json.Unmarshal(data, &varMultiHostIntegrationsCreateSources) + + if err != nil { + return err + } + + *o = MultiHostIntegrationsCreateSources(varMultiHostIntegrationsCreateSources) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "name") + delete(additionalProperties, "description") + delete(additionalProperties, "connectorAttributes") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostIntegrationsCreateSources struct { + value *MultiHostIntegrationsCreateSources + isSet bool +} + +func (v NullableMultiHostIntegrationsCreateSources) Get() *MultiHostIntegrationsCreateSources { + return v.value +} + +func (v *NullableMultiHostIntegrationsCreateSources) Set(val *MultiHostIntegrationsCreateSources) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostIntegrationsCreateSources) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostIntegrationsCreateSources) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostIntegrationsCreateSources(val *MultiHostIntegrationsCreateSources) *NullableMultiHostIntegrationsCreateSources { + return &NullableMultiHostIntegrationsCreateSources{value: val, isSet: true} +} + +func (v NullableMultiHostIntegrationsCreateSources) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostIntegrationsCreateSources) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_source_management_workgroup.go b/api_beta/model_multi_host_integrations_management_workgroup.go similarity index 54% rename from api_beta/model_source_management_workgroup.go rename to api_beta/model_multi_host_integrations_management_workgroup.go index 512161aab..77c46fab4 100644 --- a/api_beta/model_source_management_workgroup.go +++ b/api_beta/model_multi_host_integrations_management_workgroup.go @@ -14,11 +14,11 @@ import ( "encoding/json" ) -// checks if the SourceManagementWorkgroup type satisfies the MappedNullable interface at compile time -var _ MappedNullable = &SourceManagementWorkgroup{} +// checks if the MultiHostIntegrationsManagementWorkgroup type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationsManagementWorkgroup{} -// SourceManagementWorkgroup Reference to management workgroup for the source. -type SourceManagementWorkgroup struct { +// MultiHostIntegrationsManagementWorkgroup Reference to management workgroup for the source. +type MultiHostIntegrationsManagementWorkgroup struct { // Type of object being referenced. Type *string `json:"type,omitempty"` // Management workgroup ID. @@ -28,27 +28,27 @@ type SourceManagementWorkgroup struct { AdditionalProperties map[string]interface{} } -type _SourceManagementWorkgroup SourceManagementWorkgroup +type _MultiHostIntegrationsManagementWorkgroup MultiHostIntegrationsManagementWorkgroup -// NewSourceManagementWorkgroup instantiates a new SourceManagementWorkgroup object +// NewMultiHostIntegrationsManagementWorkgroup instantiates a new MultiHostIntegrationsManagementWorkgroup object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewSourceManagementWorkgroup() *SourceManagementWorkgroup { - this := SourceManagementWorkgroup{} +func NewMultiHostIntegrationsManagementWorkgroup() *MultiHostIntegrationsManagementWorkgroup { + this := MultiHostIntegrationsManagementWorkgroup{} return &this } -// NewSourceManagementWorkgroupWithDefaults instantiates a new SourceManagementWorkgroup object +// NewMultiHostIntegrationsManagementWorkgroupWithDefaults instantiates a new MultiHostIntegrationsManagementWorkgroup object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set -func NewSourceManagementWorkgroupWithDefaults() *SourceManagementWorkgroup { - this := SourceManagementWorkgroup{} +func NewMultiHostIntegrationsManagementWorkgroupWithDefaults() *MultiHostIntegrationsManagementWorkgroup { + this := MultiHostIntegrationsManagementWorkgroup{} return &this } // GetType returns the Type field value if set, zero value otherwise. -func (o *SourceManagementWorkgroup) GetType() string { +func (o *MultiHostIntegrationsManagementWorkgroup) GetType() string { if o == nil || IsNil(o.Type) { var ret string return ret @@ -58,7 +58,7 @@ func (o *SourceManagementWorkgroup) GetType() string { // GetTypeOk returns a tuple with the Type field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceManagementWorkgroup) GetTypeOk() (*string, bool) { +func (o *MultiHostIntegrationsManagementWorkgroup) GetTypeOk() (*string, bool) { if o == nil || IsNil(o.Type) { return nil, false } @@ -66,7 +66,7 @@ func (o *SourceManagementWorkgroup) GetTypeOk() (*string, bool) { } // HasType returns a boolean if a field has been set. -func (o *SourceManagementWorkgroup) HasType() bool { +func (o *MultiHostIntegrationsManagementWorkgroup) HasType() bool { if o != nil && !IsNil(o.Type) { return true } @@ -75,12 +75,12 @@ func (o *SourceManagementWorkgroup) HasType() bool { } // SetType gets a reference to the given string and assigns it to the Type field. -func (o *SourceManagementWorkgroup) SetType(v string) { +func (o *MultiHostIntegrationsManagementWorkgroup) SetType(v string) { o.Type = &v } // GetId returns the Id field value if set, zero value otherwise. -func (o *SourceManagementWorkgroup) GetId() string { +func (o *MultiHostIntegrationsManagementWorkgroup) GetId() string { if o == nil || IsNil(o.Id) { var ret string return ret @@ -90,7 +90,7 @@ func (o *SourceManagementWorkgroup) GetId() string { // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceManagementWorkgroup) GetIdOk() (*string, bool) { +func (o *MultiHostIntegrationsManagementWorkgroup) GetIdOk() (*string, bool) { if o == nil || IsNil(o.Id) { return nil, false } @@ -98,7 +98,7 @@ func (o *SourceManagementWorkgroup) GetIdOk() (*string, bool) { } // HasId returns a boolean if a field has been set. -func (o *SourceManagementWorkgroup) HasId() bool { +func (o *MultiHostIntegrationsManagementWorkgroup) HasId() bool { if o != nil && !IsNil(o.Id) { return true } @@ -107,12 +107,12 @@ func (o *SourceManagementWorkgroup) HasId() bool { } // SetId gets a reference to the given string and assigns it to the Id field. -func (o *SourceManagementWorkgroup) SetId(v string) { +func (o *MultiHostIntegrationsManagementWorkgroup) SetId(v string) { o.Id = &v } // GetName returns the Name field value if set, zero value otherwise. -func (o *SourceManagementWorkgroup) GetName() string { +func (o *MultiHostIntegrationsManagementWorkgroup) GetName() string { if o == nil || IsNil(o.Name) { var ret string return ret @@ -122,7 +122,7 @@ func (o *SourceManagementWorkgroup) GetName() string { // GetNameOk returns a tuple with the Name field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceManagementWorkgroup) GetNameOk() (*string, bool) { +func (o *MultiHostIntegrationsManagementWorkgroup) GetNameOk() (*string, bool) { if o == nil || IsNil(o.Name) { return nil, false } @@ -130,7 +130,7 @@ func (o *SourceManagementWorkgroup) GetNameOk() (*string, bool) { } // HasName returns a boolean if a field has been set. -func (o *SourceManagementWorkgroup) HasName() bool { +func (o *MultiHostIntegrationsManagementWorkgroup) HasName() bool { if o != nil && !IsNil(o.Name) { return true } @@ -139,11 +139,11 @@ func (o *SourceManagementWorkgroup) HasName() bool { } // SetName gets a reference to the given string and assigns it to the Name field. -func (o *SourceManagementWorkgroup) SetName(v string) { +func (o *MultiHostIntegrationsManagementWorkgroup) SetName(v string) { o.Name = &v } -func (o SourceManagementWorkgroup) MarshalJSON() ([]byte, error) { +func (o MultiHostIntegrationsManagementWorkgroup) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err @@ -151,7 +151,7 @@ func (o SourceManagementWorkgroup) MarshalJSON() ([]byte, error) { return json.Marshal(toSerialize) } -func (o SourceManagementWorkgroup) ToMap() (map[string]interface{}, error) { +func (o MultiHostIntegrationsManagementWorkgroup) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if !IsNil(o.Type) { toSerialize["type"] = o.Type @@ -170,16 +170,16 @@ func (o SourceManagementWorkgroup) ToMap() (map[string]interface{}, error) { return toSerialize, nil } -func (o *SourceManagementWorkgroup) UnmarshalJSON(data []byte) (err error) { - varSourceManagementWorkgroup := _SourceManagementWorkgroup{} +func (o *MultiHostIntegrationsManagementWorkgroup) UnmarshalJSON(data []byte) (err error) { + varMultiHostIntegrationsManagementWorkgroup := _MultiHostIntegrationsManagementWorkgroup{} - err = json.Unmarshal(data, &varSourceManagementWorkgroup) + err = json.Unmarshal(data, &varMultiHostIntegrationsManagementWorkgroup) if err != nil { return err } - *o = SourceManagementWorkgroup(varSourceManagementWorkgroup) + *o = MultiHostIntegrationsManagementWorkgroup(varMultiHostIntegrationsManagementWorkgroup) additionalProperties := make(map[string]interface{}) @@ -193,38 +193,38 @@ func (o *SourceManagementWorkgroup) UnmarshalJSON(data []byte) (err error) { return err } -type NullableSourceManagementWorkgroup struct { - value *SourceManagementWorkgroup +type NullableMultiHostIntegrationsManagementWorkgroup struct { + value *MultiHostIntegrationsManagementWorkgroup isSet bool } -func (v NullableSourceManagementWorkgroup) Get() *SourceManagementWorkgroup { +func (v NullableMultiHostIntegrationsManagementWorkgroup) Get() *MultiHostIntegrationsManagementWorkgroup { return v.value } -func (v *NullableSourceManagementWorkgroup) Set(val *SourceManagementWorkgroup) { +func (v *NullableMultiHostIntegrationsManagementWorkgroup) Set(val *MultiHostIntegrationsManagementWorkgroup) { v.value = val v.isSet = true } -func (v NullableSourceManagementWorkgroup) IsSet() bool { +func (v NullableMultiHostIntegrationsManagementWorkgroup) IsSet() bool { return v.isSet } -func (v *NullableSourceManagementWorkgroup) Unset() { +func (v *NullableMultiHostIntegrationsManagementWorkgroup) Unset() { v.value = nil v.isSet = false } -func NewNullableSourceManagementWorkgroup(val *SourceManagementWorkgroup) *NullableSourceManagementWorkgroup { - return &NullableSourceManagementWorkgroup{value: val, isSet: true} +func NewNullableMultiHostIntegrationsManagementWorkgroup(val *MultiHostIntegrationsManagementWorkgroup) *NullableMultiHostIntegrationsManagementWorkgroup { + return &NullableMultiHostIntegrationsManagementWorkgroup{value: val, isSet: true} } -func (v NullableSourceManagementWorkgroup) MarshalJSON() ([]byte, error) { +func (v NullableMultiHostIntegrationsManagementWorkgroup) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } -func (v *NullableSourceManagementWorkgroup) UnmarshalJSON(src []byte) error { +func (v *NullableMultiHostIntegrationsManagementWorkgroup) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) } diff --git a/api_beta/model_source_owner.go b/api_beta/model_multi_host_integrations_owner.go similarity index 60% rename from api_beta/model_source_owner.go rename to api_beta/model_multi_host_integrations_owner.go index bf0114c2f..fafc03280 100644 --- a/api_beta/model_source_owner.go +++ b/api_beta/model_multi_host_integrations_owner.go @@ -14,11 +14,11 @@ import ( "encoding/json" ) -// checks if the SourceOwner type satisfies the MappedNullable interface at compile time -var _ MappedNullable = &SourceOwner{} +// checks if the MultiHostIntegrationsOwner type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostIntegrationsOwner{} -// SourceOwner Reference to identity object who owns the source. -type SourceOwner struct { +// MultiHostIntegrationsOwner Reference to identity object who owns the source. +type MultiHostIntegrationsOwner struct { // Type of object being referenced. Type *string `json:"type,omitempty"` // Owner identity's ID. @@ -28,27 +28,27 @@ type SourceOwner struct { AdditionalProperties map[string]interface{} } -type _SourceOwner SourceOwner +type _MultiHostIntegrationsOwner MultiHostIntegrationsOwner -// NewSourceOwner instantiates a new SourceOwner object +// NewMultiHostIntegrationsOwner instantiates a new MultiHostIntegrationsOwner object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewSourceOwner() *SourceOwner { - this := SourceOwner{} +func NewMultiHostIntegrationsOwner() *MultiHostIntegrationsOwner { + this := MultiHostIntegrationsOwner{} return &this } -// NewSourceOwnerWithDefaults instantiates a new SourceOwner object +// NewMultiHostIntegrationsOwnerWithDefaults instantiates a new MultiHostIntegrationsOwner object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set -func NewSourceOwnerWithDefaults() *SourceOwner { - this := SourceOwner{} +func NewMultiHostIntegrationsOwnerWithDefaults() *MultiHostIntegrationsOwner { + this := MultiHostIntegrationsOwner{} return &this } // GetType returns the Type field value if set, zero value otherwise. -func (o *SourceOwner) GetType() string { +func (o *MultiHostIntegrationsOwner) GetType() string { if o == nil || IsNil(o.Type) { var ret string return ret @@ -58,7 +58,7 @@ func (o *SourceOwner) GetType() string { // GetTypeOk returns a tuple with the Type field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceOwner) GetTypeOk() (*string, bool) { +func (o *MultiHostIntegrationsOwner) GetTypeOk() (*string, bool) { if o == nil || IsNil(o.Type) { return nil, false } @@ -66,7 +66,7 @@ func (o *SourceOwner) GetTypeOk() (*string, bool) { } // HasType returns a boolean if a field has been set. -func (o *SourceOwner) HasType() bool { +func (o *MultiHostIntegrationsOwner) HasType() bool { if o != nil && !IsNil(o.Type) { return true } @@ -75,12 +75,12 @@ func (o *SourceOwner) HasType() bool { } // SetType gets a reference to the given string and assigns it to the Type field. -func (o *SourceOwner) SetType(v string) { +func (o *MultiHostIntegrationsOwner) SetType(v string) { o.Type = &v } // GetId returns the Id field value if set, zero value otherwise. -func (o *SourceOwner) GetId() string { +func (o *MultiHostIntegrationsOwner) GetId() string { if o == nil || IsNil(o.Id) { var ret string return ret @@ -90,7 +90,7 @@ func (o *SourceOwner) GetId() string { // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceOwner) GetIdOk() (*string, bool) { +func (o *MultiHostIntegrationsOwner) GetIdOk() (*string, bool) { if o == nil || IsNil(o.Id) { return nil, false } @@ -98,7 +98,7 @@ func (o *SourceOwner) GetIdOk() (*string, bool) { } // HasId returns a boolean if a field has been set. -func (o *SourceOwner) HasId() bool { +func (o *MultiHostIntegrationsOwner) HasId() bool { if o != nil && !IsNil(o.Id) { return true } @@ -107,12 +107,12 @@ func (o *SourceOwner) HasId() bool { } // SetId gets a reference to the given string and assigns it to the Id field. -func (o *SourceOwner) SetId(v string) { +func (o *MultiHostIntegrationsOwner) SetId(v string) { o.Id = &v } // GetName returns the Name field value if set, zero value otherwise. -func (o *SourceOwner) GetName() string { +func (o *MultiHostIntegrationsOwner) GetName() string { if o == nil || IsNil(o.Name) { var ret string return ret @@ -122,7 +122,7 @@ func (o *SourceOwner) GetName() string { // GetNameOk returns a tuple with the Name field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceOwner) GetNameOk() (*string, bool) { +func (o *MultiHostIntegrationsOwner) GetNameOk() (*string, bool) { if o == nil || IsNil(o.Name) { return nil, false } @@ -130,7 +130,7 @@ func (o *SourceOwner) GetNameOk() (*string, bool) { } // HasName returns a boolean if a field has been set. -func (o *SourceOwner) HasName() bool { +func (o *MultiHostIntegrationsOwner) HasName() bool { if o != nil && !IsNil(o.Name) { return true } @@ -139,11 +139,11 @@ func (o *SourceOwner) HasName() bool { } // SetName gets a reference to the given string and assigns it to the Name field. -func (o *SourceOwner) SetName(v string) { +func (o *MultiHostIntegrationsOwner) SetName(v string) { o.Name = &v } -func (o SourceOwner) MarshalJSON() ([]byte, error) { +func (o MultiHostIntegrationsOwner) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err @@ -151,7 +151,7 @@ func (o SourceOwner) MarshalJSON() ([]byte, error) { return json.Marshal(toSerialize) } -func (o SourceOwner) ToMap() (map[string]interface{}, error) { +func (o MultiHostIntegrationsOwner) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if !IsNil(o.Type) { toSerialize["type"] = o.Type @@ -170,16 +170,16 @@ func (o SourceOwner) ToMap() (map[string]interface{}, error) { return toSerialize, nil } -func (o *SourceOwner) UnmarshalJSON(data []byte) (err error) { - varSourceOwner := _SourceOwner{} +func (o *MultiHostIntegrationsOwner) UnmarshalJSON(data []byte) (err error) { + varMultiHostIntegrationsOwner := _MultiHostIntegrationsOwner{} - err = json.Unmarshal(data, &varSourceOwner) + err = json.Unmarshal(data, &varMultiHostIntegrationsOwner) if err != nil { return err } - *o = SourceOwner(varSourceOwner) + *o = MultiHostIntegrationsOwner(varMultiHostIntegrationsOwner) additionalProperties := make(map[string]interface{}) @@ -193,38 +193,38 @@ func (o *SourceOwner) UnmarshalJSON(data []byte) (err error) { return err } -type NullableSourceOwner struct { - value *SourceOwner +type NullableMultiHostIntegrationsOwner struct { + value *MultiHostIntegrationsOwner isSet bool } -func (v NullableSourceOwner) Get() *SourceOwner { +func (v NullableMultiHostIntegrationsOwner) Get() *MultiHostIntegrationsOwner { return v.value } -func (v *NullableSourceOwner) Set(val *SourceOwner) { +func (v *NullableMultiHostIntegrationsOwner) Set(val *MultiHostIntegrationsOwner) { v.value = val v.isSet = true } -func (v NullableSourceOwner) IsSet() bool { +func (v NullableMultiHostIntegrationsOwner) IsSet() bool { return v.isSet } -func (v *NullableSourceOwner) Unset() { +func (v *NullableMultiHostIntegrationsOwner) Unset() { v.value = nil v.isSet = false } -func NewNullableSourceOwner(val *SourceOwner) *NullableSourceOwner { - return &NullableSourceOwner{value: val, isSet: true} +func NewNullableMultiHostIntegrationsOwner(val *MultiHostIntegrationsOwner) *NullableMultiHostIntegrationsOwner { + return &NullableMultiHostIntegrationsOwner{value: val, isSet: true} } -func (v NullableSourceOwner) MarshalJSON() ([]byte, error) { +func (v NullableMultiHostIntegrationsOwner) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } -func (v *NullableSourceOwner) UnmarshalJSON(src []byte) error { +func (v *NullableMultiHostIntegrationsOwner) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) } diff --git a/api_beta/model_multi_host_sources.go b/api_beta/model_multi_host_sources.go new file mode 100644 index 000000000..b56d9ff5e --- /dev/null +++ b/api_beta/model_multi_host_sources.go @@ -0,0 +1,1363 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" + "time" + "fmt" +) + +// checks if the MultiHostSources type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostSources{} + +// MultiHostSources struct for MultiHostSources +type MultiHostSources struct { + // Source ID. + Id string `json:"id"` + // Source's human-readable name. + Name string `json:"name"` + // Source's human-readable description. + Description *string `json:"description,omitempty"` + Owner MultiHostIntegrationsOwner `json:"owner"` + Cluster NullableMultiHostIntegrationsCluster `json:"cluster,omitempty"` + AccountCorrelationConfig NullableMultiHostSourcesAccountCorrelationConfig `json:"accountCorrelationConfig,omitempty"` + AccountCorrelationRule NullableMultiHostSourcesAccountCorrelationRule `json:"accountCorrelationRule,omitempty"` + ManagerCorrelationMapping NullableManagerCorrelationMapping `json:"managerCorrelationMapping,omitempty"` + ManagerCorrelationRule NullableMultiHostSourcesManagerCorrelationRule `json:"managerCorrelationRule,omitempty"` + BeforeProvisioningRule NullableMultiHostSourcesBeforeProvisioningRule `json:"beforeProvisioningRule,omitempty"` + // List of references to schema objects. + Schemas []MultiHostSourcesSchemasInner `json:"schemas,omitempty"` + // List of references to the associated PasswordPolicy objects. + PasswordPolicies []MultiHostSourcesPasswordPoliciesInner `json:"passwordPolicies,omitempty"` + // Optional features that can be supported by a source. Modifying the features array may cause source configuration errors that are unsupportable. It is recommended to not modify this array for SailPoint supported connectors. * AUTHENTICATE: The source supports pass-through authentication. * COMPOSITE: The source supports composite source creation. * DIRECT_PERMISSIONS: The source supports returning DirectPermissions. * DISCOVER_SCHEMA: The source supports discovering schemas for users and groups. * ENABLE The source supports reading if an account is enabled or disabled. * MANAGER_LOOKUP: The source supports looking up managers as they are encountered in a feed. This is the opposite of NO_RANDOM_ACCESS. * NO_RANDOM_ACCESS: The source does not support random access and the getObject() methods should not be called and expected to perform. * PROXY: The source can serve as a proxy for another source. When an source has a proxy, all connector calls made with that source are redirected through the connector for the proxy source. * SEARCH * TEMPLATE * UNLOCK: The source supports reading if an account is locked or unlocked. * UNSTRUCTURED_TARGETS: The source supports returning unstructured Targets. * SHAREPOINT_TARGET: The source supports returning unstructured Target data for SharePoint. It will be typically used by AD, LDAP sources. * PROVISIONING: The source can both read and write accounts. Having this feature implies that the provision() method is implemented. It also means that direct and target permissions can also be provisioned if they can be returned by aggregation. * GROUP_PROVISIONING: The source can both read and write groups. Having this feature implies that the provision() method is implemented. * SYNC_PROVISIONING: The source can provision accounts synchronously. * PASSWORD: The source can provision password changes. Since sources can never read passwords, this is should only be used in conjunction with the PROVISIONING feature. * CURRENT_PASSWORD: Some source types support verification of the current password * ACCOUNT_ONLY_REQUEST: The source supports requesting accounts without entitlements. * ADDITIONAL_ACCOUNT_REQUEST: The source supports requesting additional accounts. * NO_AGGREGATION: A source that does not support aggregation. * GROUPS_HAVE_MEMBERS: The source models group memberships with a member attribute on the group object rather than a groups attribute on the account object. This effects the implementation of delta account aggregation. * NO_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for accounts. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for accounts. * NO_GROUP_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for groups. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for groups. * NO_UNSTRUCTURED_TARGETS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. * NO_DIRECT_PERMISSIONS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. * USES_UUID: Connectivity 2.0 flag used to indicate that the connector supports a compound naming structure. * PREFER_UUID: Used in ISC Provisioning AND Aggregation to decide if it should prefer account.uuid to account.nativeIdentity when data is read in through aggregation OR pushed out through provisioning. * ARM_SECURITY_EXTRACT: Indicates the application supports Security extracts for ARM * ARM_UTILIZATION_EXTRACT: Indicates the application supports Utilization extracts for ARM * ARM_CHANGELOG_EXTRACT: Indicates the application supports Change-log extracts for ARM + Features []string `json:"features,omitempty"` + // Specifies the type of system being managed e.g. Multi-Host - Microsoft SQL Server, Workday, etc.. If you are creating a delimited file source, you must set the `provisionasCsv` query parameter to `true`. + Type *string `json:"type,omitempty"` + // Connector script name. + Connector string `json:"connector"` + // Fully qualified name of the Java class that implements the connector interface. + ConnectorClass *string `json:"connectorClass,omitempty"` + // Connector specific configuration. This configuration will differ from type to type. + ConnectorAttributes map[string]interface{} `json:"connectorAttributes,omitempty"` + // Number from 0 to 100 that specifies when to skip the delete phase. + DeleteThreshold *int32 `json:"deleteThreshold,omitempty"` + // When this is true, it indicates that the source is referenced by an identity profile. + Authoritative *bool `json:"authoritative,omitempty"` + ManagementWorkgroup NullableMultiHostIntegrationsManagementWorkgroup `json:"managementWorkgroup,omitempty"` + // When this is true, it indicates that the source is healthy. + Healthy *bool `json:"healthy,omitempty"` + // Status identifier that gives specific information about why a source is or isn't healthy. + Status *string `json:"status,omitempty"` + // Timestamp that shows when a source health check was last performed. + Since *time.Time `json:"since,omitempty"` + // Connector ID + ConnectorId *string `json:"connectorId,omitempty"` + // Name of the connector that was chosen during source creation. + ConnectorName string `json:"connectorName"` + // Type of connection (direct or file). + ConnectionType *string `json:"connectionType,omitempty"` + // Connector implementation ID. + ConnectorImplementationId *string `json:"connectorImplementationId,omitempty"` + // Date-time when the source was created + Created *time.Time `json:"created,omitempty"` + // Date-time when the source was last modified. + Modified *time.Time `json:"modified,omitempty"` + // If this is true, it enables a credential provider for the source. If credentialProvider is turned on, then the source can use credential provider(s) to fetch credentials. + CredentialProviderEnabled *bool `json:"credentialProviderEnabled,omitempty"` + // Source category (e.g. null, CredentialProvider). + Category NullableString `json:"category,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostSources MultiHostSources + +// NewMultiHostSources instantiates a new MultiHostSources object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostSources(id string, name string, owner MultiHostIntegrationsOwner, connector string, connectorName string) *MultiHostSources { + this := MultiHostSources{} + this.Id = id + this.Name = name + this.Owner = owner + this.Connector = connector + var authoritative bool = false + this.Authoritative = &authoritative + var healthy bool = false + this.Healthy = &healthy + this.ConnectorName = connectorName + var credentialProviderEnabled bool = false + this.CredentialProviderEnabled = &credentialProviderEnabled + return &this +} + +// NewMultiHostSourcesWithDefaults instantiates a new MultiHostSources object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostSourcesWithDefaults() *MultiHostSources { + this := MultiHostSources{} + var authoritative bool = false + this.Authoritative = &authoritative + var healthy bool = false + this.Healthy = &healthy + var credentialProviderEnabled bool = false + this.CredentialProviderEnabled = &credentialProviderEnabled + return &this +} + +// GetId returns the Id field value +func (o *MultiHostSources) GetId() string { + if o == nil { + var ret string + return ret + } + + return o.Id +} + +// GetIdOk returns a tuple with the Id field value +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Id, true +} + +// SetId sets field value +func (o *MultiHostSources) SetId(v string) { + o.Id = v +} + +// GetName returns the Name field value +func (o *MultiHostSources) GetName() string { + if o == nil { + var ret string + return ret + } + + return o.Name +} + +// GetNameOk returns a tuple with the Name field value +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Name, true +} + +// SetName sets field value +func (o *MultiHostSources) SetName(v string) { + o.Name = v +} + +// GetDescription returns the Description field value if set, zero value otherwise. +func (o *MultiHostSources) GetDescription() string { + if o == nil || IsNil(o.Description) { + var ret string + return ret + } + return *o.Description +} + +// GetDescriptionOk returns a tuple with the Description field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetDescriptionOk() (*string, bool) { + if o == nil || IsNil(o.Description) { + return nil, false + } + return o.Description, true +} + +// HasDescription returns a boolean if a field has been set. +func (o *MultiHostSources) HasDescription() bool { + if o != nil && !IsNil(o.Description) { + return true + } + + return false +} + +// SetDescription gets a reference to the given string and assigns it to the Description field. +func (o *MultiHostSources) SetDescription(v string) { + o.Description = &v +} + +// GetOwner returns the Owner field value +func (o *MultiHostSources) GetOwner() MultiHostIntegrationsOwner { + if o == nil { + var ret MultiHostIntegrationsOwner + return ret + } + + return o.Owner +} + +// GetOwnerOk returns a tuple with the Owner field value +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetOwnerOk() (*MultiHostIntegrationsOwner, bool) { + if o == nil { + return nil, false + } + return &o.Owner, true +} + +// SetOwner sets field value +func (o *MultiHostSources) SetOwner(v MultiHostIntegrationsOwner) { + o.Owner = v +} + +// GetCluster returns the Cluster field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostSources) GetCluster() MultiHostIntegrationsCluster { + if o == nil || IsNil(o.Cluster.Get()) { + var ret MultiHostIntegrationsCluster + return ret + } + return *o.Cluster.Get() +} + +// GetClusterOk returns a tuple with the Cluster field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostSources) GetClusterOk() (*MultiHostIntegrationsCluster, bool) { + if o == nil { + return nil, false + } + return o.Cluster.Get(), o.Cluster.IsSet() +} + +// HasCluster returns a boolean if a field has been set. +func (o *MultiHostSources) HasCluster() bool { + if o != nil && o.Cluster.IsSet() { + return true + } + + return false +} + +// SetCluster gets a reference to the given NullableMultiHostIntegrationsCluster and assigns it to the Cluster field. +func (o *MultiHostSources) SetCluster(v MultiHostIntegrationsCluster) { + o.Cluster.Set(&v) +} +// SetClusterNil sets the value for Cluster to be an explicit nil +func (o *MultiHostSources) SetClusterNil() { + o.Cluster.Set(nil) +} + +// UnsetCluster ensures that no value is present for Cluster, not even an explicit nil +func (o *MultiHostSources) UnsetCluster() { + o.Cluster.Unset() +} + +// GetAccountCorrelationConfig returns the AccountCorrelationConfig field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostSources) GetAccountCorrelationConfig() MultiHostSourcesAccountCorrelationConfig { + if o == nil || IsNil(o.AccountCorrelationConfig.Get()) { + var ret MultiHostSourcesAccountCorrelationConfig + return ret + } + return *o.AccountCorrelationConfig.Get() +} + +// GetAccountCorrelationConfigOk returns a tuple with the AccountCorrelationConfig field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostSources) GetAccountCorrelationConfigOk() (*MultiHostSourcesAccountCorrelationConfig, bool) { + if o == nil { + return nil, false + } + return o.AccountCorrelationConfig.Get(), o.AccountCorrelationConfig.IsSet() +} + +// HasAccountCorrelationConfig returns a boolean if a field has been set. +func (o *MultiHostSources) HasAccountCorrelationConfig() bool { + if o != nil && o.AccountCorrelationConfig.IsSet() { + return true + } + + return false +} + +// SetAccountCorrelationConfig gets a reference to the given NullableMultiHostSourcesAccountCorrelationConfig and assigns it to the AccountCorrelationConfig field. +func (o *MultiHostSources) SetAccountCorrelationConfig(v MultiHostSourcesAccountCorrelationConfig) { + o.AccountCorrelationConfig.Set(&v) +} +// SetAccountCorrelationConfigNil sets the value for AccountCorrelationConfig to be an explicit nil +func (o *MultiHostSources) SetAccountCorrelationConfigNil() { + o.AccountCorrelationConfig.Set(nil) +} + +// UnsetAccountCorrelationConfig ensures that no value is present for AccountCorrelationConfig, not even an explicit nil +func (o *MultiHostSources) UnsetAccountCorrelationConfig() { + o.AccountCorrelationConfig.Unset() +} + +// GetAccountCorrelationRule returns the AccountCorrelationRule field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostSources) GetAccountCorrelationRule() MultiHostSourcesAccountCorrelationRule { + if o == nil || IsNil(o.AccountCorrelationRule.Get()) { + var ret MultiHostSourcesAccountCorrelationRule + return ret + } + return *o.AccountCorrelationRule.Get() +} + +// GetAccountCorrelationRuleOk returns a tuple with the AccountCorrelationRule field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostSources) GetAccountCorrelationRuleOk() (*MultiHostSourcesAccountCorrelationRule, bool) { + if o == nil { + return nil, false + } + return o.AccountCorrelationRule.Get(), o.AccountCorrelationRule.IsSet() +} + +// HasAccountCorrelationRule returns a boolean if a field has been set. +func (o *MultiHostSources) HasAccountCorrelationRule() bool { + if o != nil && o.AccountCorrelationRule.IsSet() { + return true + } + + return false +} + +// SetAccountCorrelationRule gets a reference to the given NullableMultiHostSourcesAccountCorrelationRule and assigns it to the AccountCorrelationRule field. +func (o *MultiHostSources) SetAccountCorrelationRule(v MultiHostSourcesAccountCorrelationRule) { + o.AccountCorrelationRule.Set(&v) +} +// SetAccountCorrelationRuleNil sets the value for AccountCorrelationRule to be an explicit nil +func (o *MultiHostSources) SetAccountCorrelationRuleNil() { + o.AccountCorrelationRule.Set(nil) +} + +// UnsetAccountCorrelationRule ensures that no value is present for AccountCorrelationRule, not even an explicit nil +func (o *MultiHostSources) UnsetAccountCorrelationRule() { + o.AccountCorrelationRule.Unset() +} + +// GetManagerCorrelationMapping returns the ManagerCorrelationMapping field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostSources) GetManagerCorrelationMapping() ManagerCorrelationMapping { + if o == nil || IsNil(o.ManagerCorrelationMapping.Get()) { + var ret ManagerCorrelationMapping + return ret + } + return *o.ManagerCorrelationMapping.Get() +} + +// GetManagerCorrelationMappingOk returns a tuple with the ManagerCorrelationMapping field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostSources) GetManagerCorrelationMappingOk() (*ManagerCorrelationMapping, bool) { + if o == nil { + return nil, false + } + return o.ManagerCorrelationMapping.Get(), o.ManagerCorrelationMapping.IsSet() +} + +// HasManagerCorrelationMapping returns a boolean if a field has been set. +func (o *MultiHostSources) HasManagerCorrelationMapping() bool { + if o != nil && o.ManagerCorrelationMapping.IsSet() { + return true + } + + return false +} + +// SetManagerCorrelationMapping gets a reference to the given NullableManagerCorrelationMapping and assigns it to the ManagerCorrelationMapping field. +func (o *MultiHostSources) SetManagerCorrelationMapping(v ManagerCorrelationMapping) { + o.ManagerCorrelationMapping.Set(&v) +} +// SetManagerCorrelationMappingNil sets the value for ManagerCorrelationMapping to be an explicit nil +func (o *MultiHostSources) SetManagerCorrelationMappingNil() { + o.ManagerCorrelationMapping.Set(nil) +} + +// UnsetManagerCorrelationMapping ensures that no value is present for ManagerCorrelationMapping, not even an explicit nil +func (o *MultiHostSources) UnsetManagerCorrelationMapping() { + o.ManagerCorrelationMapping.Unset() +} + +// GetManagerCorrelationRule returns the ManagerCorrelationRule field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostSources) GetManagerCorrelationRule() MultiHostSourcesManagerCorrelationRule { + if o == nil || IsNil(o.ManagerCorrelationRule.Get()) { + var ret MultiHostSourcesManagerCorrelationRule + return ret + } + return *o.ManagerCorrelationRule.Get() +} + +// GetManagerCorrelationRuleOk returns a tuple with the ManagerCorrelationRule field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostSources) GetManagerCorrelationRuleOk() (*MultiHostSourcesManagerCorrelationRule, bool) { + if o == nil { + return nil, false + } + return o.ManagerCorrelationRule.Get(), o.ManagerCorrelationRule.IsSet() +} + +// HasManagerCorrelationRule returns a boolean if a field has been set. +func (o *MultiHostSources) HasManagerCorrelationRule() bool { + if o != nil && o.ManagerCorrelationRule.IsSet() { + return true + } + + return false +} + +// SetManagerCorrelationRule gets a reference to the given NullableMultiHostSourcesManagerCorrelationRule and assigns it to the ManagerCorrelationRule field. +func (o *MultiHostSources) SetManagerCorrelationRule(v MultiHostSourcesManagerCorrelationRule) { + o.ManagerCorrelationRule.Set(&v) +} +// SetManagerCorrelationRuleNil sets the value for ManagerCorrelationRule to be an explicit nil +func (o *MultiHostSources) SetManagerCorrelationRuleNil() { + o.ManagerCorrelationRule.Set(nil) +} + +// UnsetManagerCorrelationRule ensures that no value is present for ManagerCorrelationRule, not even an explicit nil +func (o *MultiHostSources) UnsetManagerCorrelationRule() { + o.ManagerCorrelationRule.Unset() +} + +// GetBeforeProvisioningRule returns the BeforeProvisioningRule field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostSources) GetBeforeProvisioningRule() MultiHostSourcesBeforeProvisioningRule { + if o == nil || IsNil(o.BeforeProvisioningRule.Get()) { + var ret MultiHostSourcesBeforeProvisioningRule + return ret + } + return *o.BeforeProvisioningRule.Get() +} + +// GetBeforeProvisioningRuleOk returns a tuple with the BeforeProvisioningRule field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostSources) GetBeforeProvisioningRuleOk() (*MultiHostSourcesBeforeProvisioningRule, bool) { + if o == nil { + return nil, false + } + return o.BeforeProvisioningRule.Get(), o.BeforeProvisioningRule.IsSet() +} + +// HasBeforeProvisioningRule returns a boolean if a field has been set. +func (o *MultiHostSources) HasBeforeProvisioningRule() bool { + if o != nil && o.BeforeProvisioningRule.IsSet() { + return true + } + + return false +} + +// SetBeforeProvisioningRule gets a reference to the given NullableMultiHostSourcesBeforeProvisioningRule and assigns it to the BeforeProvisioningRule field. +func (o *MultiHostSources) SetBeforeProvisioningRule(v MultiHostSourcesBeforeProvisioningRule) { + o.BeforeProvisioningRule.Set(&v) +} +// SetBeforeProvisioningRuleNil sets the value for BeforeProvisioningRule to be an explicit nil +func (o *MultiHostSources) SetBeforeProvisioningRuleNil() { + o.BeforeProvisioningRule.Set(nil) +} + +// UnsetBeforeProvisioningRule ensures that no value is present for BeforeProvisioningRule, not even an explicit nil +func (o *MultiHostSources) UnsetBeforeProvisioningRule() { + o.BeforeProvisioningRule.Unset() +} + +// GetSchemas returns the Schemas field value if set, zero value otherwise. +func (o *MultiHostSources) GetSchemas() []MultiHostSourcesSchemasInner { + if o == nil || IsNil(o.Schemas) { + var ret []MultiHostSourcesSchemasInner + return ret + } + return o.Schemas +} + +// GetSchemasOk returns a tuple with the Schemas field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetSchemasOk() ([]MultiHostSourcesSchemasInner, bool) { + if o == nil || IsNil(o.Schemas) { + return nil, false + } + return o.Schemas, true +} + +// HasSchemas returns a boolean if a field has been set. +func (o *MultiHostSources) HasSchemas() bool { + if o != nil && !IsNil(o.Schemas) { + return true + } + + return false +} + +// SetSchemas gets a reference to the given []MultiHostSourcesSchemasInner and assigns it to the Schemas field. +func (o *MultiHostSources) SetSchemas(v []MultiHostSourcesSchemasInner) { + o.Schemas = v +} + +// GetPasswordPolicies returns the PasswordPolicies field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostSources) GetPasswordPolicies() []MultiHostSourcesPasswordPoliciesInner { + if o == nil { + var ret []MultiHostSourcesPasswordPoliciesInner + return ret + } + return o.PasswordPolicies +} + +// GetPasswordPoliciesOk returns a tuple with the PasswordPolicies field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostSources) GetPasswordPoliciesOk() ([]MultiHostSourcesPasswordPoliciesInner, bool) { + if o == nil || IsNil(o.PasswordPolicies) { + return nil, false + } + return o.PasswordPolicies, true +} + +// HasPasswordPolicies returns a boolean if a field has been set. +func (o *MultiHostSources) HasPasswordPolicies() bool { + if o != nil && !IsNil(o.PasswordPolicies) { + return true + } + + return false +} + +// SetPasswordPolicies gets a reference to the given []MultiHostSourcesPasswordPoliciesInner and assigns it to the PasswordPolicies field. +func (o *MultiHostSources) SetPasswordPolicies(v []MultiHostSourcesPasswordPoliciesInner) { + o.PasswordPolicies = v +} + +// GetFeatures returns the Features field value if set, zero value otherwise. +func (o *MultiHostSources) GetFeatures() []string { + if o == nil || IsNil(o.Features) { + var ret []string + return ret + } + return o.Features +} + +// GetFeaturesOk returns a tuple with the Features field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetFeaturesOk() ([]string, bool) { + if o == nil || IsNil(o.Features) { + return nil, false + } + return o.Features, true +} + +// HasFeatures returns a boolean if a field has been set. +func (o *MultiHostSources) HasFeatures() bool { + if o != nil && !IsNil(o.Features) { + return true + } + + return false +} + +// SetFeatures gets a reference to the given []string and assigns it to the Features field. +func (o *MultiHostSources) SetFeatures(v []string) { + o.Features = v +} + +// GetType returns the Type field value if set, zero value otherwise. +func (o *MultiHostSources) GetType() string { + if o == nil || IsNil(o.Type) { + var ret string + return ret + } + return *o.Type +} + +// GetTypeOk returns a tuple with the Type field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetTypeOk() (*string, bool) { + if o == nil || IsNil(o.Type) { + return nil, false + } + return o.Type, true +} + +// HasType returns a boolean if a field has been set. +func (o *MultiHostSources) HasType() bool { + if o != nil && !IsNil(o.Type) { + return true + } + + return false +} + +// SetType gets a reference to the given string and assigns it to the Type field. +func (o *MultiHostSources) SetType(v string) { + o.Type = &v +} + +// GetConnector returns the Connector field value +func (o *MultiHostSources) GetConnector() string { + if o == nil { + var ret string + return ret + } + + return o.Connector +} + +// GetConnectorOk returns a tuple with the Connector field value +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetConnectorOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.Connector, true +} + +// SetConnector sets field value +func (o *MultiHostSources) SetConnector(v string) { + o.Connector = v +} + +// GetConnectorClass returns the ConnectorClass field value if set, zero value otherwise. +func (o *MultiHostSources) GetConnectorClass() string { + if o == nil || IsNil(o.ConnectorClass) { + var ret string + return ret + } + return *o.ConnectorClass +} + +// GetConnectorClassOk returns a tuple with the ConnectorClass field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetConnectorClassOk() (*string, bool) { + if o == nil || IsNil(o.ConnectorClass) { + return nil, false + } + return o.ConnectorClass, true +} + +// HasConnectorClass returns a boolean if a field has been set. +func (o *MultiHostSources) HasConnectorClass() bool { + if o != nil && !IsNil(o.ConnectorClass) { + return true + } + + return false +} + +// SetConnectorClass gets a reference to the given string and assigns it to the ConnectorClass field. +func (o *MultiHostSources) SetConnectorClass(v string) { + o.ConnectorClass = &v +} + +// GetConnectorAttributes returns the ConnectorAttributes field value if set, zero value otherwise. +func (o *MultiHostSources) GetConnectorAttributes() map[string]interface{} { + if o == nil || IsNil(o.ConnectorAttributes) { + var ret map[string]interface{} + return ret + } + return o.ConnectorAttributes +} + +// GetConnectorAttributesOk returns a tuple with the ConnectorAttributes field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetConnectorAttributesOk() (map[string]interface{}, bool) { + if o == nil || IsNil(o.ConnectorAttributes) { + return map[string]interface{}{}, false + } + return o.ConnectorAttributes, true +} + +// HasConnectorAttributes returns a boolean if a field has been set. +func (o *MultiHostSources) HasConnectorAttributes() bool { + if o != nil && !IsNil(o.ConnectorAttributes) { + return true + } + + return false +} + +// SetConnectorAttributes gets a reference to the given map[string]interface{} and assigns it to the ConnectorAttributes field. +func (o *MultiHostSources) SetConnectorAttributes(v map[string]interface{}) { + o.ConnectorAttributes = v +} + +// GetDeleteThreshold returns the DeleteThreshold field value if set, zero value otherwise. +func (o *MultiHostSources) GetDeleteThreshold() int32 { + if o == nil || IsNil(o.DeleteThreshold) { + var ret int32 + return ret + } + return *o.DeleteThreshold +} + +// GetDeleteThresholdOk returns a tuple with the DeleteThreshold field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetDeleteThresholdOk() (*int32, bool) { + if o == nil || IsNil(o.DeleteThreshold) { + return nil, false + } + return o.DeleteThreshold, true +} + +// HasDeleteThreshold returns a boolean if a field has been set. +func (o *MultiHostSources) HasDeleteThreshold() bool { + if o != nil && !IsNil(o.DeleteThreshold) { + return true + } + + return false +} + +// SetDeleteThreshold gets a reference to the given int32 and assigns it to the DeleteThreshold field. +func (o *MultiHostSources) SetDeleteThreshold(v int32) { + o.DeleteThreshold = &v +} + +// GetAuthoritative returns the Authoritative field value if set, zero value otherwise. +func (o *MultiHostSources) GetAuthoritative() bool { + if o == nil || IsNil(o.Authoritative) { + var ret bool + return ret + } + return *o.Authoritative +} + +// GetAuthoritativeOk returns a tuple with the Authoritative field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetAuthoritativeOk() (*bool, bool) { + if o == nil || IsNil(o.Authoritative) { + return nil, false + } + return o.Authoritative, true +} + +// HasAuthoritative returns a boolean if a field has been set. +func (o *MultiHostSources) HasAuthoritative() bool { + if o != nil && !IsNil(o.Authoritative) { + return true + } + + return false +} + +// SetAuthoritative gets a reference to the given bool and assigns it to the Authoritative field. +func (o *MultiHostSources) SetAuthoritative(v bool) { + o.Authoritative = &v +} + +// GetManagementWorkgroup returns the ManagementWorkgroup field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostSources) GetManagementWorkgroup() MultiHostIntegrationsManagementWorkgroup { + if o == nil || IsNil(o.ManagementWorkgroup.Get()) { + var ret MultiHostIntegrationsManagementWorkgroup + return ret + } + return *o.ManagementWorkgroup.Get() +} + +// GetManagementWorkgroupOk returns a tuple with the ManagementWorkgroup field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostSources) GetManagementWorkgroupOk() (*MultiHostIntegrationsManagementWorkgroup, bool) { + if o == nil { + return nil, false + } + return o.ManagementWorkgroup.Get(), o.ManagementWorkgroup.IsSet() +} + +// HasManagementWorkgroup returns a boolean if a field has been set. +func (o *MultiHostSources) HasManagementWorkgroup() bool { + if o != nil && o.ManagementWorkgroup.IsSet() { + return true + } + + return false +} + +// SetManagementWorkgroup gets a reference to the given NullableMultiHostIntegrationsManagementWorkgroup and assigns it to the ManagementWorkgroup field. +func (o *MultiHostSources) SetManagementWorkgroup(v MultiHostIntegrationsManagementWorkgroup) { + o.ManagementWorkgroup.Set(&v) +} +// SetManagementWorkgroupNil sets the value for ManagementWorkgroup to be an explicit nil +func (o *MultiHostSources) SetManagementWorkgroupNil() { + o.ManagementWorkgroup.Set(nil) +} + +// UnsetManagementWorkgroup ensures that no value is present for ManagementWorkgroup, not even an explicit nil +func (o *MultiHostSources) UnsetManagementWorkgroup() { + o.ManagementWorkgroup.Unset() +} + +// GetHealthy returns the Healthy field value if set, zero value otherwise. +func (o *MultiHostSources) GetHealthy() bool { + if o == nil || IsNil(o.Healthy) { + var ret bool + return ret + } + return *o.Healthy +} + +// GetHealthyOk returns a tuple with the Healthy field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetHealthyOk() (*bool, bool) { + if o == nil || IsNil(o.Healthy) { + return nil, false + } + return o.Healthy, true +} + +// HasHealthy returns a boolean if a field has been set. +func (o *MultiHostSources) HasHealthy() bool { + if o != nil && !IsNil(o.Healthy) { + return true + } + + return false +} + +// SetHealthy gets a reference to the given bool and assigns it to the Healthy field. +func (o *MultiHostSources) SetHealthy(v bool) { + o.Healthy = &v +} + +// GetStatus returns the Status field value if set, zero value otherwise. +func (o *MultiHostSources) GetStatus() string { + if o == nil || IsNil(o.Status) { + var ret string + return ret + } + return *o.Status +} + +// GetStatusOk returns a tuple with the Status field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetStatusOk() (*string, bool) { + if o == nil || IsNil(o.Status) { + return nil, false + } + return o.Status, true +} + +// HasStatus returns a boolean if a field has been set. +func (o *MultiHostSources) HasStatus() bool { + if o != nil && !IsNil(o.Status) { + return true + } + + return false +} + +// SetStatus gets a reference to the given string and assigns it to the Status field. +func (o *MultiHostSources) SetStatus(v string) { + o.Status = &v +} + +// GetSince returns the Since field value if set, zero value otherwise. +func (o *MultiHostSources) GetSince() time.Time { + if o == nil || IsNil(o.Since) { + var ret time.Time + return ret + } + return *o.Since +} + +// GetSinceOk returns a tuple with the Since field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetSinceOk() (*time.Time, bool) { + if o == nil || IsNil(o.Since) { + return nil, false + } + return o.Since, true +} + +// HasSince returns a boolean if a field has been set. +func (o *MultiHostSources) HasSince() bool { + if o != nil && !IsNil(o.Since) { + return true + } + + return false +} + +// SetSince gets a reference to the given time.Time and assigns it to the Since field. +func (o *MultiHostSources) SetSince(v time.Time) { + o.Since = &v +} + +// GetConnectorId returns the ConnectorId field value if set, zero value otherwise. +func (o *MultiHostSources) GetConnectorId() string { + if o == nil || IsNil(o.ConnectorId) { + var ret string + return ret + } + return *o.ConnectorId +} + +// GetConnectorIdOk returns a tuple with the ConnectorId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetConnectorIdOk() (*string, bool) { + if o == nil || IsNil(o.ConnectorId) { + return nil, false + } + return o.ConnectorId, true +} + +// HasConnectorId returns a boolean if a field has been set. +func (o *MultiHostSources) HasConnectorId() bool { + if o != nil && !IsNil(o.ConnectorId) { + return true + } + + return false +} + +// SetConnectorId gets a reference to the given string and assigns it to the ConnectorId field. +func (o *MultiHostSources) SetConnectorId(v string) { + o.ConnectorId = &v +} + +// GetConnectorName returns the ConnectorName field value +func (o *MultiHostSources) GetConnectorName() string { + if o == nil { + var ret string + return ret + } + + return o.ConnectorName +} + +// GetConnectorNameOk returns a tuple with the ConnectorName field value +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetConnectorNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return &o.ConnectorName, true +} + +// SetConnectorName sets field value +func (o *MultiHostSources) SetConnectorName(v string) { + o.ConnectorName = v +} + +// GetConnectionType returns the ConnectionType field value if set, zero value otherwise. +func (o *MultiHostSources) GetConnectionType() string { + if o == nil || IsNil(o.ConnectionType) { + var ret string + return ret + } + return *o.ConnectionType +} + +// GetConnectionTypeOk returns a tuple with the ConnectionType field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetConnectionTypeOk() (*string, bool) { + if o == nil || IsNil(o.ConnectionType) { + return nil, false + } + return o.ConnectionType, true +} + +// HasConnectionType returns a boolean if a field has been set. +func (o *MultiHostSources) HasConnectionType() bool { + if o != nil && !IsNil(o.ConnectionType) { + return true + } + + return false +} + +// SetConnectionType gets a reference to the given string and assigns it to the ConnectionType field. +func (o *MultiHostSources) SetConnectionType(v string) { + o.ConnectionType = &v +} + +// GetConnectorImplementationId returns the ConnectorImplementationId field value if set, zero value otherwise. +func (o *MultiHostSources) GetConnectorImplementationId() string { + if o == nil || IsNil(o.ConnectorImplementationId) { + var ret string + return ret + } + return *o.ConnectorImplementationId +} + +// GetConnectorImplementationIdOk returns a tuple with the ConnectorImplementationId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetConnectorImplementationIdOk() (*string, bool) { + if o == nil || IsNil(o.ConnectorImplementationId) { + return nil, false + } + return o.ConnectorImplementationId, true +} + +// HasConnectorImplementationId returns a boolean if a field has been set. +func (o *MultiHostSources) HasConnectorImplementationId() bool { + if o != nil && !IsNil(o.ConnectorImplementationId) { + return true + } + + return false +} + +// SetConnectorImplementationId gets a reference to the given string and assigns it to the ConnectorImplementationId field. +func (o *MultiHostSources) SetConnectorImplementationId(v string) { + o.ConnectorImplementationId = &v +} + +// GetCreated returns the Created field value if set, zero value otherwise. +func (o *MultiHostSources) GetCreated() time.Time { + if o == nil || IsNil(o.Created) { + var ret time.Time + return ret + } + return *o.Created +} + +// GetCreatedOk returns a tuple with the Created field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetCreatedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Created) { + return nil, false + } + return o.Created, true +} + +// HasCreated returns a boolean if a field has been set. +func (o *MultiHostSources) HasCreated() bool { + if o != nil && !IsNil(o.Created) { + return true + } + + return false +} + +// SetCreated gets a reference to the given time.Time and assigns it to the Created field. +func (o *MultiHostSources) SetCreated(v time.Time) { + o.Created = &v +} + +// GetModified returns the Modified field value if set, zero value otherwise. +func (o *MultiHostSources) GetModified() time.Time { + if o == nil || IsNil(o.Modified) { + var ret time.Time + return ret + } + return *o.Modified +} + +// GetModifiedOk returns a tuple with the Modified field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetModifiedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Modified) { + return nil, false + } + return o.Modified, true +} + +// HasModified returns a boolean if a field has been set. +func (o *MultiHostSources) HasModified() bool { + if o != nil && !IsNil(o.Modified) { + return true + } + + return false +} + +// SetModified gets a reference to the given time.Time and assigns it to the Modified field. +func (o *MultiHostSources) SetModified(v time.Time) { + o.Modified = &v +} + +// GetCredentialProviderEnabled returns the CredentialProviderEnabled field value if set, zero value otherwise. +func (o *MultiHostSources) GetCredentialProviderEnabled() bool { + if o == nil || IsNil(o.CredentialProviderEnabled) { + var ret bool + return ret + } + return *o.CredentialProviderEnabled +} + +// GetCredentialProviderEnabledOk returns a tuple with the CredentialProviderEnabled field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSources) GetCredentialProviderEnabledOk() (*bool, bool) { + if o == nil || IsNil(o.CredentialProviderEnabled) { + return nil, false + } + return o.CredentialProviderEnabled, true +} + +// HasCredentialProviderEnabled returns a boolean if a field has been set. +func (o *MultiHostSources) HasCredentialProviderEnabled() bool { + if o != nil && !IsNil(o.CredentialProviderEnabled) { + return true + } + + return false +} + +// SetCredentialProviderEnabled gets a reference to the given bool and assigns it to the CredentialProviderEnabled field. +func (o *MultiHostSources) SetCredentialProviderEnabled(v bool) { + o.CredentialProviderEnabled = &v +} + +// GetCategory returns the Category field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *MultiHostSources) GetCategory() string { + if o == nil || IsNil(o.Category.Get()) { + var ret string + return ret + } + return *o.Category.Get() +} + +// GetCategoryOk returns a tuple with the Category field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *MultiHostSources) GetCategoryOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.Category.Get(), o.Category.IsSet() +} + +// HasCategory returns a boolean if a field has been set. +func (o *MultiHostSources) HasCategory() bool { + if o != nil && o.Category.IsSet() { + return true + } + + return false +} + +// SetCategory gets a reference to the given NullableString and assigns it to the Category field. +func (o *MultiHostSources) SetCategory(v string) { + o.Category.Set(&v) +} +// SetCategoryNil sets the value for Category to be an explicit nil +func (o *MultiHostSources) SetCategoryNil() { + o.Category.Set(nil) +} + +// UnsetCategory ensures that no value is present for Category, not even an explicit nil +func (o *MultiHostSources) UnsetCategory() { + o.Category.Unset() +} + +func (o MultiHostSources) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostSources) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + toSerialize["id"] = o.Id + toSerialize["name"] = o.Name + if !IsNil(o.Description) { + toSerialize["description"] = o.Description + } + toSerialize["owner"] = o.Owner + if o.Cluster.IsSet() { + toSerialize["cluster"] = o.Cluster.Get() + } + if o.AccountCorrelationConfig.IsSet() { + toSerialize["accountCorrelationConfig"] = o.AccountCorrelationConfig.Get() + } + if o.AccountCorrelationRule.IsSet() { + toSerialize["accountCorrelationRule"] = o.AccountCorrelationRule.Get() + } + if o.ManagerCorrelationMapping.IsSet() { + toSerialize["managerCorrelationMapping"] = o.ManagerCorrelationMapping.Get() + } + if o.ManagerCorrelationRule.IsSet() { + toSerialize["managerCorrelationRule"] = o.ManagerCorrelationRule.Get() + } + if o.BeforeProvisioningRule.IsSet() { + toSerialize["beforeProvisioningRule"] = o.BeforeProvisioningRule.Get() + } + if !IsNil(o.Schemas) { + toSerialize["schemas"] = o.Schemas + } + if o.PasswordPolicies != nil { + toSerialize["passwordPolicies"] = o.PasswordPolicies + } + if !IsNil(o.Features) { + toSerialize["features"] = o.Features + } + if !IsNil(o.Type) { + toSerialize["type"] = o.Type + } + toSerialize["connector"] = o.Connector + if !IsNil(o.ConnectorClass) { + toSerialize["connectorClass"] = o.ConnectorClass + } + if !IsNil(o.ConnectorAttributes) { + toSerialize["connectorAttributes"] = o.ConnectorAttributes + } + if !IsNil(o.DeleteThreshold) { + toSerialize["deleteThreshold"] = o.DeleteThreshold + } + if !IsNil(o.Authoritative) { + toSerialize["authoritative"] = o.Authoritative + } + if o.ManagementWorkgroup.IsSet() { + toSerialize["managementWorkgroup"] = o.ManagementWorkgroup.Get() + } + if !IsNil(o.Healthy) { + toSerialize["healthy"] = o.Healthy + } + if !IsNil(o.Status) { + toSerialize["status"] = o.Status + } + if !IsNil(o.Since) { + toSerialize["since"] = o.Since + } + if !IsNil(o.ConnectorId) { + toSerialize["connectorId"] = o.ConnectorId + } + toSerialize["connectorName"] = o.ConnectorName + if !IsNil(o.ConnectionType) { + toSerialize["connectionType"] = o.ConnectionType + } + if !IsNil(o.ConnectorImplementationId) { + toSerialize["connectorImplementationId"] = o.ConnectorImplementationId + } + if !IsNil(o.Created) { + toSerialize["created"] = o.Created + } + if !IsNil(o.Modified) { + toSerialize["modified"] = o.Modified + } + if !IsNil(o.CredentialProviderEnabled) { + toSerialize["credentialProviderEnabled"] = o.CredentialProviderEnabled + } + if o.Category.IsSet() { + toSerialize["category"] = o.Category.Get() + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostSources) UnmarshalJSON(data []byte) (err error) { + // This validates that all required properties are included in the JSON object + // by unmarshalling the object into a generic map with string keys and checking + // that every required field exists as a key in the generic map. + requiredProperties := []string{ + "id", + "name", + "owner", + "connector", + "connectorName", + } + + allProperties := make(map[string]interface{}) + + err = json.Unmarshal(data, &allProperties) + + if err != nil { + return err; + } + + for _, requiredProperty := range(requiredProperties) { + if _, exists := allProperties[requiredProperty]; !exists { + return fmt.Errorf("no value given for required property %v", requiredProperty) + } + } + + varMultiHostSources := _MultiHostSources{} + + err = json.Unmarshal(data, &varMultiHostSources) + + if err != nil { + return err + } + + *o = MultiHostSources(varMultiHostSources) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "id") + delete(additionalProperties, "name") + delete(additionalProperties, "description") + delete(additionalProperties, "owner") + delete(additionalProperties, "cluster") + delete(additionalProperties, "accountCorrelationConfig") + delete(additionalProperties, "accountCorrelationRule") + delete(additionalProperties, "managerCorrelationMapping") + delete(additionalProperties, "managerCorrelationRule") + delete(additionalProperties, "beforeProvisioningRule") + delete(additionalProperties, "schemas") + delete(additionalProperties, "passwordPolicies") + delete(additionalProperties, "features") + delete(additionalProperties, "type") + delete(additionalProperties, "connector") + delete(additionalProperties, "connectorClass") + delete(additionalProperties, "connectorAttributes") + delete(additionalProperties, "deleteThreshold") + delete(additionalProperties, "authoritative") + delete(additionalProperties, "managementWorkgroup") + delete(additionalProperties, "healthy") + delete(additionalProperties, "status") + delete(additionalProperties, "since") + delete(additionalProperties, "connectorId") + delete(additionalProperties, "connectorName") + delete(additionalProperties, "connectionType") + delete(additionalProperties, "connectorImplementationId") + delete(additionalProperties, "created") + delete(additionalProperties, "modified") + delete(additionalProperties, "credentialProviderEnabled") + delete(additionalProperties, "category") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostSources struct { + value *MultiHostSources + isSet bool +} + +func (v NullableMultiHostSources) Get() *MultiHostSources { + return v.value +} + +func (v *NullableMultiHostSources) Set(val *MultiHostSources) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostSources) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostSources) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostSources(val *MultiHostSources) *NullableMultiHostSources { + return &NullableMultiHostSources{value: val, isSet: true} +} + +func (v NullableMultiHostSources) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostSources) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_source_account_correlation_config.go b/api_beta/model_multi_host_sources_account_correlation_config.go similarity index 54% rename from api_beta/model_source_account_correlation_config.go rename to api_beta/model_multi_host_sources_account_correlation_config.go index bfcc7ef46..0775ab7aa 100644 --- a/api_beta/model_source_account_correlation_config.go +++ b/api_beta/model_multi_host_sources_account_correlation_config.go @@ -14,11 +14,11 @@ import ( "encoding/json" ) -// checks if the SourceAccountCorrelationConfig type satisfies the MappedNullable interface at compile time -var _ MappedNullable = &SourceAccountCorrelationConfig{} +// checks if the MultiHostSourcesAccountCorrelationConfig type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostSourcesAccountCorrelationConfig{} -// SourceAccountCorrelationConfig Reference to account correlation config object. -type SourceAccountCorrelationConfig struct { +// MultiHostSourcesAccountCorrelationConfig Reference to account correlation config object. +type MultiHostSourcesAccountCorrelationConfig struct { // Type of object being referenced. Type *string `json:"type,omitempty"` // Account correlation config ID. @@ -28,27 +28,27 @@ type SourceAccountCorrelationConfig struct { AdditionalProperties map[string]interface{} } -type _SourceAccountCorrelationConfig SourceAccountCorrelationConfig +type _MultiHostSourcesAccountCorrelationConfig MultiHostSourcesAccountCorrelationConfig -// NewSourceAccountCorrelationConfig instantiates a new SourceAccountCorrelationConfig object +// NewMultiHostSourcesAccountCorrelationConfig instantiates a new MultiHostSourcesAccountCorrelationConfig object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewSourceAccountCorrelationConfig() *SourceAccountCorrelationConfig { - this := SourceAccountCorrelationConfig{} +func NewMultiHostSourcesAccountCorrelationConfig() *MultiHostSourcesAccountCorrelationConfig { + this := MultiHostSourcesAccountCorrelationConfig{} return &this } -// NewSourceAccountCorrelationConfigWithDefaults instantiates a new SourceAccountCorrelationConfig object +// NewMultiHostSourcesAccountCorrelationConfigWithDefaults instantiates a new MultiHostSourcesAccountCorrelationConfig object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set -func NewSourceAccountCorrelationConfigWithDefaults() *SourceAccountCorrelationConfig { - this := SourceAccountCorrelationConfig{} +func NewMultiHostSourcesAccountCorrelationConfigWithDefaults() *MultiHostSourcesAccountCorrelationConfig { + this := MultiHostSourcesAccountCorrelationConfig{} return &this } // GetType returns the Type field value if set, zero value otherwise. -func (o *SourceAccountCorrelationConfig) GetType() string { +func (o *MultiHostSourcesAccountCorrelationConfig) GetType() string { if o == nil || IsNil(o.Type) { var ret string return ret @@ -58,7 +58,7 @@ func (o *SourceAccountCorrelationConfig) GetType() string { // GetTypeOk returns a tuple with the Type field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceAccountCorrelationConfig) GetTypeOk() (*string, bool) { +func (o *MultiHostSourcesAccountCorrelationConfig) GetTypeOk() (*string, bool) { if o == nil || IsNil(o.Type) { return nil, false } @@ -66,7 +66,7 @@ func (o *SourceAccountCorrelationConfig) GetTypeOk() (*string, bool) { } // HasType returns a boolean if a field has been set. -func (o *SourceAccountCorrelationConfig) HasType() bool { +func (o *MultiHostSourcesAccountCorrelationConfig) HasType() bool { if o != nil && !IsNil(o.Type) { return true } @@ -75,12 +75,12 @@ func (o *SourceAccountCorrelationConfig) HasType() bool { } // SetType gets a reference to the given string and assigns it to the Type field. -func (o *SourceAccountCorrelationConfig) SetType(v string) { +func (o *MultiHostSourcesAccountCorrelationConfig) SetType(v string) { o.Type = &v } // GetId returns the Id field value if set, zero value otherwise. -func (o *SourceAccountCorrelationConfig) GetId() string { +func (o *MultiHostSourcesAccountCorrelationConfig) GetId() string { if o == nil || IsNil(o.Id) { var ret string return ret @@ -90,7 +90,7 @@ func (o *SourceAccountCorrelationConfig) GetId() string { // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceAccountCorrelationConfig) GetIdOk() (*string, bool) { +func (o *MultiHostSourcesAccountCorrelationConfig) GetIdOk() (*string, bool) { if o == nil || IsNil(o.Id) { return nil, false } @@ -98,7 +98,7 @@ func (o *SourceAccountCorrelationConfig) GetIdOk() (*string, bool) { } // HasId returns a boolean if a field has been set. -func (o *SourceAccountCorrelationConfig) HasId() bool { +func (o *MultiHostSourcesAccountCorrelationConfig) HasId() bool { if o != nil && !IsNil(o.Id) { return true } @@ -107,12 +107,12 @@ func (o *SourceAccountCorrelationConfig) HasId() bool { } // SetId gets a reference to the given string and assigns it to the Id field. -func (o *SourceAccountCorrelationConfig) SetId(v string) { +func (o *MultiHostSourcesAccountCorrelationConfig) SetId(v string) { o.Id = &v } // GetName returns the Name field value if set, zero value otherwise. -func (o *SourceAccountCorrelationConfig) GetName() string { +func (o *MultiHostSourcesAccountCorrelationConfig) GetName() string { if o == nil || IsNil(o.Name) { var ret string return ret @@ -122,7 +122,7 @@ func (o *SourceAccountCorrelationConfig) GetName() string { // GetNameOk returns a tuple with the Name field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceAccountCorrelationConfig) GetNameOk() (*string, bool) { +func (o *MultiHostSourcesAccountCorrelationConfig) GetNameOk() (*string, bool) { if o == nil || IsNil(o.Name) { return nil, false } @@ -130,7 +130,7 @@ func (o *SourceAccountCorrelationConfig) GetNameOk() (*string, bool) { } // HasName returns a boolean if a field has been set. -func (o *SourceAccountCorrelationConfig) HasName() bool { +func (o *MultiHostSourcesAccountCorrelationConfig) HasName() bool { if o != nil && !IsNil(o.Name) { return true } @@ -139,11 +139,11 @@ func (o *SourceAccountCorrelationConfig) HasName() bool { } // SetName gets a reference to the given string and assigns it to the Name field. -func (o *SourceAccountCorrelationConfig) SetName(v string) { +func (o *MultiHostSourcesAccountCorrelationConfig) SetName(v string) { o.Name = &v } -func (o SourceAccountCorrelationConfig) MarshalJSON() ([]byte, error) { +func (o MultiHostSourcesAccountCorrelationConfig) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err @@ -151,7 +151,7 @@ func (o SourceAccountCorrelationConfig) MarshalJSON() ([]byte, error) { return json.Marshal(toSerialize) } -func (o SourceAccountCorrelationConfig) ToMap() (map[string]interface{}, error) { +func (o MultiHostSourcesAccountCorrelationConfig) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if !IsNil(o.Type) { toSerialize["type"] = o.Type @@ -170,16 +170,16 @@ func (o SourceAccountCorrelationConfig) ToMap() (map[string]interface{}, error) return toSerialize, nil } -func (o *SourceAccountCorrelationConfig) UnmarshalJSON(data []byte) (err error) { - varSourceAccountCorrelationConfig := _SourceAccountCorrelationConfig{} +func (o *MultiHostSourcesAccountCorrelationConfig) UnmarshalJSON(data []byte) (err error) { + varMultiHostSourcesAccountCorrelationConfig := _MultiHostSourcesAccountCorrelationConfig{} - err = json.Unmarshal(data, &varSourceAccountCorrelationConfig) + err = json.Unmarshal(data, &varMultiHostSourcesAccountCorrelationConfig) if err != nil { return err } - *o = SourceAccountCorrelationConfig(varSourceAccountCorrelationConfig) + *o = MultiHostSourcesAccountCorrelationConfig(varMultiHostSourcesAccountCorrelationConfig) additionalProperties := make(map[string]interface{}) @@ -193,38 +193,38 @@ func (o *SourceAccountCorrelationConfig) UnmarshalJSON(data []byte) (err error) return err } -type NullableSourceAccountCorrelationConfig struct { - value *SourceAccountCorrelationConfig +type NullableMultiHostSourcesAccountCorrelationConfig struct { + value *MultiHostSourcesAccountCorrelationConfig isSet bool } -func (v NullableSourceAccountCorrelationConfig) Get() *SourceAccountCorrelationConfig { +func (v NullableMultiHostSourcesAccountCorrelationConfig) Get() *MultiHostSourcesAccountCorrelationConfig { return v.value } -func (v *NullableSourceAccountCorrelationConfig) Set(val *SourceAccountCorrelationConfig) { +func (v *NullableMultiHostSourcesAccountCorrelationConfig) Set(val *MultiHostSourcesAccountCorrelationConfig) { v.value = val v.isSet = true } -func (v NullableSourceAccountCorrelationConfig) IsSet() bool { +func (v NullableMultiHostSourcesAccountCorrelationConfig) IsSet() bool { return v.isSet } -func (v *NullableSourceAccountCorrelationConfig) Unset() { +func (v *NullableMultiHostSourcesAccountCorrelationConfig) Unset() { v.value = nil v.isSet = false } -func NewNullableSourceAccountCorrelationConfig(val *SourceAccountCorrelationConfig) *NullableSourceAccountCorrelationConfig { - return &NullableSourceAccountCorrelationConfig{value: val, isSet: true} +func NewNullableMultiHostSourcesAccountCorrelationConfig(val *MultiHostSourcesAccountCorrelationConfig) *NullableMultiHostSourcesAccountCorrelationConfig { + return &NullableMultiHostSourcesAccountCorrelationConfig{value: val, isSet: true} } -func (v NullableSourceAccountCorrelationConfig) MarshalJSON() ([]byte, error) { +func (v NullableMultiHostSourcesAccountCorrelationConfig) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } -func (v *NullableSourceAccountCorrelationConfig) UnmarshalJSON(src []byte) error { +func (v *NullableMultiHostSourcesAccountCorrelationConfig) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) } diff --git a/api_beta/model_multi_host_sources_account_correlation_rule.go b/api_beta/model_multi_host_sources_account_correlation_rule.go new file mode 100644 index 000000000..fc165505f --- /dev/null +++ b/api_beta/model_multi_host_sources_account_correlation_rule.go @@ -0,0 +1,232 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" +) + +// checks if the MultiHostSourcesAccountCorrelationRule type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostSourcesAccountCorrelationRule{} + +// MultiHostSourcesAccountCorrelationRule Reference to a rule that can do COMPLEX correlation. Only use this rule when you can't use accountCorrelationConfig. +type MultiHostSourcesAccountCorrelationRule struct { + // Type of object being referenced. + Type *string `json:"type,omitempty"` + // Rule ID. + Id *string `json:"id,omitempty"` + // Rule's human-readable display name. + Name *string `json:"name,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _MultiHostSourcesAccountCorrelationRule MultiHostSourcesAccountCorrelationRule + +// NewMultiHostSourcesAccountCorrelationRule instantiates a new MultiHostSourcesAccountCorrelationRule object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewMultiHostSourcesAccountCorrelationRule() *MultiHostSourcesAccountCorrelationRule { + this := MultiHostSourcesAccountCorrelationRule{} + return &this +} + +// NewMultiHostSourcesAccountCorrelationRuleWithDefaults instantiates a new MultiHostSourcesAccountCorrelationRule object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewMultiHostSourcesAccountCorrelationRuleWithDefaults() *MultiHostSourcesAccountCorrelationRule { + this := MultiHostSourcesAccountCorrelationRule{} + return &this +} + +// GetType returns the Type field value if set, zero value otherwise. +func (o *MultiHostSourcesAccountCorrelationRule) GetType() string { + if o == nil || IsNil(o.Type) { + var ret string + return ret + } + return *o.Type +} + +// GetTypeOk returns a tuple with the Type field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSourcesAccountCorrelationRule) GetTypeOk() (*string, bool) { + if o == nil || IsNil(o.Type) { + return nil, false + } + return o.Type, true +} + +// HasType returns a boolean if a field has been set. +func (o *MultiHostSourcesAccountCorrelationRule) HasType() bool { + if o != nil && !IsNil(o.Type) { + return true + } + + return false +} + +// SetType gets a reference to the given string and assigns it to the Type field. +func (o *MultiHostSourcesAccountCorrelationRule) SetType(v string) { + o.Type = &v +} + +// GetId returns the Id field value if set, zero value otherwise. +func (o *MultiHostSourcesAccountCorrelationRule) GetId() string { + if o == nil || IsNil(o.Id) { + var ret string + return ret + } + return *o.Id +} + +// GetIdOk returns a tuple with the Id field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSourcesAccountCorrelationRule) GetIdOk() (*string, bool) { + if o == nil || IsNil(o.Id) { + return nil, false + } + return o.Id, true +} + +// HasId returns a boolean if a field has been set. +func (o *MultiHostSourcesAccountCorrelationRule) HasId() bool { + if o != nil && !IsNil(o.Id) { + return true + } + + return false +} + +// SetId gets a reference to the given string and assigns it to the Id field. +func (o *MultiHostSourcesAccountCorrelationRule) SetId(v string) { + o.Id = &v +} + +// GetName returns the Name field value if set, zero value otherwise. +func (o *MultiHostSourcesAccountCorrelationRule) GetName() string { + if o == nil || IsNil(o.Name) { + var ret string + return ret + } + return *o.Name +} + +// GetNameOk returns a tuple with the Name field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *MultiHostSourcesAccountCorrelationRule) GetNameOk() (*string, bool) { + if o == nil || IsNil(o.Name) { + return nil, false + } + return o.Name, true +} + +// HasName returns a boolean if a field has been set. +func (o *MultiHostSourcesAccountCorrelationRule) HasName() bool { + if o != nil && !IsNil(o.Name) { + return true + } + + return false +} + +// SetName gets a reference to the given string and assigns it to the Name field. +func (o *MultiHostSourcesAccountCorrelationRule) SetName(v string) { + o.Name = &v +} + +func (o MultiHostSourcesAccountCorrelationRule) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o MultiHostSourcesAccountCorrelationRule) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.Type) { + toSerialize["type"] = o.Type + } + if !IsNil(o.Id) { + toSerialize["id"] = o.Id + } + if !IsNil(o.Name) { + toSerialize["name"] = o.Name + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *MultiHostSourcesAccountCorrelationRule) UnmarshalJSON(data []byte) (err error) { + varMultiHostSourcesAccountCorrelationRule := _MultiHostSourcesAccountCorrelationRule{} + + err = json.Unmarshal(data, &varMultiHostSourcesAccountCorrelationRule) + + if err != nil { + return err + } + + *o = MultiHostSourcesAccountCorrelationRule(varMultiHostSourcesAccountCorrelationRule) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "type") + delete(additionalProperties, "id") + delete(additionalProperties, "name") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableMultiHostSourcesAccountCorrelationRule struct { + value *MultiHostSourcesAccountCorrelationRule + isSet bool +} + +func (v NullableMultiHostSourcesAccountCorrelationRule) Get() *MultiHostSourcesAccountCorrelationRule { + return v.value +} + +func (v *NullableMultiHostSourcesAccountCorrelationRule) Set(val *MultiHostSourcesAccountCorrelationRule) { + v.value = val + v.isSet = true +} + +func (v NullableMultiHostSourcesAccountCorrelationRule) IsSet() bool { + return v.isSet +} + +func (v *NullableMultiHostSourcesAccountCorrelationRule) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableMultiHostSourcesAccountCorrelationRule(val *MultiHostSourcesAccountCorrelationRule) *NullableMultiHostSourcesAccountCorrelationRule { + return &NullableMultiHostSourcesAccountCorrelationRule{value: val, isSet: true} +} + +func (v NullableMultiHostSourcesAccountCorrelationRule) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableMultiHostSourcesAccountCorrelationRule) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_source_before_provisioning_rule.go b/api_beta/model_multi_host_sources_before_provisioning_rule.go similarity index 54% rename from api_beta/model_source_before_provisioning_rule.go rename to api_beta/model_multi_host_sources_before_provisioning_rule.go index 29939e132..bb5cd0d95 100644 --- a/api_beta/model_source_before_provisioning_rule.go +++ b/api_beta/model_multi_host_sources_before_provisioning_rule.go @@ -14,11 +14,11 @@ import ( "encoding/json" ) -// checks if the SourceBeforeProvisioningRule type satisfies the MappedNullable interface at compile time -var _ MappedNullable = &SourceBeforeProvisioningRule{} +// checks if the MultiHostSourcesBeforeProvisioningRule type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostSourcesBeforeProvisioningRule{} -// SourceBeforeProvisioningRule Rule that runs on the CCG and allows for customization of provisioning plans before the API calls the connector. -type SourceBeforeProvisioningRule struct { +// MultiHostSourcesBeforeProvisioningRule Rule that runs on the CCG and allows for customization of provisioning plans before the API calls the connector. +type MultiHostSourcesBeforeProvisioningRule struct { // Type of object being referenced. Type *string `json:"type,omitempty"` // Rule ID. @@ -28,27 +28,27 @@ type SourceBeforeProvisioningRule struct { AdditionalProperties map[string]interface{} } -type _SourceBeforeProvisioningRule SourceBeforeProvisioningRule +type _MultiHostSourcesBeforeProvisioningRule MultiHostSourcesBeforeProvisioningRule -// NewSourceBeforeProvisioningRule instantiates a new SourceBeforeProvisioningRule object +// NewMultiHostSourcesBeforeProvisioningRule instantiates a new MultiHostSourcesBeforeProvisioningRule object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewSourceBeforeProvisioningRule() *SourceBeforeProvisioningRule { - this := SourceBeforeProvisioningRule{} +func NewMultiHostSourcesBeforeProvisioningRule() *MultiHostSourcesBeforeProvisioningRule { + this := MultiHostSourcesBeforeProvisioningRule{} return &this } -// NewSourceBeforeProvisioningRuleWithDefaults instantiates a new SourceBeforeProvisioningRule object +// NewMultiHostSourcesBeforeProvisioningRuleWithDefaults instantiates a new MultiHostSourcesBeforeProvisioningRule object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set -func NewSourceBeforeProvisioningRuleWithDefaults() *SourceBeforeProvisioningRule { - this := SourceBeforeProvisioningRule{} +func NewMultiHostSourcesBeforeProvisioningRuleWithDefaults() *MultiHostSourcesBeforeProvisioningRule { + this := MultiHostSourcesBeforeProvisioningRule{} return &this } // GetType returns the Type field value if set, zero value otherwise. -func (o *SourceBeforeProvisioningRule) GetType() string { +func (o *MultiHostSourcesBeforeProvisioningRule) GetType() string { if o == nil || IsNil(o.Type) { var ret string return ret @@ -58,7 +58,7 @@ func (o *SourceBeforeProvisioningRule) GetType() string { // GetTypeOk returns a tuple with the Type field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceBeforeProvisioningRule) GetTypeOk() (*string, bool) { +func (o *MultiHostSourcesBeforeProvisioningRule) GetTypeOk() (*string, bool) { if o == nil || IsNil(o.Type) { return nil, false } @@ -66,7 +66,7 @@ func (o *SourceBeforeProvisioningRule) GetTypeOk() (*string, bool) { } // HasType returns a boolean if a field has been set. -func (o *SourceBeforeProvisioningRule) HasType() bool { +func (o *MultiHostSourcesBeforeProvisioningRule) HasType() bool { if o != nil && !IsNil(o.Type) { return true } @@ -75,12 +75,12 @@ func (o *SourceBeforeProvisioningRule) HasType() bool { } // SetType gets a reference to the given string and assigns it to the Type field. -func (o *SourceBeforeProvisioningRule) SetType(v string) { +func (o *MultiHostSourcesBeforeProvisioningRule) SetType(v string) { o.Type = &v } // GetId returns the Id field value if set, zero value otherwise. -func (o *SourceBeforeProvisioningRule) GetId() string { +func (o *MultiHostSourcesBeforeProvisioningRule) GetId() string { if o == nil || IsNil(o.Id) { var ret string return ret @@ -90,7 +90,7 @@ func (o *SourceBeforeProvisioningRule) GetId() string { // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceBeforeProvisioningRule) GetIdOk() (*string, bool) { +func (o *MultiHostSourcesBeforeProvisioningRule) GetIdOk() (*string, bool) { if o == nil || IsNil(o.Id) { return nil, false } @@ -98,7 +98,7 @@ func (o *SourceBeforeProvisioningRule) GetIdOk() (*string, bool) { } // HasId returns a boolean if a field has been set. -func (o *SourceBeforeProvisioningRule) HasId() bool { +func (o *MultiHostSourcesBeforeProvisioningRule) HasId() bool { if o != nil && !IsNil(o.Id) { return true } @@ -107,12 +107,12 @@ func (o *SourceBeforeProvisioningRule) HasId() bool { } // SetId gets a reference to the given string and assigns it to the Id field. -func (o *SourceBeforeProvisioningRule) SetId(v string) { +func (o *MultiHostSourcesBeforeProvisioningRule) SetId(v string) { o.Id = &v } // GetName returns the Name field value if set, zero value otherwise. -func (o *SourceBeforeProvisioningRule) GetName() string { +func (o *MultiHostSourcesBeforeProvisioningRule) GetName() string { if o == nil || IsNil(o.Name) { var ret string return ret @@ -122,7 +122,7 @@ func (o *SourceBeforeProvisioningRule) GetName() string { // GetNameOk returns a tuple with the Name field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceBeforeProvisioningRule) GetNameOk() (*string, bool) { +func (o *MultiHostSourcesBeforeProvisioningRule) GetNameOk() (*string, bool) { if o == nil || IsNil(o.Name) { return nil, false } @@ -130,7 +130,7 @@ func (o *SourceBeforeProvisioningRule) GetNameOk() (*string, bool) { } // HasName returns a boolean if a field has been set. -func (o *SourceBeforeProvisioningRule) HasName() bool { +func (o *MultiHostSourcesBeforeProvisioningRule) HasName() bool { if o != nil && !IsNil(o.Name) { return true } @@ -139,11 +139,11 @@ func (o *SourceBeforeProvisioningRule) HasName() bool { } // SetName gets a reference to the given string and assigns it to the Name field. -func (o *SourceBeforeProvisioningRule) SetName(v string) { +func (o *MultiHostSourcesBeforeProvisioningRule) SetName(v string) { o.Name = &v } -func (o SourceBeforeProvisioningRule) MarshalJSON() ([]byte, error) { +func (o MultiHostSourcesBeforeProvisioningRule) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err @@ -151,7 +151,7 @@ func (o SourceBeforeProvisioningRule) MarshalJSON() ([]byte, error) { return json.Marshal(toSerialize) } -func (o SourceBeforeProvisioningRule) ToMap() (map[string]interface{}, error) { +func (o MultiHostSourcesBeforeProvisioningRule) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if !IsNil(o.Type) { toSerialize["type"] = o.Type @@ -170,16 +170,16 @@ func (o SourceBeforeProvisioningRule) ToMap() (map[string]interface{}, error) { return toSerialize, nil } -func (o *SourceBeforeProvisioningRule) UnmarshalJSON(data []byte) (err error) { - varSourceBeforeProvisioningRule := _SourceBeforeProvisioningRule{} +func (o *MultiHostSourcesBeforeProvisioningRule) UnmarshalJSON(data []byte) (err error) { + varMultiHostSourcesBeforeProvisioningRule := _MultiHostSourcesBeforeProvisioningRule{} - err = json.Unmarshal(data, &varSourceBeforeProvisioningRule) + err = json.Unmarshal(data, &varMultiHostSourcesBeforeProvisioningRule) if err != nil { return err } - *o = SourceBeforeProvisioningRule(varSourceBeforeProvisioningRule) + *o = MultiHostSourcesBeforeProvisioningRule(varMultiHostSourcesBeforeProvisioningRule) additionalProperties := make(map[string]interface{}) @@ -193,38 +193,38 @@ func (o *SourceBeforeProvisioningRule) UnmarshalJSON(data []byte) (err error) { return err } -type NullableSourceBeforeProvisioningRule struct { - value *SourceBeforeProvisioningRule +type NullableMultiHostSourcesBeforeProvisioningRule struct { + value *MultiHostSourcesBeforeProvisioningRule isSet bool } -func (v NullableSourceBeforeProvisioningRule) Get() *SourceBeforeProvisioningRule { +func (v NullableMultiHostSourcesBeforeProvisioningRule) Get() *MultiHostSourcesBeforeProvisioningRule { return v.value } -func (v *NullableSourceBeforeProvisioningRule) Set(val *SourceBeforeProvisioningRule) { +func (v *NullableMultiHostSourcesBeforeProvisioningRule) Set(val *MultiHostSourcesBeforeProvisioningRule) { v.value = val v.isSet = true } -func (v NullableSourceBeforeProvisioningRule) IsSet() bool { +func (v NullableMultiHostSourcesBeforeProvisioningRule) IsSet() bool { return v.isSet } -func (v *NullableSourceBeforeProvisioningRule) Unset() { +func (v *NullableMultiHostSourcesBeforeProvisioningRule) Unset() { v.value = nil v.isSet = false } -func NewNullableSourceBeforeProvisioningRule(val *SourceBeforeProvisioningRule) *NullableSourceBeforeProvisioningRule { - return &NullableSourceBeforeProvisioningRule{value: val, isSet: true} +func NewNullableMultiHostSourcesBeforeProvisioningRule(val *MultiHostSourcesBeforeProvisioningRule) *NullableMultiHostSourcesBeforeProvisioningRule { + return &NullableMultiHostSourcesBeforeProvisioningRule{value: val, isSet: true} } -func (v NullableSourceBeforeProvisioningRule) MarshalJSON() ([]byte, error) { +func (v NullableMultiHostSourcesBeforeProvisioningRule) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } -func (v *NullableSourceBeforeProvisioningRule) UnmarshalJSON(src []byte) error { +func (v *NullableMultiHostSourcesBeforeProvisioningRule) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) } diff --git a/api_beta/model_source_account_correlation_rule.go b/api_beta/model_multi_host_sources_manager_correlation_rule.go similarity index 55% rename from api_beta/model_source_account_correlation_rule.go rename to api_beta/model_multi_host_sources_manager_correlation_rule.go index e537ecaed..cb6efce3f 100644 --- a/api_beta/model_source_account_correlation_rule.go +++ b/api_beta/model_multi_host_sources_manager_correlation_rule.go @@ -14,11 +14,11 @@ import ( "encoding/json" ) -// checks if the SourceAccountCorrelationRule type satisfies the MappedNullable interface at compile time -var _ MappedNullable = &SourceAccountCorrelationRule{} +// checks if the MultiHostSourcesManagerCorrelationRule type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostSourcesManagerCorrelationRule{} -// SourceAccountCorrelationRule Reference to a rule that can do COMPLEX correlation. Only use this rule when you can't use accountCorrelationConfig. -type SourceAccountCorrelationRule struct { +// MultiHostSourcesManagerCorrelationRule Reference to the ManagerCorrelationRule. Only use this rule when a simple filter isn't sufficient. +type MultiHostSourcesManagerCorrelationRule struct { // Type of object being referenced. Type *string `json:"type,omitempty"` // Rule ID. @@ -28,27 +28,27 @@ type SourceAccountCorrelationRule struct { AdditionalProperties map[string]interface{} } -type _SourceAccountCorrelationRule SourceAccountCorrelationRule +type _MultiHostSourcesManagerCorrelationRule MultiHostSourcesManagerCorrelationRule -// NewSourceAccountCorrelationRule instantiates a new SourceAccountCorrelationRule object +// NewMultiHostSourcesManagerCorrelationRule instantiates a new MultiHostSourcesManagerCorrelationRule object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewSourceAccountCorrelationRule() *SourceAccountCorrelationRule { - this := SourceAccountCorrelationRule{} +func NewMultiHostSourcesManagerCorrelationRule() *MultiHostSourcesManagerCorrelationRule { + this := MultiHostSourcesManagerCorrelationRule{} return &this } -// NewSourceAccountCorrelationRuleWithDefaults instantiates a new SourceAccountCorrelationRule object +// NewMultiHostSourcesManagerCorrelationRuleWithDefaults instantiates a new MultiHostSourcesManagerCorrelationRule object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set -func NewSourceAccountCorrelationRuleWithDefaults() *SourceAccountCorrelationRule { - this := SourceAccountCorrelationRule{} +func NewMultiHostSourcesManagerCorrelationRuleWithDefaults() *MultiHostSourcesManagerCorrelationRule { + this := MultiHostSourcesManagerCorrelationRule{} return &this } // GetType returns the Type field value if set, zero value otherwise. -func (o *SourceAccountCorrelationRule) GetType() string { +func (o *MultiHostSourcesManagerCorrelationRule) GetType() string { if o == nil || IsNil(o.Type) { var ret string return ret @@ -58,7 +58,7 @@ func (o *SourceAccountCorrelationRule) GetType() string { // GetTypeOk returns a tuple with the Type field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceAccountCorrelationRule) GetTypeOk() (*string, bool) { +func (o *MultiHostSourcesManagerCorrelationRule) GetTypeOk() (*string, bool) { if o == nil || IsNil(o.Type) { return nil, false } @@ -66,7 +66,7 @@ func (o *SourceAccountCorrelationRule) GetTypeOk() (*string, bool) { } // HasType returns a boolean if a field has been set. -func (o *SourceAccountCorrelationRule) HasType() bool { +func (o *MultiHostSourcesManagerCorrelationRule) HasType() bool { if o != nil && !IsNil(o.Type) { return true } @@ -75,12 +75,12 @@ func (o *SourceAccountCorrelationRule) HasType() bool { } // SetType gets a reference to the given string and assigns it to the Type field. -func (o *SourceAccountCorrelationRule) SetType(v string) { +func (o *MultiHostSourcesManagerCorrelationRule) SetType(v string) { o.Type = &v } // GetId returns the Id field value if set, zero value otherwise. -func (o *SourceAccountCorrelationRule) GetId() string { +func (o *MultiHostSourcesManagerCorrelationRule) GetId() string { if o == nil || IsNil(o.Id) { var ret string return ret @@ -90,7 +90,7 @@ func (o *SourceAccountCorrelationRule) GetId() string { // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceAccountCorrelationRule) GetIdOk() (*string, bool) { +func (o *MultiHostSourcesManagerCorrelationRule) GetIdOk() (*string, bool) { if o == nil || IsNil(o.Id) { return nil, false } @@ -98,7 +98,7 @@ func (o *SourceAccountCorrelationRule) GetIdOk() (*string, bool) { } // HasId returns a boolean if a field has been set. -func (o *SourceAccountCorrelationRule) HasId() bool { +func (o *MultiHostSourcesManagerCorrelationRule) HasId() bool { if o != nil && !IsNil(o.Id) { return true } @@ -107,12 +107,12 @@ func (o *SourceAccountCorrelationRule) HasId() bool { } // SetId gets a reference to the given string and assigns it to the Id field. -func (o *SourceAccountCorrelationRule) SetId(v string) { +func (o *MultiHostSourcesManagerCorrelationRule) SetId(v string) { o.Id = &v } // GetName returns the Name field value if set, zero value otherwise. -func (o *SourceAccountCorrelationRule) GetName() string { +func (o *MultiHostSourcesManagerCorrelationRule) GetName() string { if o == nil || IsNil(o.Name) { var ret string return ret @@ -122,7 +122,7 @@ func (o *SourceAccountCorrelationRule) GetName() string { // GetNameOk returns a tuple with the Name field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceAccountCorrelationRule) GetNameOk() (*string, bool) { +func (o *MultiHostSourcesManagerCorrelationRule) GetNameOk() (*string, bool) { if o == nil || IsNil(o.Name) { return nil, false } @@ -130,7 +130,7 @@ func (o *SourceAccountCorrelationRule) GetNameOk() (*string, bool) { } // HasName returns a boolean if a field has been set. -func (o *SourceAccountCorrelationRule) HasName() bool { +func (o *MultiHostSourcesManagerCorrelationRule) HasName() bool { if o != nil && !IsNil(o.Name) { return true } @@ -139,11 +139,11 @@ func (o *SourceAccountCorrelationRule) HasName() bool { } // SetName gets a reference to the given string and assigns it to the Name field. -func (o *SourceAccountCorrelationRule) SetName(v string) { +func (o *MultiHostSourcesManagerCorrelationRule) SetName(v string) { o.Name = &v } -func (o SourceAccountCorrelationRule) MarshalJSON() ([]byte, error) { +func (o MultiHostSourcesManagerCorrelationRule) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err @@ -151,7 +151,7 @@ func (o SourceAccountCorrelationRule) MarshalJSON() ([]byte, error) { return json.Marshal(toSerialize) } -func (o SourceAccountCorrelationRule) ToMap() (map[string]interface{}, error) { +func (o MultiHostSourcesManagerCorrelationRule) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if !IsNil(o.Type) { toSerialize["type"] = o.Type @@ -170,16 +170,16 @@ func (o SourceAccountCorrelationRule) ToMap() (map[string]interface{}, error) { return toSerialize, nil } -func (o *SourceAccountCorrelationRule) UnmarshalJSON(data []byte) (err error) { - varSourceAccountCorrelationRule := _SourceAccountCorrelationRule{} +func (o *MultiHostSourcesManagerCorrelationRule) UnmarshalJSON(data []byte) (err error) { + varMultiHostSourcesManagerCorrelationRule := _MultiHostSourcesManagerCorrelationRule{} - err = json.Unmarshal(data, &varSourceAccountCorrelationRule) + err = json.Unmarshal(data, &varMultiHostSourcesManagerCorrelationRule) if err != nil { return err } - *o = SourceAccountCorrelationRule(varSourceAccountCorrelationRule) + *o = MultiHostSourcesManagerCorrelationRule(varMultiHostSourcesManagerCorrelationRule) additionalProperties := make(map[string]interface{}) @@ -193,38 +193,38 @@ func (o *SourceAccountCorrelationRule) UnmarshalJSON(data []byte) (err error) { return err } -type NullableSourceAccountCorrelationRule struct { - value *SourceAccountCorrelationRule +type NullableMultiHostSourcesManagerCorrelationRule struct { + value *MultiHostSourcesManagerCorrelationRule isSet bool } -func (v NullableSourceAccountCorrelationRule) Get() *SourceAccountCorrelationRule { +func (v NullableMultiHostSourcesManagerCorrelationRule) Get() *MultiHostSourcesManagerCorrelationRule { return v.value } -func (v *NullableSourceAccountCorrelationRule) Set(val *SourceAccountCorrelationRule) { +func (v *NullableMultiHostSourcesManagerCorrelationRule) Set(val *MultiHostSourcesManagerCorrelationRule) { v.value = val v.isSet = true } -func (v NullableSourceAccountCorrelationRule) IsSet() bool { +func (v NullableMultiHostSourcesManagerCorrelationRule) IsSet() bool { return v.isSet } -func (v *NullableSourceAccountCorrelationRule) Unset() { +func (v *NullableMultiHostSourcesManagerCorrelationRule) Unset() { v.value = nil v.isSet = false } -func NewNullableSourceAccountCorrelationRule(val *SourceAccountCorrelationRule) *NullableSourceAccountCorrelationRule { - return &NullableSourceAccountCorrelationRule{value: val, isSet: true} +func NewNullableMultiHostSourcesManagerCorrelationRule(val *MultiHostSourcesManagerCorrelationRule) *NullableMultiHostSourcesManagerCorrelationRule { + return &NullableMultiHostSourcesManagerCorrelationRule{value: val, isSet: true} } -func (v NullableSourceAccountCorrelationRule) MarshalJSON() ([]byte, error) { +func (v NullableMultiHostSourcesManagerCorrelationRule) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } -func (v *NullableSourceAccountCorrelationRule) UnmarshalJSON(src []byte) error { +func (v *NullableMultiHostSourcesManagerCorrelationRule) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) } diff --git a/api_beta/model_source_password_policies_inner.go b/api_beta/model_multi_host_sources_password_policies_inner.go similarity index 55% rename from api_beta/model_source_password_policies_inner.go rename to api_beta/model_multi_host_sources_password_policies_inner.go index b61887ed7..870f27241 100644 --- a/api_beta/model_source_password_policies_inner.go +++ b/api_beta/model_multi_host_sources_password_policies_inner.go @@ -14,11 +14,11 @@ import ( "encoding/json" ) -// checks if the SourcePasswordPoliciesInner type satisfies the MappedNullable interface at compile time -var _ MappedNullable = &SourcePasswordPoliciesInner{} +// checks if the MultiHostSourcesPasswordPoliciesInner type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostSourcesPasswordPoliciesInner{} -// SourcePasswordPoliciesInner struct for SourcePasswordPoliciesInner -type SourcePasswordPoliciesInner struct { +// MultiHostSourcesPasswordPoliciesInner struct for MultiHostSourcesPasswordPoliciesInner +type MultiHostSourcesPasswordPoliciesInner struct { // Type of object being referenced. Type *string `json:"type,omitempty"` // Policy ID. @@ -28,27 +28,27 @@ type SourcePasswordPoliciesInner struct { AdditionalProperties map[string]interface{} } -type _SourcePasswordPoliciesInner SourcePasswordPoliciesInner +type _MultiHostSourcesPasswordPoliciesInner MultiHostSourcesPasswordPoliciesInner -// NewSourcePasswordPoliciesInner instantiates a new SourcePasswordPoliciesInner object +// NewMultiHostSourcesPasswordPoliciesInner instantiates a new MultiHostSourcesPasswordPoliciesInner object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewSourcePasswordPoliciesInner() *SourcePasswordPoliciesInner { - this := SourcePasswordPoliciesInner{} +func NewMultiHostSourcesPasswordPoliciesInner() *MultiHostSourcesPasswordPoliciesInner { + this := MultiHostSourcesPasswordPoliciesInner{} return &this } -// NewSourcePasswordPoliciesInnerWithDefaults instantiates a new SourcePasswordPoliciesInner object +// NewMultiHostSourcesPasswordPoliciesInnerWithDefaults instantiates a new MultiHostSourcesPasswordPoliciesInner object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set -func NewSourcePasswordPoliciesInnerWithDefaults() *SourcePasswordPoliciesInner { - this := SourcePasswordPoliciesInner{} +func NewMultiHostSourcesPasswordPoliciesInnerWithDefaults() *MultiHostSourcesPasswordPoliciesInner { + this := MultiHostSourcesPasswordPoliciesInner{} return &this } // GetType returns the Type field value if set, zero value otherwise. -func (o *SourcePasswordPoliciesInner) GetType() string { +func (o *MultiHostSourcesPasswordPoliciesInner) GetType() string { if o == nil || IsNil(o.Type) { var ret string return ret @@ -58,7 +58,7 @@ func (o *SourcePasswordPoliciesInner) GetType() string { // GetTypeOk returns a tuple with the Type field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourcePasswordPoliciesInner) GetTypeOk() (*string, bool) { +func (o *MultiHostSourcesPasswordPoliciesInner) GetTypeOk() (*string, bool) { if o == nil || IsNil(o.Type) { return nil, false } @@ -66,7 +66,7 @@ func (o *SourcePasswordPoliciesInner) GetTypeOk() (*string, bool) { } // HasType returns a boolean if a field has been set. -func (o *SourcePasswordPoliciesInner) HasType() bool { +func (o *MultiHostSourcesPasswordPoliciesInner) HasType() bool { if o != nil && !IsNil(o.Type) { return true } @@ -75,12 +75,12 @@ func (o *SourcePasswordPoliciesInner) HasType() bool { } // SetType gets a reference to the given string and assigns it to the Type field. -func (o *SourcePasswordPoliciesInner) SetType(v string) { +func (o *MultiHostSourcesPasswordPoliciesInner) SetType(v string) { o.Type = &v } // GetId returns the Id field value if set, zero value otherwise. -func (o *SourcePasswordPoliciesInner) GetId() string { +func (o *MultiHostSourcesPasswordPoliciesInner) GetId() string { if o == nil || IsNil(o.Id) { var ret string return ret @@ -90,7 +90,7 @@ func (o *SourcePasswordPoliciesInner) GetId() string { // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourcePasswordPoliciesInner) GetIdOk() (*string, bool) { +func (o *MultiHostSourcesPasswordPoliciesInner) GetIdOk() (*string, bool) { if o == nil || IsNil(o.Id) { return nil, false } @@ -98,7 +98,7 @@ func (o *SourcePasswordPoliciesInner) GetIdOk() (*string, bool) { } // HasId returns a boolean if a field has been set. -func (o *SourcePasswordPoliciesInner) HasId() bool { +func (o *MultiHostSourcesPasswordPoliciesInner) HasId() bool { if o != nil && !IsNil(o.Id) { return true } @@ -107,12 +107,12 @@ func (o *SourcePasswordPoliciesInner) HasId() bool { } // SetId gets a reference to the given string and assigns it to the Id field. -func (o *SourcePasswordPoliciesInner) SetId(v string) { +func (o *MultiHostSourcesPasswordPoliciesInner) SetId(v string) { o.Id = &v } // GetName returns the Name field value if set, zero value otherwise. -func (o *SourcePasswordPoliciesInner) GetName() string { +func (o *MultiHostSourcesPasswordPoliciesInner) GetName() string { if o == nil || IsNil(o.Name) { var ret string return ret @@ -122,7 +122,7 @@ func (o *SourcePasswordPoliciesInner) GetName() string { // GetNameOk returns a tuple with the Name field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourcePasswordPoliciesInner) GetNameOk() (*string, bool) { +func (o *MultiHostSourcesPasswordPoliciesInner) GetNameOk() (*string, bool) { if o == nil || IsNil(o.Name) { return nil, false } @@ -130,7 +130,7 @@ func (o *SourcePasswordPoliciesInner) GetNameOk() (*string, bool) { } // HasName returns a boolean if a field has been set. -func (o *SourcePasswordPoliciesInner) HasName() bool { +func (o *MultiHostSourcesPasswordPoliciesInner) HasName() bool { if o != nil && !IsNil(o.Name) { return true } @@ -139,11 +139,11 @@ func (o *SourcePasswordPoliciesInner) HasName() bool { } // SetName gets a reference to the given string and assigns it to the Name field. -func (o *SourcePasswordPoliciesInner) SetName(v string) { +func (o *MultiHostSourcesPasswordPoliciesInner) SetName(v string) { o.Name = &v } -func (o SourcePasswordPoliciesInner) MarshalJSON() ([]byte, error) { +func (o MultiHostSourcesPasswordPoliciesInner) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err @@ -151,7 +151,7 @@ func (o SourcePasswordPoliciesInner) MarshalJSON() ([]byte, error) { return json.Marshal(toSerialize) } -func (o SourcePasswordPoliciesInner) ToMap() (map[string]interface{}, error) { +func (o MultiHostSourcesPasswordPoliciesInner) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if !IsNil(o.Type) { toSerialize["type"] = o.Type @@ -170,16 +170,16 @@ func (o SourcePasswordPoliciesInner) ToMap() (map[string]interface{}, error) { return toSerialize, nil } -func (o *SourcePasswordPoliciesInner) UnmarshalJSON(data []byte) (err error) { - varSourcePasswordPoliciesInner := _SourcePasswordPoliciesInner{} +func (o *MultiHostSourcesPasswordPoliciesInner) UnmarshalJSON(data []byte) (err error) { + varMultiHostSourcesPasswordPoliciesInner := _MultiHostSourcesPasswordPoliciesInner{} - err = json.Unmarshal(data, &varSourcePasswordPoliciesInner) + err = json.Unmarshal(data, &varMultiHostSourcesPasswordPoliciesInner) if err != nil { return err } - *o = SourcePasswordPoliciesInner(varSourcePasswordPoliciesInner) + *o = MultiHostSourcesPasswordPoliciesInner(varMultiHostSourcesPasswordPoliciesInner) additionalProperties := make(map[string]interface{}) @@ -193,38 +193,38 @@ func (o *SourcePasswordPoliciesInner) UnmarshalJSON(data []byte) (err error) { return err } -type NullableSourcePasswordPoliciesInner struct { - value *SourcePasswordPoliciesInner +type NullableMultiHostSourcesPasswordPoliciesInner struct { + value *MultiHostSourcesPasswordPoliciesInner isSet bool } -func (v NullableSourcePasswordPoliciesInner) Get() *SourcePasswordPoliciesInner { +func (v NullableMultiHostSourcesPasswordPoliciesInner) Get() *MultiHostSourcesPasswordPoliciesInner { return v.value } -func (v *NullableSourcePasswordPoliciesInner) Set(val *SourcePasswordPoliciesInner) { +func (v *NullableMultiHostSourcesPasswordPoliciesInner) Set(val *MultiHostSourcesPasswordPoliciesInner) { v.value = val v.isSet = true } -func (v NullableSourcePasswordPoliciesInner) IsSet() bool { +func (v NullableMultiHostSourcesPasswordPoliciesInner) IsSet() bool { return v.isSet } -func (v *NullableSourcePasswordPoliciesInner) Unset() { +func (v *NullableMultiHostSourcesPasswordPoliciesInner) Unset() { v.value = nil v.isSet = false } -func NewNullableSourcePasswordPoliciesInner(val *SourcePasswordPoliciesInner) *NullableSourcePasswordPoliciesInner { - return &NullableSourcePasswordPoliciesInner{value: val, isSet: true} +func NewNullableMultiHostSourcesPasswordPoliciesInner(val *MultiHostSourcesPasswordPoliciesInner) *NullableMultiHostSourcesPasswordPoliciesInner { + return &NullableMultiHostSourcesPasswordPoliciesInner{value: val, isSet: true} } -func (v NullableSourcePasswordPoliciesInner) MarshalJSON() ([]byte, error) { +func (v NullableMultiHostSourcesPasswordPoliciesInner) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } -func (v *NullableSourcePasswordPoliciesInner) UnmarshalJSON(src []byte) error { +func (v *NullableMultiHostSourcesPasswordPoliciesInner) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) } diff --git a/api_beta/model_source_manager_correlation_rule.go b/api_beta/model_multi_host_sources_schemas_inner.go similarity index 60% rename from api_beta/model_source_manager_correlation_rule.go rename to api_beta/model_multi_host_sources_schemas_inner.go index 4daba10af..ec46bb89c 100644 --- a/api_beta/model_source_manager_correlation_rule.go +++ b/api_beta/model_multi_host_sources_schemas_inner.go @@ -14,41 +14,41 @@ import ( "encoding/json" ) -// checks if the SourceManagerCorrelationRule type satisfies the MappedNullable interface at compile time -var _ MappedNullable = &SourceManagerCorrelationRule{} +// checks if the MultiHostSourcesSchemasInner type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &MultiHostSourcesSchemasInner{} -// SourceManagerCorrelationRule Reference to the ManagerCorrelationRule. Only use this rule when a simple filter isn't sufficient. -type SourceManagerCorrelationRule struct { +// MultiHostSourcesSchemasInner struct for MultiHostSourcesSchemasInner +type MultiHostSourcesSchemasInner struct { // Type of object being referenced. Type *string `json:"type,omitempty"` - // Rule ID. + // Schema ID. Id *string `json:"id,omitempty"` - // Rule's human-readable display name. + // Schema's human-readable display name. Name *string `json:"name,omitempty"` AdditionalProperties map[string]interface{} } -type _SourceManagerCorrelationRule SourceManagerCorrelationRule +type _MultiHostSourcesSchemasInner MultiHostSourcesSchemasInner -// NewSourceManagerCorrelationRule instantiates a new SourceManagerCorrelationRule object +// NewMultiHostSourcesSchemasInner instantiates a new MultiHostSourcesSchemasInner object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewSourceManagerCorrelationRule() *SourceManagerCorrelationRule { - this := SourceManagerCorrelationRule{} +func NewMultiHostSourcesSchemasInner() *MultiHostSourcesSchemasInner { + this := MultiHostSourcesSchemasInner{} return &this } -// NewSourceManagerCorrelationRuleWithDefaults instantiates a new SourceManagerCorrelationRule object +// NewMultiHostSourcesSchemasInnerWithDefaults instantiates a new MultiHostSourcesSchemasInner object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set -func NewSourceManagerCorrelationRuleWithDefaults() *SourceManagerCorrelationRule { - this := SourceManagerCorrelationRule{} +func NewMultiHostSourcesSchemasInnerWithDefaults() *MultiHostSourcesSchemasInner { + this := MultiHostSourcesSchemasInner{} return &this } // GetType returns the Type field value if set, zero value otherwise. -func (o *SourceManagerCorrelationRule) GetType() string { +func (o *MultiHostSourcesSchemasInner) GetType() string { if o == nil || IsNil(o.Type) { var ret string return ret @@ -58,7 +58,7 @@ func (o *SourceManagerCorrelationRule) GetType() string { // GetTypeOk returns a tuple with the Type field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceManagerCorrelationRule) GetTypeOk() (*string, bool) { +func (o *MultiHostSourcesSchemasInner) GetTypeOk() (*string, bool) { if o == nil || IsNil(o.Type) { return nil, false } @@ -66,7 +66,7 @@ func (o *SourceManagerCorrelationRule) GetTypeOk() (*string, bool) { } // HasType returns a boolean if a field has been set. -func (o *SourceManagerCorrelationRule) HasType() bool { +func (o *MultiHostSourcesSchemasInner) HasType() bool { if o != nil && !IsNil(o.Type) { return true } @@ -75,12 +75,12 @@ func (o *SourceManagerCorrelationRule) HasType() bool { } // SetType gets a reference to the given string and assigns it to the Type field. -func (o *SourceManagerCorrelationRule) SetType(v string) { +func (o *MultiHostSourcesSchemasInner) SetType(v string) { o.Type = &v } // GetId returns the Id field value if set, zero value otherwise. -func (o *SourceManagerCorrelationRule) GetId() string { +func (o *MultiHostSourcesSchemasInner) GetId() string { if o == nil || IsNil(o.Id) { var ret string return ret @@ -90,7 +90,7 @@ func (o *SourceManagerCorrelationRule) GetId() string { // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceManagerCorrelationRule) GetIdOk() (*string, bool) { +func (o *MultiHostSourcesSchemasInner) GetIdOk() (*string, bool) { if o == nil || IsNil(o.Id) { return nil, false } @@ -98,7 +98,7 @@ func (o *SourceManagerCorrelationRule) GetIdOk() (*string, bool) { } // HasId returns a boolean if a field has been set. -func (o *SourceManagerCorrelationRule) HasId() bool { +func (o *MultiHostSourcesSchemasInner) HasId() bool { if o != nil && !IsNil(o.Id) { return true } @@ -107,12 +107,12 @@ func (o *SourceManagerCorrelationRule) HasId() bool { } // SetId gets a reference to the given string and assigns it to the Id field. -func (o *SourceManagerCorrelationRule) SetId(v string) { +func (o *MultiHostSourcesSchemasInner) SetId(v string) { o.Id = &v } // GetName returns the Name field value if set, zero value otherwise. -func (o *SourceManagerCorrelationRule) GetName() string { +func (o *MultiHostSourcesSchemasInner) GetName() string { if o == nil || IsNil(o.Name) { var ret string return ret @@ -122,7 +122,7 @@ func (o *SourceManagerCorrelationRule) GetName() string { // GetNameOk returns a tuple with the Name field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *SourceManagerCorrelationRule) GetNameOk() (*string, bool) { +func (o *MultiHostSourcesSchemasInner) GetNameOk() (*string, bool) { if o == nil || IsNil(o.Name) { return nil, false } @@ -130,7 +130,7 @@ func (o *SourceManagerCorrelationRule) GetNameOk() (*string, bool) { } // HasName returns a boolean if a field has been set. -func (o *SourceManagerCorrelationRule) HasName() bool { +func (o *MultiHostSourcesSchemasInner) HasName() bool { if o != nil && !IsNil(o.Name) { return true } @@ -139,11 +139,11 @@ func (o *SourceManagerCorrelationRule) HasName() bool { } // SetName gets a reference to the given string and assigns it to the Name field. -func (o *SourceManagerCorrelationRule) SetName(v string) { +func (o *MultiHostSourcesSchemasInner) SetName(v string) { o.Name = &v } -func (o SourceManagerCorrelationRule) MarshalJSON() ([]byte, error) { +func (o MultiHostSourcesSchemasInner) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err @@ -151,7 +151,7 @@ func (o SourceManagerCorrelationRule) MarshalJSON() ([]byte, error) { return json.Marshal(toSerialize) } -func (o SourceManagerCorrelationRule) ToMap() (map[string]interface{}, error) { +func (o MultiHostSourcesSchemasInner) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if !IsNil(o.Type) { toSerialize["type"] = o.Type @@ -170,16 +170,16 @@ func (o SourceManagerCorrelationRule) ToMap() (map[string]interface{}, error) { return toSerialize, nil } -func (o *SourceManagerCorrelationRule) UnmarshalJSON(data []byte) (err error) { - varSourceManagerCorrelationRule := _SourceManagerCorrelationRule{} +func (o *MultiHostSourcesSchemasInner) UnmarshalJSON(data []byte) (err error) { + varMultiHostSourcesSchemasInner := _MultiHostSourcesSchemasInner{} - err = json.Unmarshal(data, &varSourceManagerCorrelationRule) + err = json.Unmarshal(data, &varMultiHostSourcesSchemasInner) if err != nil { return err } - *o = SourceManagerCorrelationRule(varSourceManagerCorrelationRule) + *o = MultiHostSourcesSchemasInner(varMultiHostSourcesSchemasInner) additionalProperties := make(map[string]interface{}) @@ -193,38 +193,38 @@ func (o *SourceManagerCorrelationRule) UnmarshalJSON(data []byte) (err error) { return err } -type NullableSourceManagerCorrelationRule struct { - value *SourceManagerCorrelationRule +type NullableMultiHostSourcesSchemasInner struct { + value *MultiHostSourcesSchemasInner isSet bool } -func (v NullableSourceManagerCorrelationRule) Get() *SourceManagerCorrelationRule { +func (v NullableMultiHostSourcesSchemasInner) Get() *MultiHostSourcesSchemasInner { return v.value } -func (v *NullableSourceManagerCorrelationRule) Set(val *SourceManagerCorrelationRule) { +func (v *NullableMultiHostSourcesSchemasInner) Set(val *MultiHostSourcesSchemasInner) { v.value = val v.isSet = true } -func (v NullableSourceManagerCorrelationRule) IsSet() bool { +func (v NullableMultiHostSourcesSchemasInner) IsSet() bool { return v.isSet } -func (v *NullableSourceManagerCorrelationRule) Unset() { +func (v *NullableMultiHostSourcesSchemasInner) Unset() { v.value = nil v.isSet = false } -func NewNullableSourceManagerCorrelationRule(val *SourceManagerCorrelationRule) *NullableSourceManagerCorrelationRule { - return &NullableSourceManagerCorrelationRule{value: val, isSet: true} +func NewNullableMultiHostSourcesSchemasInner(val *MultiHostSourcesSchemasInner) *NullableMultiHostSourcesSchemasInner { + return &NullableMultiHostSourcesSchemasInner{value: val, isSet: true} } -func (v NullableSourceManagerCorrelationRule) MarshalJSON() ([]byte, error) { +func (v NullableMultiHostSourcesSchemasInner) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } -func (v *NullableSourceManagerCorrelationRule) UnmarshalJSON(src []byte) error { +func (v *NullableMultiHostSourcesSchemasInner) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) } diff --git a/api_beta/model_source.go b/api_beta/model_source.go index 740886057..fb3a7d682 100644 --- a/api_beta/model_source.go +++ b/api_beta/model_source.go @@ -27,17 +27,17 @@ type Source struct { Name string `json:"name"` // Source's human-readable description. Description *string `json:"description,omitempty"` - Owner SourceOwner `json:"owner"` - Cluster NullableSourceCluster `json:"cluster,omitempty"` - AccountCorrelationConfig NullableSourceAccountCorrelationConfig `json:"accountCorrelationConfig,omitempty"` - AccountCorrelationRule NullableSourceAccountCorrelationRule `json:"accountCorrelationRule,omitempty"` + Owner MultiHostIntegrationsOwner `json:"owner"` + Cluster NullableMultiHostIntegrationsCluster `json:"cluster,omitempty"` + AccountCorrelationConfig NullableMultiHostSourcesAccountCorrelationConfig `json:"accountCorrelationConfig,omitempty"` + AccountCorrelationRule NullableMultiHostSourcesAccountCorrelationRule `json:"accountCorrelationRule,omitempty"` ManagerCorrelationMapping NullableManagerCorrelationMapping `json:"managerCorrelationMapping,omitempty"` - ManagerCorrelationRule NullableSourceManagerCorrelationRule `json:"managerCorrelationRule,omitempty"` - BeforeProvisioningRule NullableSourceBeforeProvisioningRule `json:"beforeProvisioningRule,omitempty"` + ManagerCorrelationRule NullableMultiHostSourcesManagerCorrelationRule `json:"managerCorrelationRule,omitempty"` + BeforeProvisioningRule NullableMultiHostSourcesBeforeProvisioningRule `json:"beforeProvisioningRule,omitempty"` // List of references to schema objects. - Schemas []SourceSchemasInner `json:"schemas,omitempty"` + Schemas []MultiHostSourcesSchemasInner `json:"schemas,omitempty"` // List of references to the associated PasswordPolicy objects. - PasswordPolicies []SourcePasswordPoliciesInner `json:"passwordPolicies,omitempty"` + PasswordPolicies []MultiHostSourcesPasswordPoliciesInner `json:"passwordPolicies,omitempty"` // Optional features that can be supported by a source. Modifying the features array may cause source configuration errors that are unsupportable. It is recommended to not modify this array for SailPoint supported connectors. * AUTHENTICATE: The source supports pass-through authentication. * COMPOSITE: The source supports composite source creation. * DIRECT_PERMISSIONS: The source supports returning DirectPermissions. * DISCOVER_SCHEMA: The source supports discovering schemas for users and groups. * ENABLE The source supports reading if an account is enabled or disabled. * MANAGER_LOOKUP: The source supports looking up managers as they are encountered in a feed. This is the opposite of NO_RANDOM_ACCESS. * NO_RANDOM_ACCESS: The source does not support random access and the getObject() methods should not be called and expected to perform. * PROXY: The source can serve as a proxy for another source. When an source has a proxy, all connector calls made with that source are redirected through the connector for the proxy source. * SEARCH * TEMPLATE * UNLOCK: The source supports reading if an account is locked or unlocked. * UNSTRUCTURED_TARGETS: The source supports returning unstructured Targets. * SHAREPOINT_TARGET: The source supports returning unstructured Target data for SharePoint. It will be typically used by AD, LDAP sources. * PROVISIONING: The source can both read and write accounts. Having this feature implies that the provision() method is implemented. It also means that direct and target permissions can also be provisioned if they can be returned by aggregation. * GROUP_PROVISIONING: The source can both read and write groups. Having this feature implies that the provision() method is implemented. * SYNC_PROVISIONING: The source can provision accounts synchronously. * PASSWORD: The source can provision password changes. Since sources can never read passwords, this is should only be used in conjunction with the PROVISIONING feature. * CURRENT_PASSWORD: Some source types support verification of the current password * ACCOUNT_ONLY_REQUEST: The source supports requesting accounts without entitlements. * ADDITIONAL_ACCOUNT_REQUEST: The source supports requesting additional accounts. * NO_AGGREGATION: A source that does not support aggregation. * GROUPS_HAVE_MEMBERS: The source models group memberships with a member attribute on the group object rather than a groups attribute on the account object. This effects the implementation of delta account aggregation. * NO_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for accounts. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for accounts. * NO_GROUP_PERMISSIONS_PROVISIONING: Indicates that the connector cannot provision direct or target permissions for groups. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for groups. * NO_UNSTRUCTURED_TARGETS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. * NO_DIRECT_PERMISSIONS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING. * USES_UUID: Connectivity 2.0 flag used to indicate that the connector supports a compound naming structure. * PREFER_UUID: Used in ISC Provisioning AND Aggregation to decide if it should prefer account.uuid to account.nativeIdentity when data is read in through aggregation OR pushed out through provisioning. * ARM_SECURITY_EXTRACT: Indicates the application supports Security extracts for ARM * ARM_UTILIZATION_EXTRACT: Indicates the application supports Utilization extracts for ARM * ARM_CHANGELOG_EXTRACT: Indicates the application supports Change-log extracts for ARM Features []string `json:"features,omitempty"` // Specifies the type of system being managed e.g. Active Directory, Workday, etc.. If you are creating a delimited file source, you must set the `provisionasCsv` query parameter to `true`. @@ -52,7 +52,7 @@ type Source struct { DeleteThreshold *int32 `json:"deleteThreshold,omitempty"` // When this is true, it indicates that the source is referenced by an identity profile. Authoritative *bool `json:"authoritative,omitempty"` - ManagementWorkgroup NullableSourceManagementWorkgroup `json:"managementWorkgroup,omitempty"` + ManagementWorkgroup NullableMultiHostIntegrationsManagementWorkgroup `json:"managementWorkgroup,omitempty"` // When this is true, it indicates that the source is healthy. Healthy *bool `json:"healthy,omitempty"` // Status identifier that gives specific information about why a source is or isn't healthy. @@ -84,7 +84,7 @@ type _Source Source // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewSource(name string, owner SourceOwner, connector string) *Source { +func NewSource(name string, owner MultiHostIntegrationsOwner, connector string) *Source { this := Source{} this.Name = name this.Owner = owner @@ -201,9 +201,9 @@ func (o *Source) SetDescription(v string) { } // GetOwner returns the Owner field value -func (o *Source) GetOwner() SourceOwner { +func (o *Source) GetOwner() MultiHostIntegrationsOwner { if o == nil { - var ret SourceOwner + var ret MultiHostIntegrationsOwner return ret } @@ -212,7 +212,7 @@ func (o *Source) GetOwner() SourceOwner { // GetOwnerOk returns a tuple with the Owner field value // and a boolean to check if the value has been set. -func (o *Source) GetOwnerOk() (*SourceOwner, bool) { +func (o *Source) GetOwnerOk() (*MultiHostIntegrationsOwner, bool) { if o == nil { return nil, false } @@ -220,14 +220,14 @@ func (o *Source) GetOwnerOk() (*SourceOwner, bool) { } // SetOwner sets field value -func (o *Source) SetOwner(v SourceOwner) { +func (o *Source) SetOwner(v MultiHostIntegrationsOwner) { o.Owner = v } // GetCluster returns the Cluster field value if set, zero value otherwise (both if not set or set to explicit null). -func (o *Source) GetCluster() SourceCluster { +func (o *Source) GetCluster() MultiHostIntegrationsCluster { if o == nil || IsNil(o.Cluster.Get()) { - var ret SourceCluster + var ret MultiHostIntegrationsCluster return ret } return *o.Cluster.Get() @@ -236,7 +236,7 @@ func (o *Source) GetCluster() SourceCluster { // GetClusterOk returns a tuple with the Cluster field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned -func (o *Source) GetClusterOk() (*SourceCluster, bool) { +func (o *Source) GetClusterOk() (*MultiHostIntegrationsCluster, bool) { if o == nil { return nil, false } @@ -252,8 +252,8 @@ func (o *Source) HasCluster() bool { return false } -// SetCluster gets a reference to the given NullableSourceCluster and assigns it to the Cluster field. -func (o *Source) SetCluster(v SourceCluster) { +// SetCluster gets a reference to the given NullableMultiHostIntegrationsCluster and assigns it to the Cluster field. +func (o *Source) SetCluster(v MultiHostIntegrationsCluster) { o.Cluster.Set(&v) } // SetClusterNil sets the value for Cluster to be an explicit nil @@ -267,9 +267,9 @@ func (o *Source) UnsetCluster() { } // GetAccountCorrelationConfig returns the AccountCorrelationConfig field value if set, zero value otherwise (both if not set or set to explicit null). -func (o *Source) GetAccountCorrelationConfig() SourceAccountCorrelationConfig { +func (o *Source) GetAccountCorrelationConfig() MultiHostSourcesAccountCorrelationConfig { if o == nil || IsNil(o.AccountCorrelationConfig.Get()) { - var ret SourceAccountCorrelationConfig + var ret MultiHostSourcesAccountCorrelationConfig return ret } return *o.AccountCorrelationConfig.Get() @@ -278,7 +278,7 @@ func (o *Source) GetAccountCorrelationConfig() SourceAccountCorrelationConfig { // GetAccountCorrelationConfigOk returns a tuple with the AccountCorrelationConfig field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned -func (o *Source) GetAccountCorrelationConfigOk() (*SourceAccountCorrelationConfig, bool) { +func (o *Source) GetAccountCorrelationConfigOk() (*MultiHostSourcesAccountCorrelationConfig, bool) { if o == nil { return nil, false } @@ -294,8 +294,8 @@ func (o *Source) HasAccountCorrelationConfig() bool { return false } -// SetAccountCorrelationConfig gets a reference to the given NullableSourceAccountCorrelationConfig and assigns it to the AccountCorrelationConfig field. -func (o *Source) SetAccountCorrelationConfig(v SourceAccountCorrelationConfig) { +// SetAccountCorrelationConfig gets a reference to the given NullableMultiHostSourcesAccountCorrelationConfig and assigns it to the AccountCorrelationConfig field. +func (o *Source) SetAccountCorrelationConfig(v MultiHostSourcesAccountCorrelationConfig) { o.AccountCorrelationConfig.Set(&v) } // SetAccountCorrelationConfigNil sets the value for AccountCorrelationConfig to be an explicit nil @@ -309,9 +309,9 @@ func (o *Source) UnsetAccountCorrelationConfig() { } // GetAccountCorrelationRule returns the AccountCorrelationRule field value if set, zero value otherwise (both if not set or set to explicit null). -func (o *Source) GetAccountCorrelationRule() SourceAccountCorrelationRule { +func (o *Source) GetAccountCorrelationRule() MultiHostSourcesAccountCorrelationRule { if o == nil || IsNil(o.AccountCorrelationRule.Get()) { - var ret SourceAccountCorrelationRule + var ret MultiHostSourcesAccountCorrelationRule return ret } return *o.AccountCorrelationRule.Get() @@ -320,7 +320,7 @@ func (o *Source) GetAccountCorrelationRule() SourceAccountCorrelationRule { // GetAccountCorrelationRuleOk returns a tuple with the AccountCorrelationRule field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned -func (o *Source) GetAccountCorrelationRuleOk() (*SourceAccountCorrelationRule, bool) { +func (o *Source) GetAccountCorrelationRuleOk() (*MultiHostSourcesAccountCorrelationRule, bool) { if o == nil { return nil, false } @@ -336,8 +336,8 @@ func (o *Source) HasAccountCorrelationRule() bool { return false } -// SetAccountCorrelationRule gets a reference to the given NullableSourceAccountCorrelationRule and assigns it to the AccountCorrelationRule field. -func (o *Source) SetAccountCorrelationRule(v SourceAccountCorrelationRule) { +// SetAccountCorrelationRule gets a reference to the given NullableMultiHostSourcesAccountCorrelationRule and assigns it to the AccountCorrelationRule field. +func (o *Source) SetAccountCorrelationRule(v MultiHostSourcesAccountCorrelationRule) { o.AccountCorrelationRule.Set(&v) } // SetAccountCorrelationRuleNil sets the value for AccountCorrelationRule to be an explicit nil @@ -393,9 +393,9 @@ func (o *Source) UnsetManagerCorrelationMapping() { } // GetManagerCorrelationRule returns the ManagerCorrelationRule field value if set, zero value otherwise (both if not set or set to explicit null). -func (o *Source) GetManagerCorrelationRule() SourceManagerCorrelationRule { +func (o *Source) GetManagerCorrelationRule() MultiHostSourcesManagerCorrelationRule { if o == nil || IsNil(o.ManagerCorrelationRule.Get()) { - var ret SourceManagerCorrelationRule + var ret MultiHostSourcesManagerCorrelationRule return ret } return *o.ManagerCorrelationRule.Get() @@ -404,7 +404,7 @@ func (o *Source) GetManagerCorrelationRule() SourceManagerCorrelationRule { // GetManagerCorrelationRuleOk returns a tuple with the ManagerCorrelationRule field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned -func (o *Source) GetManagerCorrelationRuleOk() (*SourceManagerCorrelationRule, bool) { +func (o *Source) GetManagerCorrelationRuleOk() (*MultiHostSourcesManagerCorrelationRule, bool) { if o == nil { return nil, false } @@ -420,8 +420,8 @@ func (o *Source) HasManagerCorrelationRule() bool { return false } -// SetManagerCorrelationRule gets a reference to the given NullableSourceManagerCorrelationRule and assigns it to the ManagerCorrelationRule field. -func (o *Source) SetManagerCorrelationRule(v SourceManagerCorrelationRule) { +// SetManagerCorrelationRule gets a reference to the given NullableMultiHostSourcesManagerCorrelationRule and assigns it to the ManagerCorrelationRule field. +func (o *Source) SetManagerCorrelationRule(v MultiHostSourcesManagerCorrelationRule) { o.ManagerCorrelationRule.Set(&v) } // SetManagerCorrelationRuleNil sets the value for ManagerCorrelationRule to be an explicit nil @@ -435,9 +435,9 @@ func (o *Source) UnsetManagerCorrelationRule() { } // GetBeforeProvisioningRule returns the BeforeProvisioningRule field value if set, zero value otherwise (both if not set or set to explicit null). -func (o *Source) GetBeforeProvisioningRule() SourceBeforeProvisioningRule { +func (o *Source) GetBeforeProvisioningRule() MultiHostSourcesBeforeProvisioningRule { if o == nil || IsNil(o.BeforeProvisioningRule.Get()) { - var ret SourceBeforeProvisioningRule + var ret MultiHostSourcesBeforeProvisioningRule return ret } return *o.BeforeProvisioningRule.Get() @@ -446,7 +446,7 @@ func (o *Source) GetBeforeProvisioningRule() SourceBeforeProvisioningRule { // GetBeforeProvisioningRuleOk returns a tuple with the BeforeProvisioningRule field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned -func (o *Source) GetBeforeProvisioningRuleOk() (*SourceBeforeProvisioningRule, bool) { +func (o *Source) GetBeforeProvisioningRuleOk() (*MultiHostSourcesBeforeProvisioningRule, bool) { if o == nil { return nil, false } @@ -462,8 +462,8 @@ func (o *Source) HasBeforeProvisioningRule() bool { return false } -// SetBeforeProvisioningRule gets a reference to the given NullableSourceBeforeProvisioningRule and assigns it to the BeforeProvisioningRule field. -func (o *Source) SetBeforeProvisioningRule(v SourceBeforeProvisioningRule) { +// SetBeforeProvisioningRule gets a reference to the given NullableMultiHostSourcesBeforeProvisioningRule and assigns it to the BeforeProvisioningRule field. +func (o *Source) SetBeforeProvisioningRule(v MultiHostSourcesBeforeProvisioningRule) { o.BeforeProvisioningRule.Set(&v) } // SetBeforeProvisioningRuleNil sets the value for BeforeProvisioningRule to be an explicit nil @@ -477,9 +477,9 @@ func (o *Source) UnsetBeforeProvisioningRule() { } // GetSchemas returns the Schemas field value if set, zero value otherwise. -func (o *Source) GetSchemas() []SourceSchemasInner { +func (o *Source) GetSchemas() []MultiHostSourcesSchemasInner { if o == nil || IsNil(o.Schemas) { - var ret []SourceSchemasInner + var ret []MultiHostSourcesSchemasInner return ret } return o.Schemas @@ -487,7 +487,7 @@ func (o *Source) GetSchemas() []SourceSchemasInner { // GetSchemasOk returns a tuple with the Schemas field value if set, nil otherwise // and a boolean to check if the value has been set. -func (o *Source) GetSchemasOk() ([]SourceSchemasInner, bool) { +func (o *Source) GetSchemasOk() ([]MultiHostSourcesSchemasInner, bool) { if o == nil || IsNil(o.Schemas) { return nil, false } @@ -503,15 +503,15 @@ func (o *Source) HasSchemas() bool { return false } -// SetSchemas gets a reference to the given []SourceSchemasInner and assigns it to the Schemas field. -func (o *Source) SetSchemas(v []SourceSchemasInner) { +// SetSchemas gets a reference to the given []MultiHostSourcesSchemasInner and assigns it to the Schemas field. +func (o *Source) SetSchemas(v []MultiHostSourcesSchemasInner) { o.Schemas = v } // GetPasswordPolicies returns the PasswordPolicies field value if set, zero value otherwise (both if not set or set to explicit null). -func (o *Source) GetPasswordPolicies() []SourcePasswordPoliciesInner { +func (o *Source) GetPasswordPolicies() []MultiHostSourcesPasswordPoliciesInner { if o == nil { - var ret []SourcePasswordPoliciesInner + var ret []MultiHostSourcesPasswordPoliciesInner return ret } return o.PasswordPolicies @@ -520,7 +520,7 @@ func (o *Source) GetPasswordPolicies() []SourcePasswordPoliciesInner { // GetPasswordPoliciesOk returns a tuple with the PasswordPolicies field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned -func (o *Source) GetPasswordPoliciesOk() ([]SourcePasswordPoliciesInner, bool) { +func (o *Source) GetPasswordPoliciesOk() ([]MultiHostSourcesPasswordPoliciesInner, bool) { if o == nil || IsNil(o.PasswordPolicies) { return nil, false } @@ -536,8 +536,8 @@ func (o *Source) HasPasswordPolicies() bool { return false } -// SetPasswordPolicies gets a reference to the given []SourcePasswordPoliciesInner and assigns it to the PasswordPolicies field. -func (o *Source) SetPasswordPolicies(v []SourcePasswordPoliciesInner) { +// SetPasswordPolicies gets a reference to the given []MultiHostSourcesPasswordPoliciesInner and assigns it to the PasswordPolicies field. +func (o *Source) SetPasswordPolicies(v []MultiHostSourcesPasswordPoliciesInner) { o.PasswordPolicies = v } @@ -758,9 +758,9 @@ func (o *Source) SetAuthoritative(v bool) { } // GetManagementWorkgroup returns the ManagementWorkgroup field value if set, zero value otherwise (both if not set or set to explicit null). -func (o *Source) GetManagementWorkgroup() SourceManagementWorkgroup { +func (o *Source) GetManagementWorkgroup() MultiHostIntegrationsManagementWorkgroup { if o == nil || IsNil(o.ManagementWorkgroup.Get()) { - var ret SourceManagementWorkgroup + var ret MultiHostIntegrationsManagementWorkgroup return ret } return *o.ManagementWorkgroup.Get() @@ -769,7 +769,7 @@ func (o *Source) GetManagementWorkgroup() SourceManagementWorkgroup { // GetManagementWorkgroupOk returns a tuple with the ManagementWorkgroup field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned -func (o *Source) GetManagementWorkgroupOk() (*SourceManagementWorkgroup, bool) { +func (o *Source) GetManagementWorkgroupOk() (*MultiHostIntegrationsManagementWorkgroup, bool) { if o == nil { return nil, false } @@ -785,8 +785,8 @@ func (o *Source) HasManagementWorkgroup() bool { return false } -// SetManagementWorkgroup gets a reference to the given NullableSourceManagementWorkgroup and assigns it to the ManagementWorkgroup field. -func (o *Source) SetManagementWorkgroup(v SourceManagementWorkgroup) { +// SetManagementWorkgroup gets a reference to the given NullableMultiHostIntegrationsManagementWorkgroup and assigns it to the ManagementWorkgroup field. +func (o *Source) SetManagementWorkgroup(v MultiHostIntegrationsManagementWorkgroup) { o.ManagementWorkgroup.Set(&v) } // SetManagementWorkgroupNil sets the value for ManagementWorkgroup to be an explicit nil diff --git a/api_beta/model_source_creation_errors.go b/api_beta/model_source_creation_errors.go new file mode 100644 index 000000000..c231f072e --- /dev/null +++ b/api_beta/model_source_creation_errors.go @@ -0,0 +1,357 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" + "time" +) + +// checks if the SourceCreationErrors type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &SourceCreationErrors{} + +// SourceCreationErrors struct for SourceCreationErrors +type SourceCreationErrors struct { + // Multi-Host Integration ID. + MultihostId *string `json:"multihost_id,omitempty"` + // Source's human-readable name. + SourceName *string `json:"source_name,omitempty"` + // Source's human-readable description. + SourceError *string `json:"source_error,omitempty"` + // Date-time when the source was created + Created *time.Time `json:"created,omitempty"` + // Date-time when the source was last modified. + Modified *time.Time `json:"modified,omitempty"` + // operation category (e.g. DELETE). + Operation NullableString `json:"operation,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _SourceCreationErrors SourceCreationErrors + +// NewSourceCreationErrors instantiates a new SourceCreationErrors object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewSourceCreationErrors() *SourceCreationErrors { + this := SourceCreationErrors{} + return &this +} + +// NewSourceCreationErrorsWithDefaults instantiates a new SourceCreationErrors object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewSourceCreationErrorsWithDefaults() *SourceCreationErrors { + this := SourceCreationErrors{} + return &this +} + +// GetMultihostId returns the MultihostId field value if set, zero value otherwise. +func (o *SourceCreationErrors) GetMultihostId() string { + if o == nil || IsNil(o.MultihostId) { + var ret string + return ret + } + return *o.MultihostId +} + +// GetMultihostIdOk returns a tuple with the MultihostId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *SourceCreationErrors) GetMultihostIdOk() (*string, bool) { + if o == nil || IsNil(o.MultihostId) { + return nil, false + } + return o.MultihostId, true +} + +// HasMultihostId returns a boolean if a field has been set. +func (o *SourceCreationErrors) HasMultihostId() bool { + if o != nil && !IsNil(o.MultihostId) { + return true + } + + return false +} + +// SetMultihostId gets a reference to the given string and assigns it to the MultihostId field. +func (o *SourceCreationErrors) SetMultihostId(v string) { + o.MultihostId = &v +} + +// GetSourceName returns the SourceName field value if set, zero value otherwise. +func (o *SourceCreationErrors) GetSourceName() string { + if o == nil || IsNil(o.SourceName) { + var ret string + return ret + } + return *o.SourceName +} + +// GetSourceNameOk returns a tuple with the SourceName field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *SourceCreationErrors) GetSourceNameOk() (*string, bool) { + if o == nil || IsNil(o.SourceName) { + return nil, false + } + return o.SourceName, true +} + +// HasSourceName returns a boolean if a field has been set. +func (o *SourceCreationErrors) HasSourceName() bool { + if o != nil && !IsNil(o.SourceName) { + return true + } + + return false +} + +// SetSourceName gets a reference to the given string and assigns it to the SourceName field. +func (o *SourceCreationErrors) SetSourceName(v string) { + o.SourceName = &v +} + +// GetSourceError returns the SourceError field value if set, zero value otherwise. +func (o *SourceCreationErrors) GetSourceError() string { + if o == nil || IsNil(o.SourceError) { + var ret string + return ret + } + return *o.SourceError +} + +// GetSourceErrorOk returns a tuple with the SourceError field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *SourceCreationErrors) GetSourceErrorOk() (*string, bool) { + if o == nil || IsNil(o.SourceError) { + return nil, false + } + return o.SourceError, true +} + +// HasSourceError returns a boolean if a field has been set. +func (o *SourceCreationErrors) HasSourceError() bool { + if o != nil && !IsNil(o.SourceError) { + return true + } + + return false +} + +// SetSourceError gets a reference to the given string and assigns it to the SourceError field. +func (o *SourceCreationErrors) SetSourceError(v string) { + o.SourceError = &v +} + +// GetCreated returns the Created field value if set, zero value otherwise. +func (o *SourceCreationErrors) GetCreated() time.Time { + if o == nil || IsNil(o.Created) { + var ret time.Time + return ret + } + return *o.Created +} + +// GetCreatedOk returns a tuple with the Created field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *SourceCreationErrors) GetCreatedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Created) { + return nil, false + } + return o.Created, true +} + +// HasCreated returns a boolean if a field has been set. +func (o *SourceCreationErrors) HasCreated() bool { + if o != nil && !IsNil(o.Created) { + return true + } + + return false +} + +// SetCreated gets a reference to the given time.Time and assigns it to the Created field. +func (o *SourceCreationErrors) SetCreated(v time.Time) { + o.Created = &v +} + +// GetModified returns the Modified field value if set, zero value otherwise. +func (o *SourceCreationErrors) GetModified() time.Time { + if o == nil || IsNil(o.Modified) { + var ret time.Time + return ret + } + return *o.Modified +} + +// GetModifiedOk returns a tuple with the Modified field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *SourceCreationErrors) GetModifiedOk() (*time.Time, bool) { + if o == nil || IsNil(o.Modified) { + return nil, false + } + return o.Modified, true +} + +// HasModified returns a boolean if a field has been set. +func (o *SourceCreationErrors) HasModified() bool { + if o != nil && !IsNil(o.Modified) { + return true + } + + return false +} + +// SetModified gets a reference to the given time.Time and assigns it to the Modified field. +func (o *SourceCreationErrors) SetModified(v time.Time) { + o.Modified = &v +} + +// GetOperation returns the Operation field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *SourceCreationErrors) GetOperation() string { + if o == nil || IsNil(o.Operation.Get()) { + var ret string + return ret + } + return *o.Operation.Get() +} + +// GetOperationOk returns a tuple with the Operation field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *SourceCreationErrors) GetOperationOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.Operation.Get(), o.Operation.IsSet() +} + +// HasOperation returns a boolean if a field has been set. +func (o *SourceCreationErrors) HasOperation() bool { + if o != nil && o.Operation.IsSet() { + return true + } + + return false +} + +// SetOperation gets a reference to the given NullableString and assigns it to the Operation field. +func (o *SourceCreationErrors) SetOperation(v string) { + o.Operation.Set(&v) +} +// SetOperationNil sets the value for Operation to be an explicit nil +func (o *SourceCreationErrors) SetOperationNil() { + o.Operation.Set(nil) +} + +// UnsetOperation ensures that no value is present for Operation, not even an explicit nil +func (o *SourceCreationErrors) UnsetOperation() { + o.Operation.Unset() +} + +func (o SourceCreationErrors) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o SourceCreationErrors) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.MultihostId) { + toSerialize["multihost_id"] = o.MultihostId + } + if !IsNil(o.SourceName) { + toSerialize["source_name"] = o.SourceName + } + if !IsNil(o.SourceError) { + toSerialize["source_error"] = o.SourceError + } + if !IsNil(o.Created) { + toSerialize["created"] = o.Created + } + if !IsNil(o.Modified) { + toSerialize["modified"] = o.Modified + } + if o.Operation.IsSet() { + toSerialize["operation"] = o.Operation.Get() + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *SourceCreationErrors) UnmarshalJSON(data []byte) (err error) { + varSourceCreationErrors := _SourceCreationErrors{} + + err = json.Unmarshal(data, &varSourceCreationErrors) + + if err != nil { + return err + } + + *o = SourceCreationErrors(varSourceCreationErrors) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "multihost_id") + delete(additionalProperties, "source_name") + delete(additionalProperties, "source_error") + delete(additionalProperties, "created") + delete(additionalProperties, "modified") + delete(additionalProperties, "operation") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableSourceCreationErrors struct { + value *SourceCreationErrors + isSet bool +} + +func (v NullableSourceCreationErrors) Get() *SourceCreationErrors { + return v.value +} + +func (v *NullableSourceCreationErrors) Set(val *SourceCreationErrors) { + v.value = val + v.isSet = true +} + +func (v NullableSourceCreationErrors) IsSet() bool { + return v.isSet +} + +func (v *NullableSourceCreationErrors) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableSourceCreationErrors(val *SourceCreationErrors) *NullableSourceCreationErrors { + return &NullableSourceCreationErrors{value: val, isSet: true} +} + +func (v NullableSourceCreationErrors) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableSourceCreationErrors) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_source_schemas_inner.go b/api_beta/model_source_schemas_inner.go deleted file mode 100644 index aea25fdaf..000000000 --- a/api_beta/model_source_schemas_inner.go +++ /dev/null @@ -1,232 +0,0 @@ -/* -Identity Security Cloud Beta API - -Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. - -API version: 3.1.0-beta -*/ - -// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. - -package api_beta - -import ( - "encoding/json" -) - -// checks if the SourceSchemasInner type satisfies the MappedNullable interface at compile time -var _ MappedNullable = &SourceSchemasInner{} - -// SourceSchemasInner struct for SourceSchemasInner -type SourceSchemasInner struct { - // Type of object being referenced. - Type *string `json:"type,omitempty"` - // Schema ID. - Id *string `json:"id,omitempty"` - // Schema's human-readable display name. - Name *string `json:"name,omitempty"` - AdditionalProperties map[string]interface{} -} - -type _SourceSchemasInner SourceSchemasInner - -// NewSourceSchemasInner instantiates a new SourceSchemasInner object -// This constructor will assign default values to properties that have it defined, -// and makes sure properties required by API are set, but the set of arguments -// will change when the set of required properties is changed -func NewSourceSchemasInner() *SourceSchemasInner { - this := SourceSchemasInner{} - return &this -} - -// NewSourceSchemasInnerWithDefaults instantiates a new SourceSchemasInner object -// This constructor will only assign default values to properties that have it defined, -// but it doesn't guarantee that properties required by API are set -func NewSourceSchemasInnerWithDefaults() *SourceSchemasInner { - this := SourceSchemasInner{} - return &this -} - -// GetType returns the Type field value if set, zero value otherwise. -func (o *SourceSchemasInner) GetType() string { - if o == nil || IsNil(o.Type) { - var ret string - return ret - } - return *o.Type -} - -// GetTypeOk returns a tuple with the Type field value if set, nil otherwise -// and a boolean to check if the value has been set. -func (o *SourceSchemasInner) GetTypeOk() (*string, bool) { - if o == nil || IsNil(o.Type) { - return nil, false - } - return o.Type, true -} - -// HasType returns a boolean if a field has been set. -func (o *SourceSchemasInner) HasType() bool { - if o != nil && !IsNil(o.Type) { - return true - } - - return false -} - -// SetType gets a reference to the given string and assigns it to the Type field. -func (o *SourceSchemasInner) SetType(v string) { - o.Type = &v -} - -// GetId returns the Id field value if set, zero value otherwise. -func (o *SourceSchemasInner) GetId() string { - if o == nil || IsNil(o.Id) { - var ret string - return ret - } - return *o.Id -} - -// GetIdOk returns a tuple with the Id field value if set, nil otherwise -// and a boolean to check if the value has been set. -func (o *SourceSchemasInner) GetIdOk() (*string, bool) { - if o == nil || IsNil(o.Id) { - return nil, false - } - return o.Id, true -} - -// HasId returns a boolean if a field has been set. -func (o *SourceSchemasInner) HasId() bool { - if o != nil && !IsNil(o.Id) { - return true - } - - return false -} - -// SetId gets a reference to the given string and assigns it to the Id field. -func (o *SourceSchemasInner) SetId(v string) { - o.Id = &v -} - -// GetName returns the Name field value if set, zero value otherwise. -func (o *SourceSchemasInner) GetName() string { - if o == nil || IsNil(o.Name) { - var ret string - return ret - } - return *o.Name -} - -// GetNameOk returns a tuple with the Name field value if set, nil otherwise -// and a boolean to check if the value has been set. -func (o *SourceSchemasInner) GetNameOk() (*string, bool) { - if o == nil || IsNil(o.Name) { - return nil, false - } - return o.Name, true -} - -// HasName returns a boolean if a field has been set. -func (o *SourceSchemasInner) HasName() bool { - if o != nil && !IsNil(o.Name) { - return true - } - - return false -} - -// SetName gets a reference to the given string and assigns it to the Name field. -func (o *SourceSchemasInner) SetName(v string) { - o.Name = &v -} - -func (o SourceSchemasInner) MarshalJSON() ([]byte, error) { - toSerialize,err := o.ToMap() - if err != nil { - return []byte{}, err - } - return json.Marshal(toSerialize) -} - -func (o SourceSchemasInner) ToMap() (map[string]interface{}, error) { - toSerialize := map[string]interface{}{} - if !IsNil(o.Type) { - toSerialize["type"] = o.Type - } - if !IsNil(o.Id) { - toSerialize["id"] = o.Id - } - if !IsNil(o.Name) { - toSerialize["name"] = o.Name - } - - for key, value := range o.AdditionalProperties { - toSerialize[key] = value - } - - return toSerialize, nil -} - -func (o *SourceSchemasInner) UnmarshalJSON(data []byte) (err error) { - varSourceSchemasInner := _SourceSchemasInner{} - - err = json.Unmarshal(data, &varSourceSchemasInner) - - if err != nil { - return err - } - - *o = SourceSchemasInner(varSourceSchemasInner) - - additionalProperties := make(map[string]interface{}) - - if err = json.Unmarshal(data, &additionalProperties); err == nil { - delete(additionalProperties, "type") - delete(additionalProperties, "id") - delete(additionalProperties, "name") - o.AdditionalProperties = additionalProperties - } - - return err -} - -type NullableSourceSchemasInner struct { - value *SourceSchemasInner - isSet bool -} - -func (v NullableSourceSchemasInner) Get() *SourceSchemasInner { - return v.value -} - -func (v *NullableSourceSchemasInner) Set(val *SourceSchemasInner) { - v.value = val - v.isSet = true -} - -func (v NullableSourceSchemasInner) IsSet() bool { - return v.isSet -} - -func (v *NullableSourceSchemasInner) Unset() { - v.value = nil - v.isSet = false -} - -func NewNullableSourceSchemasInner(val *SourceSchemasInner) *NullableSourceSchemasInner { - return &NullableSourceSchemasInner{value: val, isSet: true} -} - -func (v NullableSourceSchemasInner) MarshalJSON() ([]byte, error) { - return json.Marshal(v.value) -} - -func (v *NullableSourceSchemasInner) UnmarshalJSON(src []byte) error { - v.isSet = true - return json.Unmarshal(src, &v.value) -} - - diff --git a/api_beta/model_test_source_connection_multihost_200_response.go b/api_beta/model_test_source_connection_multihost_200_response.go new file mode 100644 index 000000000..a9d916751 --- /dev/null +++ b/api_beta/model_test_source_connection_multihost_200_response.go @@ -0,0 +1,308 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" +) + +// checks if the TestSourceConnectionMultihost200Response type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &TestSourceConnectionMultihost200Response{} + +// TestSourceConnectionMultihost200Response struct for TestSourceConnectionMultihost200Response +type TestSourceConnectionMultihost200Response struct { + // Source's test connection status. + Success *bool `json:"success,omitempty"` + // Source's test connection message. + Message *string `json:"message,omitempty"` + // Source's test connection timing. + Timing *int32 `json:"timing,omitempty"` + // Source's human-readable result type. + ResultType map[string]interface{} `json:"resultType,omitempty"` + // Source's human-readable test connection details. + TestConnectionDetails *string `json:"testConnectionDetails,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _TestSourceConnectionMultihost200Response TestSourceConnectionMultihost200Response + +// NewTestSourceConnectionMultihost200Response instantiates a new TestSourceConnectionMultihost200Response object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewTestSourceConnectionMultihost200Response() *TestSourceConnectionMultihost200Response { + this := TestSourceConnectionMultihost200Response{} + return &this +} + +// NewTestSourceConnectionMultihost200ResponseWithDefaults instantiates a new TestSourceConnectionMultihost200Response object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewTestSourceConnectionMultihost200ResponseWithDefaults() *TestSourceConnectionMultihost200Response { + this := TestSourceConnectionMultihost200Response{} + return &this +} + +// GetSuccess returns the Success field value if set, zero value otherwise. +func (o *TestSourceConnectionMultihost200Response) GetSuccess() bool { + if o == nil || IsNil(o.Success) { + var ret bool + return ret + } + return *o.Success +} + +// GetSuccessOk returns a tuple with the Success field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *TestSourceConnectionMultihost200Response) GetSuccessOk() (*bool, bool) { + if o == nil || IsNil(o.Success) { + return nil, false + } + return o.Success, true +} + +// HasSuccess returns a boolean if a field has been set. +func (o *TestSourceConnectionMultihost200Response) HasSuccess() bool { + if o != nil && !IsNil(o.Success) { + return true + } + + return false +} + +// SetSuccess gets a reference to the given bool and assigns it to the Success field. +func (o *TestSourceConnectionMultihost200Response) SetSuccess(v bool) { + o.Success = &v +} + +// GetMessage returns the Message field value if set, zero value otherwise. +func (o *TestSourceConnectionMultihost200Response) GetMessage() string { + if o == nil || IsNil(o.Message) { + var ret string + return ret + } + return *o.Message +} + +// GetMessageOk returns a tuple with the Message field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *TestSourceConnectionMultihost200Response) GetMessageOk() (*string, bool) { + if o == nil || IsNil(o.Message) { + return nil, false + } + return o.Message, true +} + +// HasMessage returns a boolean if a field has been set. +func (o *TestSourceConnectionMultihost200Response) HasMessage() bool { + if o != nil && !IsNil(o.Message) { + return true + } + + return false +} + +// SetMessage gets a reference to the given string and assigns it to the Message field. +func (o *TestSourceConnectionMultihost200Response) SetMessage(v string) { + o.Message = &v +} + +// GetTiming returns the Timing field value if set, zero value otherwise. +func (o *TestSourceConnectionMultihost200Response) GetTiming() int32 { + if o == nil || IsNil(o.Timing) { + var ret int32 + return ret + } + return *o.Timing +} + +// GetTimingOk returns a tuple with the Timing field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *TestSourceConnectionMultihost200Response) GetTimingOk() (*int32, bool) { + if o == nil || IsNil(o.Timing) { + return nil, false + } + return o.Timing, true +} + +// HasTiming returns a boolean if a field has been set. +func (o *TestSourceConnectionMultihost200Response) HasTiming() bool { + if o != nil && !IsNil(o.Timing) { + return true + } + + return false +} + +// SetTiming gets a reference to the given int32 and assigns it to the Timing field. +func (o *TestSourceConnectionMultihost200Response) SetTiming(v int32) { + o.Timing = &v +} + +// GetResultType returns the ResultType field value if set, zero value otherwise. +func (o *TestSourceConnectionMultihost200Response) GetResultType() map[string]interface{} { + if o == nil || IsNil(o.ResultType) { + var ret map[string]interface{} + return ret + } + return o.ResultType +} + +// GetResultTypeOk returns a tuple with the ResultType field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *TestSourceConnectionMultihost200Response) GetResultTypeOk() (map[string]interface{}, bool) { + if o == nil || IsNil(o.ResultType) { + return map[string]interface{}{}, false + } + return o.ResultType, true +} + +// HasResultType returns a boolean if a field has been set. +func (o *TestSourceConnectionMultihost200Response) HasResultType() bool { + if o != nil && !IsNil(o.ResultType) { + return true + } + + return false +} + +// SetResultType gets a reference to the given map[string]interface{} and assigns it to the ResultType field. +func (o *TestSourceConnectionMultihost200Response) SetResultType(v map[string]interface{}) { + o.ResultType = v +} + +// GetTestConnectionDetails returns the TestConnectionDetails field value if set, zero value otherwise. +func (o *TestSourceConnectionMultihost200Response) GetTestConnectionDetails() string { + if o == nil || IsNil(o.TestConnectionDetails) { + var ret string + return ret + } + return *o.TestConnectionDetails +} + +// GetTestConnectionDetailsOk returns a tuple with the TestConnectionDetails field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *TestSourceConnectionMultihost200Response) GetTestConnectionDetailsOk() (*string, bool) { + if o == nil || IsNil(o.TestConnectionDetails) { + return nil, false + } + return o.TestConnectionDetails, true +} + +// HasTestConnectionDetails returns a boolean if a field has been set. +func (o *TestSourceConnectionMultihost200Response) HasTestConnectionDetails() bool { + if o != nil && !IsNil(o.TestConnectionDetails) { + return true + } + + return false +} + +// SetTestConnectionDetails gets a reference to the given string and assigns it to the TestConnectionDetails field. +func (o *TestSourceConnectionMultihost200Response) SetTestConnectionDetails(v string) { + o.TestConnectionDetails = &v +} + +func (o TestSourceConnectionMultihost200Response) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o TestSourceConnectionMultihost200Response) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.Success) { + toSerialize["success"] = o.Success + } + if !IsNil(o.Message) { + toSerialize["message"] = o.Message + } + if !IsNil(o.Timing) { + toSerialize["timing"] = o.Timing + } + if !IsNil(o.ResultType) { + toSerialize["resultType"] = o.ResultType + } + if !IsNil(o.TestConnectionDetails) { + toSerialize["testConnectionDetails"] = o.TestConnectionDetails + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *TestSourceConnectionMultihost200Response) UnmarshalJSON(data []byte) (err error) { + varTestSourceConnectionMultihost200Response := _TestSourceConnectionMultihost200Response{} + + err = json.Unmarshal(data, &varTestSourceConnectionMultihost200Response) + + if err != nil { + return err + } + + *o = TestSourceConnectionMultihost200Response(varTestSourceConnectionMultihost200Response) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "success") + delete(additionalProperties, "message") + delete(additionalProperties, "timing") + delete(additionalProperties, "resultType") + delete(additionalProperties, "testConnectionDetails") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableTestSourceConnectionMultihost200Response struct { + value *TestSourceConnectionMultihost200Response + isSet bool +} + +func (v NullableTestSourceConnectionMultihost200Response) Get() *TestSourceConnectionMultihost200Response { + return v.value +} + +func (v *NullableTestSourceConnectionMultihost200Response) Set(val *TestSourceConnectionMultihost200Response) { + v.value = val + v.isSet = true +} + +func (v NullableTestSourceConnectionMultihost200Response) IsSet() bool { + return v.isSet +} + +func (v *NullableTestSourceConnectionMultihost200Response) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableTestSourceConnectionMultihost200Response(val *TestSourceConnectionMultihost200Response) *NullableTestSourceConnectionMultihost200Response { + return &NullableTestSourceConnectionMultihost200Response{value: val, isSet: true} +} + +func (v NullableTestSourceConnectionMultihost200Response) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableTestSourceConnectionMultihost200Response) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/model_update_multi_host_sources_request.go b/api_beta/model_update_multi_host_sources_request.go new file mode 100644 index 000000000..4d3aebe95 --- /dev/null +++ b/api_beta/model_update_multi_host_sources_request.go @@ -0,0 +1,156 @@ +/* +Identity Security Cloud Beta API + +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. These APIs are in beta and are subject to change. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +API version: 3.1.0-beta +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package api_beta + +import ( + "encoding/json" +) + +// checks if the UpdateMultiHostSourcesRequest type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &UpdateMultiHostSourcesRequest{} + +// UpdateMultiHostSourcesRequest A JSONPatch document as defined by [RFC 6902 - JSON Patch](https://tools.ietf.org/html/rfc6902). Only `replace` operations are accepted by this endpoint. +type UpdateMultiHostSourcesRequest struct { + // Operations to be applied. + Operations []JsonPatchOperation `json:"operations,omitempty"` + AdditionalProperties map[string]interface{} +} + +type _UpdateMultiHostSourcesRequest UpdateMultiHostSourcesRequest + +// NewUpdateMultiHostSourcesRequest instantiates a new UpdateMultiHostSourcesRequest object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewUpdateMultiHostSourcesRequest() *UpdateMultiHostSourcesRequest { + this := UpdateMultiHostSourcesRequest{} + return &this +} + +// NewUpdateMultiHostSourcesRequestWithDefaults instantiates a new UpdateMultiHostSourcesRequest object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewUpdateMultiHostSourcesRequestWithDefaults() *UpdateMultiHostSourcesRequest { + this := UpdateMultiHostSourcesRequest{} + return &this +} + +// GetOperations returns the Operations field value if set, zero value otherwise. +func (o *UpdateMultiHostSourcesRequest) GetOperations() []JsonPatchOperation { + if o == nil || IsNil(o.Operations) { + var ret []JsonPatchOperation + return ret + } + return o.Operations +} + +// GetOperationsOk returns a tuple with the Operations field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *UpdateMultiHostSourcesRequest) GetOperationsOk() ([]JsonPatchOperation, bool) { + if o == nil || IsNil(o.Operations) { + return nil, false + } + return o.Operations, true +} + +// HasOperations returns a boolean if a field has been set. +func (o *UpdateMultiHostSourcesRequest) HasOperations() bool { + if o != nil && !IsNil(o.Operations) { + return true + } + + return false +} + +// SetOperations gets a reference to the given []JsonPatchOperation and assigns it to the Operations field. +func (o *UpdateMultiHostSourcesRequest) SetOperations(v []JsonPatchOperation) { + o.Operations = v +} + +func (o UpdateMultiHostSourcesRequest) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o UpdateMultiHostSourcesRequest) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.Operations) { + toSerialize["operations"] = o.Operations + } + + for key, value := range o.AdditionalProperties { + toSerialize[key] = value + } + + return toSerialize, nil +} + +func (o *UpdateMultiHostSourcesRequest) UnmarshalJSON(data []byte) (err error) { + varUpdateMultiHostSourcesRequest := _UpdateMultiHostSourcesRequest{} + + err = json.Unmarshal(data, &varUpdateMultiHostSourcesRequest) + + if err != nil { + return err + } + + *o = UpdateMultiHostSourcesRequest(varUpdateMultiHostSourcesRequest) + + additionalProperties := make(map[string]interface{}) + + if err = json.Unmarshal(data, &additionalProperties); err == nil { + delete(additionalProperties, "operations") + o.AdditionalProperties = additionalProperties + } + + return err +} + +type NullableUpdateMultiHostSourcesRequest struct { + value *UpdateMultiHostSourcesRequest + isSet bool +} + +func (v NullableUpdateMultiHostSourcesRequest) Get() *UpdateMultiHostSourcesRequest { + return v.value +} + +func (v *NullableUpdateMultiHostSourcesRequest) Set(val *UpdateMultiHostSourcesRequest) { + v.value = val + v.isSet = true +} + +func (v NullableUpdateMultiHostSourcesRequest) IsSet() bool { + return v.isSet +} + +func (v *NullableUpdateMultiHostSourcesRequest) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableUpdateMultiHostSourcesRequest(val *UpdateMultiHostSourcesRequest) *NullableUpdateMultiHostSourcesRequest { + return &NullableUpdateMultiHostSourcesRequest{value: val, isSet: true} +} + +func (v NullableUpdateMultiHostSourcesRequest) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableUpdateMultiHostSourcesRequest) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/api_beta/test/api_multi_host_integration_test.go b/api_beta/test/api_multi_host_integration_test.go new file mode 100644 index 000000000..59a1dfbb3 --- /dev/null +++ b/api_beta/test/api_multi_host_integration_test.go @@ -0,0 +1,196 @@ +/* +Identity Security Cloud Beta API + +Testing MultiHostIntegrationAPIService + +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); + +package api_beta + +import ( + "context" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "testing" + openapiclient "github.com/sailpoint-oss/golang-sdk/v2" +) + +func Test_api_beta_MultiHostIntegrationAPIService(t *testing.T) { + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + + t.Run("Test MultiHostIntegrationAPIService CreateMultiHostIntegration", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + resp, httpRes, err := apiClient.MultiHostIntegrationAPI.CreateMultiHostIntegration(context.Background()).Execute() + + require.Nil(t, err) + require.NotNil(t, resp) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService CreateSourcesWithinMultiHost", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + var id string + + httpRes, err := apiClient.MultiHostIntegrationAPI.CreateSourcesWithinMultiHost(context.Background(), id).Execute() + + require.Nil(t, err) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService DeleteMultiHost", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + var id string + + httpRes, err := apiClient.MultiHostIntegrationAPI.DeleteMultiHost(context.Background(), id).Execute() + + require.Nil(t, err) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService GetAcctAggregationGroups", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + var multiHostId string + + resp, httpRes, err := apiClient.MultiHostIntegrationAPI.GetAcctAggregationGroups(context.Background(), multiHostId).Execute() + + require.Nil(t, err) + require.NotNil(t, resp) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService GetEntitlementAggregationGroups", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + var multiHostId string + + resp, httpRes, err := apiClient.MultiHostIntegrationAPI.GetEntitlementAggregationGroups(context.Background(), multiHostId).Execute() + + require.Nil(t, err) + require.NotNil(t, resp) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService GetMultiHostIntegrations", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + var id string + + resp, httpRes, err := apiClient.MultiHostIntegrationAPI.GetMultiHostIntegrations(context.Background(), id).Execute() + + require.Nil(t, err) + require.NotNil(t, resp) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService GetMultiHostIntegrationsList", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + resp, httpRes, err := apiClient.MultiHostIntegrationAPI.GetMultiHostIntegrationsList(context.Background()).Execute() + + require.Nil(t, err) + require.NotNil(t, resp) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService GetMultihostIntegrationTypes", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + resp, httpRes, err := apiClient.MultiHostIntegrationAPI.GetMultihostIntegrationTypes(context.Background()).Execute() + + require.Nil(t, err) + require.NotNil(t, resp) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService GetSourcesWithinMultiHost", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + resp, httpRes, err := apiClient.MultiHostIntegrationAPI.GetSourcesWithinMultiHost(context.Background()).Execute() + + require.Nil(t, err) + require.NotNil(t, resp) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService GetSourcesWithinMultiHost_1", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + var multiHostId string + + resp, httpRes, err := apiClient.MultiHostIntegrationAPI.GetSourcesWithinMultiHost_0(context.Background(), multiHostId).Execute() + + require.Nil(t, err) + require.NotNil(t, resp) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService TestConnectionMultiHostSources", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + var multihostId string + + httpRes, err := apiClient.MultiHostIntegrationAPI.TestConnectionMultiHostSources(context.Background(), multihostId).Execute() + + require.Nil(t, err) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService TestSourceConnectionMultihost", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + var multihostId string + var sourceId string + + resp, httpRes, err := apiClient.MultiHostIntegrationAPI.TestSourceConnectionMultihost(context.Background(), multihostId, sourceId).Execute() + + require.Nil(t, err) + require.NotNil(t, resp) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + + t.Run("Test MultiHostIntegrationAPIService UpdateMultiHostSources", func(t *testing.T) { + + t.Skip("skip test") // remove to run test + + var multihostId string + + httpRes, err := apiClient.MultiHostIntegrationAPI.UpdateMultiHostSources(context.Background(), multihostId).Execute() + + require.Nil(t, err) + assert.Equal(t, 200, httpRes.StatusCode) + + }) + +}