Update Native Change Detection Configuration
PUThttps://sailpoint.api.identitynow.com/v2024/sources/:sourceId/native-change-detection-config
This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true
to use this endpoint.
Replaces the native change detection configuration for the source specified by the given ID with the configuration provided in the request body.
Request
Path Parameters
The source id
Header Parameters
Use this header to enable this experimental API.
true
- application/json
Bodyrequired
A flag indicating if Native Change Detection is enabled for a source.
false
true
Operation types for which Native Change Detection is enabled for a source.
Possible values: [ACCOUNT_UPDATED
, ACCOUNT_CREATED
, ACCOUNT_DELETED
]
["ACCOUNT_UPDATED","ACCOUNT_DELETED"]
A flag indicating that all entitlements participate in Native Change Detection.
false
false
A flag indicating that all non-entitlement account attributes participate in Native Change Detection.
false
false
If allEntitlements flag is off this field lists entitlements that participate in Native Change Detection.
["memberOf","memberOfSharedMailbox"]
If allNonEntitlementAttributes flag is off this field lists non-entitlement account attributes that participate in Native Change Detection.
["lastName","phoneNumber","objectType","servicePrincipalName"]
Responses
- 200
- 400
- 401
- 403
- 404
- 429
- 500
Updated native change detection configuration for a source
- application/json
- Schema
- Example (auto)
Schema
A flag indicating if Native Change Detection is enabled for a source.
false
true
Operation types for which Native Change Detection is enabled for a source.
Possible values: [ACCOUNT_UPDATED
, ACCOUNT_CREATED
, ACCOUNT_DELETED
]
["ACCOUNT_UPDATED","ACCOUNT_DELETED"]
A flag indicating that all entitlements participate in Native Change Detection.
false
false
A flag indicating that all non-entitlement account attributes participate in Native Change Detection.
false
false
If allEntitlements flag is off this field lists entitlements that participate in Native Change Detection.
["memberOf","memberOfSharedMailbox"]
If allNonEntitlementAttributes flag is off this field lists non-entitlement account attributes that participate in Native Change Detection.
["lastName","phoneNumber","objectType","servicePrincipalName"]
{
"enabled": true,
"operations": [
"ACCOUNT_UPDATED",
"ACCOUNT_DELETED"
],
"allEntitlements": false,
"allNonEntitlementAttributes": false,
"selectedEntitlements": [
"memberOf",
"memberOfSharedMailbox"
],
"selectedNonEntitlementAttributes": [
"lastName",
"phoneNumber",
"objectType",
"servicePrincipalName"
]
}
Client Error - Returned if the request body is invalid.
- application/json
- Schema
- Example (auto)
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
- application/json
- Schema
- Example (auto)
Schema
A message describing the error
JWT validation failed: JWT is expired
{
"error": "JWT validation failed: JWT is expired"
}
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
- application/json
- Schema
- Example (auto)
- 403
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 403 response object
{
"detailCode": "403 Forbidden",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server understood the request but refuses to authorize it."
}
]
}
Not Found - returned if the request URL refers to a resource or object that does not exist
- application/json
- Schema
- Example (auto)
- 404
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 404 response object
{
"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."
}
]
}
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.
- application/json
- Schema
- Example (auto)
Schema
A message describing the error
Rate Limit Exceeded
{
"message": " Rate Limit Exceeded "
}
Internal Server Error - Returned if there is an unexpected error.
- application/json
- Schema
- Example (auto)
- 500
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 500 response object
{
"detailCode": "500.0 Internal Fault",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "An internal fault occurred."
}
]
}
Authorization: oauth2
- go
- powershellSailPoint SDK
- pythonSailPoint SDK
- csharp
- curl
- dart
- http
- java
- javascript
- kotlin
- c
- nodejs
- objective-c
- ocaml
- php
- r
- ruby
- rust
- shell
- swift
- NATIVE
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sailpoint.api.identitynow.com/v2024/sources/:sourceId/native-change-detection-config"
method := "PUT"
payload := strings.NewReader(`{
"enabled": true,
"operations": [
"ACCOUNT_UPDATED",
"ACCOUNT_DELETED"
],
"allEntitlements": false,
"allNonEntitlementAttributes": false,
"selectedEntitlements": [
"memberOf",
"memberOfSharedMailbox"
],
"selectedNonEntitlementAttributes": [
"lastName",
"phoneNumber",
"objectType",
"servicePrincipalName"
]
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Authorization", "Bearer <TOKEN>")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}