# SailPoint BMC Helix Remedyforce Service Desk Connector Documentation > BMC Helix Remedyforce Service Desk Connector Documentation # Documentation # Configuring SailPoint for BMC Helix Remedyforce Service Desk Configure the following items for your BMC Helix Remedyforce Service Desk integration: - [Ticket Creation](<#ticket-creation>) - [Status Mapping](<#status-mapping>) - [Requester Source](<#requester-source>) On the Summary page you can review the general settings and parameters for the connectivity and authentication. ## Ticket Creation The information provided in this section is used to create a ticket on the managed BMC Helix Remedyforce Service Desk system. You can customize this information by adding fields as required. **Supported Ticket Type:** - Service Request Service Request Ticket creation includes two parts: - Answers - Fields ### Answers > [!NOTE] > > **Screenshot** > > [![Ticket Creation Answers]()]() Answers include the following attributes: - **QuestionId**: Request Definition fulfillment input id. - **Values**: Value of the fulfillment input id field. ### Fields > [!NOTE] > > **Screenshot** > > [![Ticket Creation Fields]()]() Fields include the following details: - **Request Definition ID**: This requires the BMC Helix Remedyforce SDIM Request Definition Template ID which can be retrieved through workbench by query on `BMCServiceDesk__SRM_RequestDefinition__c` object. - **Client**: The ID of the user for whom you are creating the request. - To add a field, select **Add Field**. Select the field type and enter the required information based on the type, then select **Save**. Options are Single Value, Number, Multi Valued Field, Grouped Key-Value Pair, and Raw JSON. Edit the fields as needed by selecting **Edit**. #### Advanced Properties To add advanced properties to the details of the ticket, select **View Advanced Properties**. > [!NOTE] > > **Screenshot** > > [![Advanced Properties]()]() 1. Enter the **Request Root Element Type**. For example: `JSONObject`. 2. Enter the resource used for the request ticket in the **Resource** field. Do not include the base URL for the instance in the value. Provide only the remaining directories for the endpoint. For example: `/services/apexrest/BMCServiceDesk/1.0/ServiceRequest`. 3. Enter the JSON path expression that indicates the location of the ticket number in the **Response Element** field. For example: `$.Result.['Number']`. > [!NOTE] > > The ticket number generated on the Service Desk system for the corresponding provisioning action can be seen under **Search \> Account Activity** details of the identity. For more information, refer to [Account Activity Using Search](). ## Status Mapping > [!NOTE] > > **Screenshot** > > [![Status Mapping]()]() Map the status of the tickets in SailPoint to the corresponding BMC Helix Remedyforce status. Customize the status map to meet your needs by adding or deleting as needed. Select **Add Status** to add new rows, and select the trash can icon to remove those that are no longer needed. For the **Identity Security Cloud Status**, select from the drop-down list, Failed, Committed, or Queued. The **BMC Helix Remedyforce SDIM Status** can be whatever is required. ### Status Mapping Advanced Properties > [!NOTE] > > **Screenshot** > > [![Status Mapping Advanced Properties]()]() **Resource**: REST endpoint used to read the ticket. Do not provide the base URL in the value, the base URL is appended to this endpoint value. BMC Helix Remedyforce Service Desk: ```text /services/apexrest/BMCServiceDesk/1.0/ServiceRequest/SR$ticketId ``` **Response Element**: A JSON path expression that identifies the ticket number in the response from the REST endpoint. For example: ```text $.Result.Fields[10].Value ``` ## Requester Source > [!NOTE] > > **Screenshot** > > [![Requester Source]()]() In the **Requester Source** dropdown, select the source name through which BMC Helix Remedyforce Service Desk system's users are aggregated. # Connecting SailPoint and BMC Helix Remedyforce Service Desk **To create the connection:** 1. Sign in to **SailPoint \> Admin interface**. 2. Select **Connections \> Service Desk**. The Service Desk connections page displays. 3. Select **Create**, and then provide the required information on the [General Settings](<#general-settings>) page. 4. Select **Continue**. The Configure page appears. 5. Provide the [Connectivity and Authentication](<#connectivity-and-authentication>) information on the Configure page. 6. Provide the [Ticket Creation]() information on the Configure page. 7. Provide the [Status Mapping]() information on the Configure page. 8. Provide the [Requester Source]() information on the Configure page. 9. Select **Continue** to save the configuration and review the Summary of the configuration. If the Summary is satisfactory, select **Create**. ## General Settings The following are the steps to set up your BMC Helix Remedyforce Service Desk integration: > [!NOTE] > > **Screenshot** > > [![General Settings]()]() > [!NOTE] > > Ensure that the name and description of each connection are unique. Because you can configure multiple source types to use this connection, you should specify the sources in the description. The tickets for those sources will be processed on the managed system while the status of the tickets is synchronized in SailPoint. 1. Enter a unique **Name** for the integration that you are setting up. 2. Enter a unique **Description** for the integration. The description will help you identify the associated sources and tasks associated with an integration. 3. Select BMC Helix Remedyforce Service Desk for the **Integration Type**. 4. Select **Incident** in the **Ticket Type** dropdown list. 5. Select the Connection Type: - [VA-Based Connection Type](<#va-based-connection-type>) - Select the **VA-Based** connection type if you want to use a Virtual Appliance Cluster. - [SaaS Connection Type](<#saas-connection-type>) - Select the **SaaS** connection type if you want to create a SaaS application without using a Virtual Appliance Cluster. > **Notes** > > - SaaS Connection types don't support Credential Providers. > - Once you create an integration, you cannot edit the connection type. 6. (Optional) If Credential Providers are supported for this integration, you can select **Use a Credential Provider** to use a credential provider configured in your tenant. 7. Enter the name of the **Integration Owner**. ### VA-Based Connection Type > [!NOTE] > > **Screenshot** > > [![VA-Based Connection Type]()]() 1. Select **VA-Based** connection type if you want to use a Virtual Appliance Cluster. 2. Select **Save**. ### SaaS Connection Type > [!NOTE] > > **Screenshot** > > [![SaaS Connection Type]()]() 1. Select **SaaS** connection type if you want to create a SaaS application without using a Virtual Appliance Cluster. > [!NOTE] > > When you select the SaaS connection type, the [Enable Debug Logging](<#administrator-settings>) feature is available. It is only supported for Service Desk SaaS integration. #### Administrator Settings > [!NOTE] > > **Screenshot** > > [![Administrator Settings]()]() 1. Select the **Enable Debug Logging** checkbox to enable the integration to create and send debug log files to SailPoint Support to help troubleshoot issues. 2. If the **Enable Debug Logging** feature is needed, please contact SailPoint. > **Note** > > **Enable Debug Logging** should not be enabled without SailPoint guidance. ### Sources > [!NOTE] > > **Screenshot** > > [![Sources]()]() In the **Sources** dropdown list, select sources to configure from the available sources. For each source you want to integrate with the BMC Helix Remedyforce Service Desk system, verify that it is configured for provisioning. > [!TIP] > > Edit the **Description** field for these sources to indicate they are used in the BMC Helix Remedyforce Service Desk integration. ## Connectivity and Authentication BMC Helix Remedyforce SDIM supports SessionID and OAuth2 as Authentication Types. > [!NOTE] > > **Screenshot** > > [![Connectivity and Authentication]()]() 1. In the **URL** field, enter the URL of the source system you want to integrate with. 2. Select **SessionID** or **OAuth2** for Authentication Type. 3. Complete the authentication steps: - [SessionID Authentication](<#sessionid-authentication>) - [OAuth2 Authentication](<#oauth2-authentication>) ### SessionID Authentication > [!NOTE] > > **Screenshot** > > [![SessionID Authentication]()]() 1. Enter the **Username** and **Password** of the BMC Helix Remedyforce admin user. 2. In the **Token URL** field, enter the URL required for SessionID authentication. For example, `https://login.salesforce.com/services/Soap/u/35.0/`. ### OAuth2 Authentication > [!NOTE] > > **Screenshot** > > [![OAuth2 Authentication]()]() 1. In the **Grant Type** drop-down list, select **REFRESH\_TOKEN**. 2. In the **Token URL** field, enter the URL required for OAuth2 authentication. For example, `https:///services/oauth2/token`. 3. In the **Client ID** and **Client Secret** fields, enter the values of the connected app. > [!NOTE] > > For more information, visit the [Help And Training Community]() for Creating Connected Apps. # Integrating SailPoint with BMC Helix Remedyforce Service Desk > [!NOTE] > > **Integration** > > This is an integration and requires additional licensing or subscriptions to utilize it. For more information, contact your customer success manager. SailPoint's BMC Helix Remedyforce Service Desk connector integrates with BMC Helix Remedyforce for service to bring the BMC Helix Remedyforce experience to SailPoint where the users can raise and track service desk tickets to their logical closure without leaving SailPoint. > [!NOTE] > > **Notes** > > - Currently, the BMC Helix Remedyforce Service Desk Integration supports only Service Request ticket type. > [!NOTE] > > To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the [SaaS Release Notes]() page. ## Supported Features SailPoint's BMC Helix Remedyforce Service Desk supports the following features: - Creation of tickets for manual provisioning operations and status check. - Synchronization of ticket status between SailPoint's BMC Helix Remedyforce Service Desk Integration Module (SDIM) and the BMC Helix Remedyforce Service Desk system. - The supported operations are: - List - View - Create - Edit/Update - Delete - Retry Mechanism for check ticket status failure. > [!NOTE] > > The BMC Helix Remedyforce Service Desk Integration can be configured as a [SaaS Connection Type]() for SaaS connectivity that doesn't require a Virtual Appliance Cluster. ## Prerequisites > [!IMPORTANT] > > For Service Desk Integration Module to function properly, ensure that the feature flag `GOV_DISABLE_PLAN_INITIALIZER` is set to `true` for your organization. For more information, reach out to [Professional Services/Expert Services](). - Configure the virtual appliance cluster only when using a VA-based connection type. For instructions, refer to the [Virtual Appliance Reference Guide](). > **Note** > > This requirement doesn't apply to SaaS connections. - Configure at least one source of BMC Helix Remedyforce in order to coordinate created tickets. - Aggregate the users from the BMC Helix Remedyforce system into SailPoint. ## Required Permissions The BMC Helix Remedyforce Service Desk Integration service account requires the following: - Administrator user access on the BMC Remedyforce SDIM portal. ## System Requirements BMC Helix Remedyforce Service Desk supports the following BMC Remedyforce product: - BMC Helix Remedyforce Service Desk 20.22.01 - The virtual appliance must be able to connect to the ITSM system when using a VA-based connection type, typically using outbound access for port 443 (HTTPS). > **Note** > > This requirement doesn't apply to SaaS connections. ## Best Practices Before you start the configuration process, you should make decisions about the following components of this integration: - **Identify** - Find the BMC Helix Remedyforce Service Desk system and the resources that will be used in the connection. Use the **Name** and **Description** fields in **General Settings** to clearly identify the specific BMC Helix Remedyforce Service Desk system and the sources used in the connection. - **BMC Helix Remedyforce Details** - You can create an integration for each BMC Helix Remedyforce Service Desk system your company uses. If the integration meets the prerequisites, you need to identify the URL for each instance you want to integrate with. You also need to identify the administrator details and the applicable authentication requirements. - **Sources** - For each source you want to integrate with an BMC Helix Remedyforce system, verify that it is configured for provisioning. For more information, refer to [Prerequisites](<#prerequisites>). > **Tip** > > Edit the **Description** field for these sources to indicate they are used in the BMC Helix Remedyforce Service Desk Integration Module. - **BMC Helix Remedyforce Statuses** - Make a list of each possible status in the BMC Helix Remedyforce Service Desk system that you want to map to a status in SailPoint. This will help you track tickets as they're worked. Most importantly, SailPoint uses this mapping to determine when a ticket is closed in the BMC Helix Remedyforce Service Desk system so that the related provisioning task is also treated as complete. For more information about mapping statuses, refer to [Status Mapping](). - **Requests** - Identify each type of provisioning action in SailPoint that you want to create a ticket for in the BMC Helix Remedyforce Service Desk system, along with the information from those actions that should be included in the related BMC Helix Remedyforce Service Desk system ticket. For more information, refer to [Ticket Creation](). # Enable Connector Logging This topic provides the steps needed to enable logging on SailPoint using REST APIs. > [!NOTE] > > This topic only applies to VA-based integrations. > [!NOTE] > > The examples provided might not match your configuration. Use the logging levels and logging classes reference at the bottom of the topic to configure your API responses to match your connector. This process is broken up into four steps: 1. Identify the Virtual Appliance (VA) cluster on which you want to enable logging. 2. Get the logging configuration for the existing VA cluster. 3. Update the VA cluster to enable logging levels. 4. Observe logging changes to the logging levels. ### Identify the Virtual Appliance Cluster Select the VA on which you need to enable logging using REST API. If you already know the VA application's `id`, proceed to [Get the Logging Configuration](<#get-the-logging-configuration>). 1. Make the following call to the REST API to return a list of available VA clusters: GET /v3/managed-clusters The REST API returns a response that looks similar to the following: ```json [ { "id": "2c9180866166b5b0016167c32ef31a66", "name": "Development Cluster", "description": "Development Cluster", "clientType": "CCG", "ccgVersion": "373_535_70.2.0", "pinnedConfig": true, "logConfiguration": null }, { "id": "2c9180846a93ce60016ab29f039944de", "name": "Cloud Cluster", "description": "Cloud Cluster", "clientType": "CCG", "ccgVersion": "373_535_70.2.0", "pinnedConfig": true, "logConfiguration": { "clientId": null, "durationMinutes": 60, "expiration": "2020-12-15T19:13:36.079Z", "rootLevel": "DEBUG", "logLevels": { "sailpoint.connector.ADLDAPConnector": "DEBUG" } } } ] ``` > **Note** > > The previous example code shows two VA clusters. One VA cluster has a log configuration and the other does not (refer to the `logConfiguration` value in each returned VA cluster). This is because one of the clusters already has logging enabled. This is just an example configuration, and your environment may not have logging enabled on a cluster. 2. Identify the VA cluster that you want to enable logging on by its name or description and record its `id` attribute. ### Get the Logging Configuration Get your selected VA's cluster logging configuration and identify the values you need to update. 1. Make the following call to the REST API to return the VA cluster's logging configuration. Replace `{id}` with the VA cluster's `id` attribute value recorded earlier. GET /v3/managed-clusters/{id}/log-config - If the VA doesn't have a logging configuration currently set, it returns `204 No Content` as a response. - If the VA has an existing logging configuration, it returns something similar to the following: ```json { "clientId": null, "durationMinutes": 60, "expiration": "2020-12-15T19:13:36.079Z", "rootLevel": "DEBUG", "logLevels": { "sailpoint.connector.ADLDAPConnector": "DEBUG" } } ``` You'll need to configure the following information in the response: - `durationMinutes` is the number of minutes logging should remain enabled. - `rootLevel` is the default level for all logs. For more information, refer to [Logging Levels](<#logging-levels>). - `logLevels` is a map object with logging classes as keys and logging levels as values. - For keys, refer to [Logging Classes](<#logging-classes>) for commonly used logging classes. - For a list of available values, refer to [Logging Levels](<#logging-levels>). ### Update Logging Configuration Update the VA cluster configuration returned by the REST API to update the logging settings as needed. 1. Make the following call to the REST API to update the VA cluster's logging configuration. Replace `{id}` with the VA cluster's `id` attribute value recorded earlier. PUT /v3/managed-clusters/{id}/log-config 2. Submit your configuration changes to the REST API in a JSON body. - If the VA cluster did not already have a logging configuration and you received a `204 No Content` response, you can create a new one. - If the VA returned a configuration, you can edit it to include the changes. The JSON body should be as follows: ```json { "durationMinutes": 60, "rootLevel": "DEBUG", "logLevels": { "sailpoint.connector.ADLDAPConnector": "DEBUG" } } ``` Consider the following as you edit the JSON: - `durationMinutes` is the number of minutes logging should remain enabled. - `rootLevel` is the default level for all logs. For more information, refer to [Logging Levels](<#logging-levels>). - `logLevels` is a map object with logging classes as keys and logging levels as values. - For keys, refer to [Logging Classes](<#logging-classes>) for commonly used logging classes. - For a list of available values, refer to [Logging Levels](<#logging-levels>). If the update was successful, the REST API should return a response similar to the following: ```json { "clientId": null, "durationMinutes": 60, "expiration": "2020-12-15T19:13:36.079Z", "rootLevel": "DEBUG", "logLevels": { "sailpoint.connector.ADLDAPConnector": "DEBUG" } } ``` ### Observe Logging Changes Approximately five minutes after you update the configuration, the VA cluster starts generating log files you can review. You can view the log files in **ccg.log**. ### References The tables in this reference section list information that can be helpful when creating the JSON body you'll use to configure the VA cluster's configuration file. #### Logging Levels | Logging Level | Description | | --- | --- | | ERROR | Designates error events that might still allow the connector to continue. | | WARN | Designates potentially harmful situations. | | INFO | Designates information messages that highlight process at a coarse-grain level. | | DEBUG | Very verbose. Fine grain logging levels used for development and debugging. | | TRACE | Most verbose. Finer grain logging levels than debugging. | #### Logging Classes | Connector | Logging Class | | --- | --- | | Active Directory | sailpoint.connector.ADLDAPConnector sailpoint.connector.LDAPConnector | | AIX | openconnector.connector.unix.AIXConnector openconnector.connector.unix.UnixConnector | | Amazon Web Services | logger.aws.name=openconnector.connector.aws logger.aws.level=trace logger.aws.additivity = false logger.aws.appenderRef.rolling.ref = STDOUT | | Atlassian Suite Cloud | sailpoint.connector.OpenConnectorAdapter openconnector.connector.atlassian.AtlassianConnector | | Atlassian Data Center | sailpoint.connector.OpenConnectorAdapter openconnector.connector.atlassian.AtlassianDataCenterConnector | | Microsoft Entra ID | sailpoint.connector.AzureADConnector | | Box | openconnector.connector.BoxNetConnector sailpoint.connector.OpenConnectorAdapter | | Cerner | openconnector.connector.CernerConnector sailpoint.connector.OpenConnectorAdapter | | Delimited File | logger.DelimitedFileConnector.name = sailpoint.connector.DelimitedFileConnector logger.DelimitedFileConnector.level = debug logger.DelimitedFileConnector.additivity = false logger.DelimitedFileConnector.appenderRef.rolling.ref = STDOUT | | Dropbox | openconnector.connector.DropBoxConnector sailpoint.connector.OpenConnectorAdapter | | Epic | openconnector.connector.EPICConnector sailpoint.connector.OpenConnectorAdapter | | GE Centricity | openconnector.connector.GECentricity sailpoint.connector.OpenConnectorAdapter | | Google Apps / G Suite | openconnector.connector.GoogleAppsDirect sailpoint.connector.OpenConnectorAdapter | | IBM i | openconnector.connector.IBMiConnector | | Lotus Domino | sailpoint.connector.LotusDomino | | JDBC | sailpoint.connector.JDBCConnector | | Sun One LDAP | sailpoint.connector.LDAPConnector | | Linux | openconnector.connector.unix.LinuxConnector sailpoint.connector.OpenConnectorAdapter sailpoint.connector.UnixConnector | | Microsoft Office365 | sailpoint.connector.Office365Connector | | Microsoft SQL Server | sailpoint.connector.mssql.serviceimpl.MSSQLServerConnectorV2 | | Okta | logger.openconnector.name = openconnector.connector.okta.OktaConnector logger.openconnector.level = debug logger.openconnector.additivity = false logger.openconnector.appenderRef.rolling.ref = STDOUT | | Oracle Database | sailpoint.connector.OracleDBConnector sailpoint.connector.JDBCConnector | | Oracle E-Business | sailpoint.connector.OracleEBSConnector sailpoint.connector.JDBCConnector | | Oracle Fusion HCM | openconnector.connector.oraclefusionhcm.OracleFusionHCMConnector sailpoint.connector.OpenConnectorAdapter | | Oracle HCM Cloud | sailpoint.connector.oraclehcmcloud.OracleHCMCloudConnector | | Oracle HRMS | sailpoint.connector.OracleAppsHRMSConnector sailpoint.connector.JDBCConnector | | Oracle Netsuite | openconnector.connector.netsuite.NetsuiteConnector | | PeopleSoft ERP | openconnector.connector.PeopleSoftConnector sailpoint.connector.OpenConnectorAdapter | | PeopleSoft HRMS | sailpoint.connector.PeopleSoftHRMSConnector | | RemedyForce | sailpoint.connector.ForceConnector | | RSA Authentication Manager | openconnector.connector.RSAConnector openconnector.connector.rsa.RSAHTTPClient sailpoint.connector.OpenConnectorAdapter | | Salesforce | sailpoint.connector.ForceConnector | | SAP Concur | openconnector.connector.sapconcur.SAPConcurConnector | | SAP - Direct | sailpoint.connector.SAPConnector sailpoint.connector.SAPInternalConnector | | SAP GRC | logger.SAPGRCConnector.name = sailpoint.connector.sapgrc logger.SAPGRCConnector.level = debug logger.SAPGRCConnector.additivity = false logger.SAPGRCConnector.appenderRef.rolling.ref = STDOUT | | SAP HR/HCM | sailpoint.connector.SAPHRInternalConnector | | SCIM 1.1 | openconnector.connector.SCIMConnector sailpoint.connector.OpenConnectorAdapter | | SCIM 2.0 | openconnector.connector.scim2.SCIM2Connector sailpoint.connector.OpenConnectorAdapter | | ServiceNow | openconnector.connector.servicenow.ServiceNowConnector openconnector.connector.servicenow.ServiceNowRestClient sailpoint.connector.OpenConnectorAdapter | | ServiceNow Service Desk Integration | openconnector.connector.servicedesk.ServiceNowServiceDeskConnector sailpoint.connector.OpenConnectorAdapter | | Siebel | openconnector.connector.SiebelConnector sailpoint.connector.OpenConnectorAdapter | | Snowflake | openconnector.connector.snowflake.SnowflakeConnector sailpoint.connector.OpenConnectorAdapter | | Solaris | openconnector.connector.unix.SolarisConnector openconnector.connector.unix.UnixConnector sailpoint.connector.OpenConnectorAdapter | | SuccessFactors | sailpoint.connector.SuccessFactorsConnector | | Sybase | sailpoint.connector.SybaseDirectConnector sailpoint.connector.JDBCConnector | | Webex | openconnector.connector.Webex sailpoint.connector.OpenConnectorAdapter | | Workday | openconnector.connector.WorkDay sailpoint.connector.OpenConnectorAdapter | | Workday Accounts | openconnector.connector.workdayaccounts openconnector.connector.workdayaccounts.WorkdayAccountsConnector sailpoint.connector.OpenConnectorAdapter | | Web Services | sailpoint.connector.WebServices | | XML | openconnector.connector.XMLConnector sailpoint.connector.OpenConnectorAdapter | | Yammer | openconnector.connector.YammerConnector sailpoint.connector.OpenConnectorAdapter | | Zoom | openconnector.connector.zoom.ZoomConnector sailpoint.connector.OpenConnectorAdapter | # Troubleshooting If you encounter any of the following issues or errors, SailPoint recommends that you follow the guidance provided below to resolve the error before contacting SailPoint Support. For issues or errors that are not addressed in this connector guide, refer to the following resources for troubleshooting information: - [SailPoint Identity Services Documentation]() - [SailPoint Support Knowledge Base]() - [SailPoint Developer Community]() ## Status Mapping is not defined ```text InvalidConfigurationException ] [ Error details ] SailPoint Identity Platform provisioning status is not defined against the IT Service Management status 'Resolved' in the check status configuration 'statusMap' for the 'serviceRequest' ticket type. ``` **Resolution:** Ensure that you configure the mapping of ticket statuses under the Status Mapping section. ## Ticket creation fails for request having escape characters (`\\`) ```text Ticket creation failed.com.google.gson.stream.MalformedJsonException: Invalid escape sequence at line 3 column 49 path $.description ``` **Resolution:** For escaping the special character, update the value of the description attribute by using the StringEscapeUtils string in the application debug page as follows: ```text ``` # Timeout Errors and Settings Timeout errors might occur when SailPoint is waiting for a response from the Virtual Appliance (VA). These errors are applicable to all connectors and tend to occur during the setup of sources or when sources are down. This document is designed to give specific information that can be used to resolve these errors. Each timeout attribute has a default time value that is listed in seconds or minutes. Increasing the time value may resolve the error as it will allow for longer communication time between the two systems, thus avoiding the timeout error. > [!IMPORTANT] > > Add the necessary attributes or values before performing the "replace" operation, as missing attributes will cause the operation to fail. To increase the communication time, increase the value of the appropriate timeout attribute. Then submit the change to the VA using the SailPoint REST API. > [!NOTE] > > For more information on SailPoint's REST APIs, refer to [Best Practices: REST API Authentication]() and [REST API - Update Source (Partial)]() in the SailPoint Developer Community. ### aggregateTimeout **Description:** This parameter is set for the aggregation timeout, measured in seconds. **Resolution:** Increase the `aggregateTimeout` value gradually to optimize aggregation. Start with 180, then increase to 600, 900, and finally 1800. The maximum value is 3600 seconds. For example: If your current time value is 180 seconds, update the `aggregateTimeout` attribute as follows: ```json [ { "op": "replace", "path": "/connectorAttributes/aggregateTimeout", "value": 600 } ] ``` ### healthCheckTimeout **Description:** This parameter is set for the test connection and health check timeout. **Resolution:** The default value is 30 seconds. If the timeout error continues, increase the value in 15 second increments and try again. For example: If your current time value is 30 seconds, update the `healthCheckTimeout` attribute as follows: ```json [ { "op": "replace", "path": "/connectorAttributes/healthCheckTimeout", "value": 45 } ] ``` ### provisioningTimeout **Description:** This parameter is set for provisioning timeout. **Resolution:** Increase the `provisioningTimeout` value gradually to optimize provisioning. Start with 180, then increase to 360, and finally 600. The maximum value is 600 seconds. For example: If your current time value is 180 seconds, update the `provisioningTimeout` attribute as follows: ```json [ { "op": "replace", "path": "/connectorAttributes/provisioningTimeout", "value": 360 } ] ``` ### timeout **Description:** This parameter is set for pass-through authentication timeout. **Resolution:** The default value is 15 seconds. If the timeout error continues, increase this value in 15 second increments and try again. For example: If your current time value is 15 seconds, update the `timeout` attribute as follows: ```json [ { "op": "replace", "path": "/connectorAttributes/timeout", "value": 30 } ] ``` ### apiTimeout **Description:** This parameter is set for API time tracking; customers can check it using an external tool. **Resolution:** The default value is 60 seconds. If the error continues, increase the value by 15 second increments and try again. For example: If your current time value is 60 seconds, update the `apiTimeout` attribute as follows: ```json [ { "op": "replace", "path": "/connectorAttributes/apiTimeout", "value": "75" } ] ``` ### timeoutInSeconds **Description:** This parameter helps prevent the VA from waiting indefinitely for an API response, ensuring efficient handling of API requests. For example: If your current time value is 30 seconds, update the `timeoutInSeconds` attribute as follows: ```json [ { "op": "replace", "path": "/connectorAttributes/timeoutInSeconds", "value": "15" } ] ```