--- id: update-source sidebar_label: Update Source (Partial) hide_title: true hide_table_of_contents: true api: {"operationId":"updateSource","tags":["Sources"],"description":"This API partially updates a source in IdentityNow, using a list of patch operations according to the\n[JSON Patch](https://tools.ietf.org/html/rfc6902) standard.\n\nSome fields are immutable and cannot be changed, such as:\n\n* id\n* type\n* authoritative\n* created\n* modified\n* connector\n* connectorClass\n* passwordPolicies\n\nAttempts to modify these fields will result in a 400 error.\n\nA token with ORG_ADMIN, SOURCE_ADMIN, SOURCE_SUBADMIN, or API authority is required to call this API.\n","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true,"description":"The Source id","example":"2c9180835d191a86015d28455b4a2329"}],"requestBody":{"required":true,"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 IdentityNow.","content":{"application/json-patch+json":{"schema":{"type":"array","items":{"type":"object","description":"A JSONPatch Operation as defined by [RFC 6902 - JSON Patch](https://tools.ietf.org/html/rfc6902)","required":["op","path"],"properties":{"op":{"type":"string","description":"The operation to be performed","enum":["add","remove","replace","move","copy","test"],"example":"replace"},"path":{"type":"string","description":"A string JSON Pointer representing the target path to an element to be affected by the operation","example":"/description"},"value":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"object"},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"object"}]}}],"description":"The value to be used for the operation, required for \"add\" and \"replace\" operations","example":"New description"}}}},"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 below, 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 parameters operationType. This will change 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"}]}}}}},"responses":{"200":{"description":"Updated 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.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"the id of the Source","example":"2c91808568c529c60168cca6f90c1324"},"description":{"type":"string","description":"Human-readable description of the source","example":"This is the corporate directory."},"owner":{"type":"object","properties":{"type":{"description":"DTO type","type":"string","enum":["ACCOUNT_CORRELATION_CONFIG","ACCESS_PROFILE","ACCESS_REQUEST_APPROVAL","ACCOUNT","APPLICATION","CAMPAIGN","CAMPAIGN_FILTER","CERTIFICATION","CLUSTER","CONNECTOR_SCHEMA","ENTITLEMENT","GOVERNANCE_GROUP","IDENTITY","IDENTITY_PROFILE","IDENTITY_REQUEST","LIFECYCLE_STATE","PASSWORD_POLICY","ROLE","RULE","SOD_POLICY","SOURCE","TAG_CATEGORY","TASK_RESULT","REPORT_RESULT","SOD_VIOLATION","ACCOUNT_ACTIVITY"],"example":"IDENTITY"},"id":{"type":"string","description":"ID of the object to which this reference applies","example":"2c91808568c529c60168cca6f90c1313"},"name":{"type":"string","description":"Human-readable display name of the object to which this reference applies","example":"William Wilson"}},"description":"Reference to an owning Identity Object"},"cluster":{"type":"object","properties":{"type":{"description":"DTO type","type":"string","enum":["ACCOUNT_CORRELATION_CONFIG","ACCESS_PROFILE","ACCESS_REQUEST_APPROVAL","ACCOUNT","APPLICATION","CAMPAIGN","CAMPAIGN_FILTER","CERTIFICATION","CLUSTER","CONNECTOR_SCHEMA","ENTITLEMENT","GOVERNANCE_GROUP","IDENTITY","IDENTITY_PROFILE","IDENTITY_REQUEST","LIFECYCLE_STATE","PASSWORD_POLICY","ROLE","RULE","SOD_POLICY","SOURCE","TAG_CATEGORY","TASK_RESULT","REPORT_RESULT","SOD_VIOLATION","ACCOUNT_ACTIVITY"],"example":"IDENTITY"},"id":{"type":"string","description":"ID of the object to which this reference applies","example":"2c91808568c529c60168cca6f90c1313"},"name":{"type":"string","description":"Human-readable display name of the object to which this reference applies","example":"William Wilson"}},"description":"Reference to the associated Cluster","example":{"type":"CLUSTER","id":"2c9180866166b5b0016167c32ef31a66","name":"Corporate Cluster"}},"accountCorrelationConfig":{"type":"object","properties":{"type":{"description":"DTO type","type":"string","enum":["ACCOUNT_CORRELATION_CONFIG","ACCESS_PROFILE","ACCESS_REQUEST_APPROVAL","ACCOUNT","APPLICATION","CAMPAIGN","CAMPAIGN_FILTER","CERTIFICATION","CLUSTER","CONNECTOR_SCHEMA","ENTITLEMENT","GOVERNANCE_GROUP","IDENTITY","IDENTITY_PROFILE","IDENTITY_REQUEST","LIFECYCLE_STATE","PASSWORD_POLICY","ROLE","RULE","SOD_POLICY","SOURCE","TAG_CATEGORY","TASK_RESULT","REPORT_RESULT","SOD_VIOLATION","ACCOUNT_ACTIVITY"],"example":"IDENTITY"},"id":{"type":"string","description":"ID of the object to which this reference applies","example":"2c91808568c529c60168cca6f90c1313"},"name":{"type":"string","description":"Human-readable display name of the object to which this reference applies","example":"William Wilson"}},"description":"Reference to a Correlation Config object","example":{"type":"ACCOUNT_CORRELATION_CONFIG","id":"2c9180855d191c59015d28583727245a","name":"Directory [source-62867] Account Correlation"}},"accountCorrelationRule":{"type":"object","properties":{"type":{"description":"DTO type","type":"string","enum":["ACCOUNT_CORRELATION_CONFIG","ACCESS_PROFILE","ACCESS_REQUEST_APPROVAL","ACCOUNT","APPLICATION","CAMPAIGN","CAMPAIGN_FILTER","CERTIFICATION","CLUSTER","CONNECTOR_SCHEMA","ENTITLEMENT","GOVERNANCE_GROUP","IDENTITY","IDENTITY_PROFILE","IDENTITY_REQUEST","LIFECYCLE_STATE","PASSWORD_POLICY","ROLE","RULE","SOD_POLICY","SOURCE","TAG_CATEGORY","TASK_RESULT","REPORT_RESULT","SOD_VIOLATION","ACCOUNT_ACTIVITY"],"example":"IDENTITY"},"id":{"type":"string","description":"ID of the object to which this reference applies","example":"2c91808568c529c60168cca6f90c1313"},"name":{"type":"string","description":"Human-readable display name of the object to which this reference applies","example":"William Wilson"}},"description":"Reference to a Rule that can do COMPLEX the correlation, should only be used when accountCorrelationConfig can't be used."},"managerCorrelationMapping":{"description":"Filter Object used during manager correlation to match incoming manager values to an existing manager's Account/Identity","type":"object","properties":{"accountAttribute":{"type":"string","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"},"identityAttribute":{"type":"string","description":"Name of the identity attribute to search when trying to find a manager using the value from the accountAttribute.","example":"manager"}}},"managerCorrelationRule":{"type":"object","properties":{"type":{"description":"DTO type","type":"string","enum":["ACCOUNT_CORRELATION_CONFIG","ACCESS_PROFILE","ACCESS_REQUEST_APPROVAL","ACCOUNT","APPLICATION","CAMPAIGN","CAMPAIGN_FILTER","CERTIFICATION","CLUSTER","CONNECTOR_SCHEMA","ENTITLEMENT","GOVERNANCE_GROUP","IDENTITY","IDENTITY_PROFILE","IDENTITY_REQUEST","LIFECYCLE_STATE","PASSWORD_POLICY","ROLE","RULE","SOD_POLICY","SOURCE","TAG_CATEGORY","TASK_RESULT","REPORT_RESULT","SOD_VIOLATION","ACCOUNT_ACTIVITY"],"example":"IDENTITY"},"id":{"type":"string","description":"ID of the object to which this reference applies","example":"2c91808568c529c60168cca6f90c1313"},"name":{"type":"string","description":"Human-readable display name of the object to which this reference applies","example":"William Wilson"}},"description":"Reference to the ManagerCorrelationRule, only used when a simple filter isn't sufficient."},"beforeProvisioningRule":{"type":"object","properties":{"type":{"description":"DTO type","type":"string","enum":["ACCOUNT_CORRELATION_CONFIG","ACCESS_PROFILE","ACCESS_REQUEST_APPROVAL","ACCOUNT","APPLICATION","CAMPAIGN","CAMPAIGN_FILTER","CERTIFICATION","CLUSTER","CONNECTOR_SCHEMA","ENTITLEMENT","GOVERNANCE_GROUP","IDENTITY","IDENTITY_PROFILE","IDENTITY_REQUEST","LIFECYCLE_STATE","PASSWORD_POLICY","ROLE","RULE","SOD_POLICY","SOURCE","TAG_CATEGORY","TASK_RESULT","REPORT_RESULT","SOD_VIOLATION","ACCOUNT_ACTIVITY"],"example":"IDENTITY"},"id":{"type":"string","description":"ID of the object to which this reference applies","example":"2c91808568c529c60168cca6f90c1313"},"name":{"type":"string","description":"Human-readable display name of the object to which this reference applies","example":"William Wilson"}},"description":"Rule that runs on the CCG and allows for customization of provisioning plans before the connector is called."},"schemas":{"type":"array","items":{"type":"object","properties":{"type":{"description":"DTO type","type":"string","enum":["ACCOUNT_CORRELATION_CONFIG","ACCESS_PROFILE","ACCESS_REQUEST_APPROVAL","ACCOUNT","APPLICATION","CAMPAIGN","CAMPAIGN_FILTER","CERTIFICATION","CLUSTER","CONNECTOR_SCHEMA","ENTITLEMENT","GOVERNANCE_GROUP","IDENTITY","IDENTITY_PROFILE","IDENTITY_REQUEST","LIFECYCLE_STATE","PASSWORD_POLICY","ROLE","RULE","SOD_POLICY","SOURCE","TAG_CATEGORY","TASK_RESULT","REPORT_RESULT","SOD_VIOLATION","ACCOUNT_ACTIVITY"],"example":"IDENTITY"},"id":{"type":"string","description":"ID of the object to which this reference applies","example":"2c91808568c529c60168cca6f90c1313"},"name":{"type":"string","description":"Human-readable display name of the object to which this reference applies","example":"William Wilson"}}},"description":"List of references to Schema objects","example":[{"type":"CONNECTOR_SCHEMA","id":"2c9180835d191a86015d28455b4b232a","name":"account"},{"type":"CONNECTOR_SCHEMA","id":"2c9180835d191a86015d28455b4b232b","name":"group"}]},"passwordPolicies":{"type":"array","items":{"type":"object","properties":{"type":{"description":"DTO type","type":"string","enum":["ACCOUNT_CORRELATION_CONFIG","ACCESS_PROFILE","ACCESS_REQUEST_APPROVAL","ACCOUNT","APPLICATION","CAMPAIGN","CAMPAIGN_FILTER","CERTIFICATION","CLUSTER","CONNECTOR_SCHEMA","ENTITLEMENT","GOVERNANCE_GROUP","IDENTITY","IDENTITY_PROFILE","IDENTITY_REQUEST","LIFECYCLE_STATE","PASSWORD_POLICY","ROLE","RULE","SOD_POLICY","SOURCE","TAG_CATEGORY","TASK_RESULT","REPORT_RESULT","SOD_VIOLATION","ACCOUNT_ACTIVITY"],"example":"IDENTITY"},"id":{"type":"string","description":"ID of the object to which this reference applies","example":"2c91808568c529c60168cca6f90c1313"},"name":{"type":"string","description":"Human-readable display name of the object to which this reference applies","example":"William Wilson"}}},"description":"List of references to the associated PasswordPolicy objects.","example":[{"type":"PASSWORD_POLICY","id":"2c9180855d191c59015d291ceb053980","name":"Corporate Password Policy"}]},"features":{"type":"array","description":"Optional features that can be supported by a source.","items":{"type":"string","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"],"description":"Optional features that can be supported by an source.\n* AUTHENTICATE: The source supports pass-through authentication.\n* COMPOSITE: The source supports composite source creation.\n* DIRECT_PERMISSIONS: The source supports returning DirectPermissions.\n* DISCOVER_SCHEMA: The source supports discovering schemas for users and groups.\n* ENABLE The source supports reading if an account is enabled or disabled.\n* MANAGER_LOOKUP: The source supports looking up managers as they are encountered in a feed. This is the opposite of NO_RANDOM_ACCESS.\n* NO_RANDOM_ACCESS: The source does not support random access and the getObject() methods should not be called and expected to perform.\n* 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.\n* SEARCH\n* TEMPLATE\n* UNLOCK: The source supports reading if an account is locked or unlocked.\n* UNSTRUCTURED_TARGETS: The source supports returning unstructured Targets.\n* SHAREPOINT_TARGET: The source supports returning unstructured Target data for SharePoint. It will be typically used by AD, LDAP sources.\n* 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.\n* GROUP_PROVISIONING: The source can both read and write groups. Having this feature implies that the provision() method is implemented.\n* SYNC_PROVISIONING: The source can provision accounts synchronously.\n* 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.\n* CURRENT_PASSWORD: Some source types support verification of the current password\n* ACCOUNT_ONLY_REQUEST: The source supports requesting accounts without entitlements.\n* ADDITIONAL_ACCOUNT_REQUEST: The source supports requesting additional accounts.\n* NO_AGGREGATION: A source that does not support aggregation.\n* 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.\n* 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.\n* 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.\n* NO_UNSTRUCTURED_TARGETS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING.\n* NO_DIRECT_PERMISSIONS_PROVISIONING: This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING."},"example":["SYNC_PROVISIONING","MANAGER_LOOKUP","SEARCH","PROVISIONING","AUTHENTICATE","GROUP_PROVISIONING","PASSWORD"]},"type":{"type":"string","description":"Specifies the type of system being managed e.g. Active Directory, Workday, etc..","example":"OpenLDAP - Direct"},"connector":{"type":"string","description":"Connector script name.","example":"active-directory"},"connectorClass":{"type":"string","description":"The fully qualified name of the Java class that implements the connector interface.","example":"sailpoint.connector.LDAPConnector"},"connectorAttributes":{"type":"object","description":"Connector specific configuration; will differ from type to type.","example":{"healthCheckTimeout":30,"authSearchAttributes":["cn","uid","mail"]}},"deleteThreshold":{"type":"integer","format":"int32","description":"Number from 0 to 100 that specifies when to skip the delete phase.","example":10},"authoritative":{"type":"boolean","description":"When true indicates the source is referenced by an IdentityProfile.","example":false},"managementWorkgroup":{"type":"object","properties":{"type":{"description":"DTO type","type":"string","enum":["ACCOUNT_CORRELATION_CONFIG","ACCESS_PROFILE","ACCESS_REQUEST_APPROVAL","ACCOUNT","APPLICATION","CAMPAIGN","CAMPAIGN_FILTER","CERTIFICATION","CLUSTER","CONNECTOR_SCHEMA","ENTITLEMENT","GOVERNANCE_GROUP","IDENTITY","IDENTITY_PROFILE","IDENTITY_REQUEST","LIFECYCLE_STATE","PASSWORD_POLICY","ROLE","RULE","SOD_POLICY","SOURCE","TAG_CATEGORY","TASK_RESULT","REPORT_RESULT","SOD_VIOLATION","ACCOUNT_ACTIVITY"],"example":"IDENTITY"},"id":{"type":"string","description":"ID of the object to which this reference applies","example":"2c91808568c529c60168cca6f90c1313"},"name":{"type":"string","description":"Human-readable display name of the object to which this reference applies","example":"William Wilson"}},"description":"Reference to Management Workgroup for this Source"},"healthy":{"type":"boolean","description":"When true indicates a healthy source","example":true},"status":{"type":"string","description":"A status identifier, giving specific information on why a source is healthy or not","example":"SOURCE_STATE_HEALTHY"},"since":{"type":"string","description":"Timestamp showing when a source health check was last performed","example":"2021-09-28T15:48:29.3801666300Z"},"connectorId":{"type":"string","description":"The id of connector","example":"active-directory"},"connectorName":{"type":"string","description":"The name of the connector that was chosen on source creation","example":"Active Directory"},"connectionType":{"type":"string","description":"The type of connection (direct or file)","example":"file"},"connectorImplementstionId":{"type":"string","description":"The connector implementstion id","example":"delimited-file"}}}}}},"400":{"description":"Client Error - Returned if the request body is invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}}}}},"401":{"description":"Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A message describing the error","example":"JWT validation failed: JWT is expired"}}}}}},"403":{"description":"Forbidden - Returned if the user you are running as, doesn't have access to this end-point.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}},"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."}]}}}}}},"404":{"description":"Not Found - returned if the request URL refers to a resource or object that does not exist","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}},"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."}]}}}}}},"429":{"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.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"description":"A message describing the error","example":" Rate Limit Exceeded "}}}}}},"500":{"description":"Internal Server Error - Returned if there is an unexpected error.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}},"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."}]}}}}}}},"method":"patch","path":"/sources/{id}","servers":[{"url":"https://{tenant}.api.identitynow.com/beta","description":"This is the beta API server.","variables":{"tenant":{"default":"sailpoint","description":"This is the name of your tenant, typically your company's name."}}}],"security":[{"oauth2":[]}],"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 Bearer token (JWT). See [IdentityNow REST API Authentication](https://developer.sailpoint.com/docs/authentication.html) for more information.\n- Directions for generating a [personal access token](https://developer.sailpoint.com/docs/authentication.html#personal-access-tokens)\n- Directions using [client credentials flow](https://developer.sailpoint.com/docs/authentication.html#client-credentials-grant-flow)\n- Directions for using [authorization code flow](https://developer.sailpoint.com/docs/authentication.html#authorization-code-grant-flow)\n\nWhich authentication method should I choose? See our [guide](https://developer.sailpoint.com/docs/authentication.html#which-oauth-2-0-grant-flow-should-i-use)\n\nLearn more about how to find your `tokenUrl` and `authorizationUrl` [in our docs](https://developer.sailpoint.com/docs/authentication.html#finding-your-tenant-s-oauth-details)\n","flows":{"clientCredentials":{"tokenUrl":"https://tenant.api.identitynow.com/oauth/token","scopes":{"sp:scopes:default":"default scope","sp:scopes:all":"access to all scopes"}},"authorizationCode":{"authorizationUrl":"https://tenant.identitynow.com/oauth/authorize","tokenUrl":"https://tenant.api.identitynow.com/oauth/token","scopes":{"sp:scopes:default":"default scope","sp:scopes:all":"access to all scopes"}}}}},"jsonRequestBodyExample":[{"op":"replace","path":"/description","value":"New description"}],"info":{"contact":{"email":"developers@sailpoint.com","name":"Developer Relations","url":"https://developer.sailpoint.com/discuss"},"description":"These are the public, beta APIs for SailPoint's SaaS services and are subject to change.","title":"SailPoint - Beta SaaS API","version":"3.1.0-beta"},"postman":{"name":"Update Source (Partial)","description":{"content":"This API partially updates a source in IdentityNow, using a list of patch operations according to the\n[JSON Patch](https://tools.ietf.org/html/rfc6902) standard.\n\nSome fields are immutable and cannot be changed, such as:\n\n* id\n* type\n* authoritative\n* created\n* modified\n* connector\n* connectorClass\n* passwordPolicies\n\nAttempts to modify these fields will result in a 400 error.\n\nA token with ORG_ADMIN, SOURCE_ADMIN, SOURCE_SUBADMIN, or API authority is required to call this API.\n","type":"text/plain"},"url":{"path":["sources",":id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The Source id","type":"text/plain"},"type":"any","value":"","key":"id"}]},"header":[{"key":"Content-Type","value":"application/json-patch+json"},{"key":"Accept","value":"application/json"}],"method":"PATCH","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "patch api-method" info_path: docs/sailpoint-api-beta/sail-point-beta-saa-s-api --- import ApiTabs from "@theme/ApiTabs"; import MimeTabs from "@theme/MimeTabs"; import ParamsItem from "@theme/ParamsItem"; import ResponseSamples from "@theme/ResponseSamples"; import SchemaItem from "@theme/SchemaItem" import SchemaTabs from "@theme/SchemaTabs"; import DiscriminatorTabs from "@theme/DiscriminatorTabs"; import TabItem from "@theme/TabItem"; ## Update Source (Partial) This API partially updates a source in IdentityNow, using a list of patch operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Some fields are immutable and cannot be changed, such as: * 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.
Path Parameters
Request Body array required
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 IdentityNow.
    value object
    The value to be used for the operation, required for "add" and "replace" operations
  • anyOf
  • string
  • integer
  • anyOf
  • string
  • integer
Updated 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.
Schema
    owner object
    Reference to an owning Identity Object
    cluster object
    Reference to the associated Cluster
    accountCorrelationConfig object
    Reference to a Correlation Config object
    accountCorrelationRule object
    Reference to a Rule that can do COMPLEX the correlation, should only be used when accountCorrelationConfig can't be used.
    managerCorrelationMapping object
    Filter Object used during manager correlation to match incoming manager values to an existing manager's Account/Identity
    managerCorrelationRule object
    Reference to the ManagerCorrelationRule, only used when a simple filter isn't sufficient.
    beforeProvisioningRule object
    Rule that runs on the CCG and allows for customization of provisioning plans before the connector is called.
    schemas object[]
    List of references to Schema objects
    passwordPolicies object[]
    List of references to the associated PasswordPolicy objects.
    managementWorkgroup object
    Reference to Management Workgroup for this Source
Client Error - Returned if the request body is invalid.
Schema
    messages object[]
    Generic localized reason for error
    causes object[]
    Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
Schema
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
Schema
    messages object[]
    Generic localized reason for error
    causes object[]
    Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
Not Found - returned if the request URL refers to a resource or object that does not exist
Schema
    messages object[]
    Generic localized reason for error
    causes object[]
    Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
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.
Schema
Internal Server Error - Returned if there is an unexpected error.
Schema
    messages object[]
    Generic localized reason for error
    causes object[]
    Plain-text descriptive reasons to provide additional detail to the text provided in the messages field