Patch a Subscription
PATCHhttps://sailpoint.api.identitynow.com/beta/trigger-subscriptions/:id
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
Request
Path Parameters
ID of the Subscription to patch
- application/json-patch+json
Body arrayrequired
- Array [
- ]
The operation to be performed
Possible values: [add
, remove
, replace
, move
, copy
]
replace
A string JSON Pointer representing the target path to an element to be affected by the operation
/description
value object
Responses
- 200
- 400
- 401
- 403
- 404
- 429
- 500
Updated subscription.
- application/json
- Schema
- Example (auto)
Schema
Subscription ID.
0f11f2a4-7c94-4bf3-a2bd-742580fe3bde
Subscription name.
Access request subscription
Subscription description.
Access requested to site xyz
ID of trigger subscribed to.
idn:access-request-post-approval
Trigger name of trigger subscribed to.
Access Requested
Subscription type. NOTE If type is EVENTBRIDGE, then eventBridgeConfig is required. If type is HTTP, then httpConfig is required.
Possible values: [HTTP
, EVENTBRIDGE
, INLINE
, SCRIPT
, WORKFLOW
]
HTTP
Deadline for completing REQUEST_RESPONSE trigger invocation, represented in ISO-8601 duration format.
PT1H
PT1H
httpConfig object
eventBridgeConfig object
Whether subscription should receive real-time trigger invocations or not. Test trigger invocations are always enabled regardless of this option.
true
true
JSONPath filter to conditionally invoke trigger when expression evaluates to true.
$[?($.identityId == "201327fda1c44704ac01181e963d463c")]
{
"id": "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde",
"name": "Access request subscription",
"description": "Access requested to site xyz",
"triggerId": "idn:access-request-post-approval",
"triggerName": "Access Requested",
"type": "HTTP",
"responseDeadline": "PT1H",
"httpConfig": {
"url": "https://www.example.com",
"httpDispatchMode": "SYNC",
"httpAuthenticationType": "BASIC_AUTH",
"basicAuthConfig": {
"userName": "user@example.com",
"password": null
},
"bearerTokenAuthConfig": {
"bearerToken": null
}
},
"eventBridgeConfig": {
"awsAccount": "123456789012",
"awsRegion": "us-west-1"
},
"enabled": true,
"filter": "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\")]"
}
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
type: Personal Access Tokenscopes: sp:trigger-service-subscriptions:manage
- 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/beta/trigger-subscriptions/:id"
method := "PATCH"
payload := strings.NewReader(`[
{
"op": "replace",
"path": "/description",
"value": "A new description"
},
{
"op": "replace",
"path": "/name",
"value": "A new name"
}
]`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json-patch+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))
}