Create Connector Rule
POSThttps://sailpoint.api.identitynow.com/beta/connector-rules
Creates a new connector rule. A token with ORG_ADMIN authority is required to call this API.
Request
- application/json
Bodyrequired
The connector rule to create
the name of the rule
Possible values: non-empty
and <= 128 characters
WebServiceBeforeOperationRule
a description of the rule's purpose
This rule does that
the type of rule
Possible values: [BuildMap
, ConnectorAfterCreate
, ConnectorAfterDelete
, ConnectorAfterModify
, ConnectorBeforeCreate
, ConnectorBeforeDelete
, ConnectorBeforeModify
, JDBCBuildMap
, JDBCOperationProvisioning
, JDBCProvision
, PeopleSoftHRMSBuildMap
, PeopleSoftHRMSOperationProvisioning
, PeopleSoftHRMSProvision
, RACFPermissionCustomization
, SAPBuildMap
, SapHrManagerRule
, SapHrOperationProvisioning
, SapHrProvision
, SuccessFactorsOperationProvisioning
, WebServiceAfterOperationRule
, WebServiceBeforeOperationRule
, ResourceObjectCustomization
]
BuildMap
signature object
sourceCode objectrequired
a map of string to objects
{}
Responses
- 201
- 400
- 401
- 403
- 429
- 500
The created connector rule
- application/json
- Schema
- Example (auto)
Schema
the name of the rule
Possible values: non-empty
and <= 128 characters
WebServiceBeforeOperationRule
a description of the rule's purpose
This rule does that
the type of rule
Possible values: [BuildMap
, ConnectorAfterCreate
, ConnectorAfterDelete
, ConnectorAfterModify
, ConnectorBeforeCreate
, ConnectorBeforeDelete
, ConnectorBeforeModify
, JDBCBuildMap
, JDBCOperationProvisioning
, JDBCProvision
, PeopleSoftHRMSBuildMap
, PeopleSoftHRMSOperationProvisioning
, PeopleSoftHRMSProvision
, RACFPermissionCustomization
, SAPBuildMap
, SapHrManagerRule
, SapHrOperationProvisioning
, SapHrProvision
, SuccessFactorsOperationProvisioning
, WebServiceAfterOperationRule
, WebServiceBeforeOperationRule
, ResourceObjectCustomization
]
BuildMap
signature object
sourceCode objectrequired
a map of string to objects
{}
the ID of the rule
8113d48c0b914f17b4c6072d4dcb9dfe
an ISO 8601 UTC timestamp when this rule was created
021-07-22T15:59:23Z
an ISO 8601 UTC timestamp when this rule was last modified
021-07-22T15:59:23Z
{
"name": "WebServiceBeforeOperationRule",
"description": "This rule does that",
"type": "BuildMap",
"signature": {
"input": [
{
"name": "firstName",
"description": "the first name of the identity",
"type": "String"
}
],
"output": {
"name": "firstName",
"description": "the first name of the identity",
"type": "String"
}
},
"sourceCode": {
"version": "1.0",
"script": "return \"Mr. \" + firstName;"
},
"attributes": {},
"id": "8113d48c0b914f17b4c6072d4dcb9dfe",
"created": "021-07-22T15:59:23Z",
"modified": "021-07-22T15:59:23Z"
}
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."
}
]
}
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: idn:rule-management-connector: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/connector-rules"
method := "POST"
payload := strings.NewReader(`{
"name": "WebServiceBeforeOperationRule",
"description": "This rule does that",
"type": "BuildMap",
"signature": {
"input": [
{
"name": "firstName",
"description": "the first name of the identity",
"type": "String"
}
],
"output": {
"name": "firstName",
"description": "the first name of the identity",
"type": "String"
}
},
"sourceCode": {
"version": "1.0",
"script": "return \"Mr. \" + firstName;"
},
"attributes": {}
}`)
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))
}