Skip to main content

Create Provisioning Policy

POST 

https://sailpoint.api.identitynow.com/v2024/sources/:sourceId/provisioning-policies

This API generates a create policy/template based on field value transforms. This API is intended for use when setting up JDBC Provisioning type sources, but it will also work on other source types. Transforms can be used in the provisioning policy to create a new attribute that you only need during provisioning. Refer to Transforms in Provisioning Policies for more information.

Request

Path Parameters

    sourceId stringrequired

    The Source id

    Example: 2c9180835d191a86015d28455b4a2329

Bodyrequired

    namestringrequired

    the provisioning policy name

    Example: example provisioning policy for inactive identities
    descriptionstring

    the description of the provisioning policy

    Example: this provisioning policy creates access based on an identity going inactive
    usageTypestring

    The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source.
    UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs.

    Possible values: [CREATE, UPDATE, ENABLE, DISABLE, DELETE, ASSIGN, UNASSIGN, CREATE_GROUP, UPDATE_GROUP, DELETE_GROUP, REGISTER, CREATE_IDENTITY, UPDATE_IDENTITY, EDIT_GROUP, UNLOCK, CHANGE_PASSWORD]

    Example: CREATE
    fields object[]
  • Array [
  • namestring

    The name of the attribute.

    Example: userName
    transformobject

    The transform to apply to the field

    Default value: {}
    Example: {"type":"rule","attributes":{"name":"Create Unique LDAP Attribute"}}
    attributesobject

    Attributes required for the transform

    Example: {"template":"${firstname}.${lastname}${uniqueCounter}","cloudMaxUniqueChecks":"50","cloudMaxSize":"20","cloudRequired":"true"}
    typestring

    The type of the attribute.

    Example: string
    isMultiValuedboolean

    Flag indicating whether or not the attribute is multi-valued.

    Default value: false
    Example: false
  • ]

Responses

Created ProvisioningPolicyDto object

Schema
    namestringrequired

    the provisioning policy name

    Example: example provisioning policy for inactive identities
    descriptionstring

    the description of the provisioning policy

    Example: this provisioning policy creates access based on an identity going inactive
    usageTypestring

    The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source.
    UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs.

    Possible values: [CREATE, UPDATE, ENABLE, DISABLE, DELETE, ASSIGN, UNASSIGN, CREATE_GROUP, UPDATE_GROUP, DELETE_GROUP, REGISTER, CREATE_IDENTITY, UPDATE_IDENTITY, EDIT_GROUP, UNLOCK, CHANGE_PASSWORD]

    Example: CREATE
    fields object[]
  • Array [
  • namestring

    The name of the attribute.

    Example: userName
    transformobject

    The transform to apply to the field

    Default value: {}
    Example: {"type":"rule","attributes":{"name":"Create Unique LDAP Attribute"}}
    attributesobject

    Attributes required for the transform

    Example: {"template":"${firstname}.${lastname}${uniqueCounter}","cloudMaxUniqueChecks":"50","cloudMaxSize":"20","cloudRequired":"true"}
    isRequiredboolean

    Flag indicating whether or not the attribute is required.

    Default value: false
    Example: false
    typestring

    The type of the attribute.

    Example: string
    isMultiValuedboolean

    Flag indicating whether or not the attribute is multi-valued.

    Default value: false
    Example: false
  • ]

Authorization: oauth2

type: Personal Access Token
scopes: idn:provisioning-policy:manage
user levels: ORG_ADMIN
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://sailpoint.api.identitynow.com/v2024/sources/:sourceId/provisioning-policies"
method := "POST"

payload := strings.NewReader(`{
"name": "example provisioning policy for inactive identities",
"description": "this provisioning policy creates access based on an identity going inactive",
"usageType": "CREATE",
"fields": [
{
"name": "userName",
"transform": {
"type": "rule",
"attributes": {
"name": "Create Unique LDAP Attribute"
}
},
"attributes": {
"template": "${firstname}.${lastname}${uniqueCounter}",
"cloudMaxUniqueChecks": "50",
"cloudMaxSize": "20",
"cloudRequired": "true"
},
"type": "string",
"isMultiValued": false
}
]
}`)

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))
}
Request Collapse all
Base URL
https://sailpoint.api.identitynow.com/v2024
Auth
Parameters
— pathrequired
Body required
{
  "name": "example provisioning policy for inactive identities",
  "description": "this provisioning policy creates access based on an identity going inactive",
  "usageType": "CREATE",
  "fields": [
    {
      "name": "userName",
      "transform": {
        "type": "rule",
        "attributes": {
          "name": "Create Unique LDAP Attribute"
        }
      },
      "attributes": {
        "template": "${firstname}.${lastname}${uniqueCounter}",
        "cloudMaxUniqueChecks": "50",
        "cloudMaxSize": "20",
        "cloudRequired": "true"
      },
      "type": "string",
      "isMultiValued": false
    }
  ]
}
ResponseClear

Click the Send API Request button above and see the response here!