Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Accounts Entitlement Association not working

Srinidhan
New Contributor
New Contributor

Hello,

We had configured the ImportAccEnt JSON for a REST Connection and the Accounts Entitlement Association was working as expected. No change was made on the connection or at the target system, but the correlation between Accounts and Entitlements randomly stopped working in both ITG and Dev env.

Accounts and Entitlements are getting imported as expected and the needed attributes are also getting imported as expected, but even while going through the logs, I can find reference of the accentparams being called.

ImportAccEntJSON

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty11",
"activeStatus": [
"Active"
],
"deleteLinks": true,
"accountThresholdValue": 100,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false,
"deleteAccEntForActiveAccounts": true
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "********",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "",
"keyField": "accountID",
"statusConfig": {
"status": "Active"
},
"colsToPropsMap": {
"accountID": "userUniqueKey~#~char",
"name":"email~#~char",
"customproperty11": "status~#~char"
},
"disableDeletedAccounts": true
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty12",
"activeStatus": [
"Active"
]
},
"entTypes": {
"Group": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"http": {
"url": "********",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "",
"keyField": "entitlementID",
"statusConfig": {
"status": "Active"
},
"colsToPropsMap": {
"entitlementID": "roleUniqueKey~#~char",
"entitlement_value": "roleUniqueKey~#~char",
"customproperty12": "status~#~char"
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"connection": "acctAuth",
"entTypes": {
"Group": {
"acctKeyField": "accountID",
"call": {
"call3": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpAcctToEnt",
"http": {
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"url": "********/${id}",
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "userRoles",
"acctIdPath": "userUniqueKey",
"entIdPath": "roleUniqueKey",
"entKeyField": "entitlementID",
"acctKeyField": "accountID"
}
}
}
}
}
}

 

Sample Payload

{
    "userUniqueKey": "xyz",
    "status": "Active",
    "createdBy": "IGA_User",
    "modifiedBy": "IGA_User",
    "createdOn": "2024-03-14T10:19:11.2",
    "modifiedOn": "2024-03-14T10:20:30.54",
    "refreshToken": null,
    "refreshTokenExpiry": "0001-01-01T00:00:00",
    "firstName": "firstname",
    "lastName": "lastname",
    "email": "fname@dev.com",
    "userType": "xya",
    "lastAccessRoleUniqueKey": null,
    "jwtToken": null,
    "userRoles": [
        {
            "userRoleUniqueKey": "xyz",
            "status": "Active",
            "createdBy": "IGA_User",
            "modifiedBy": "IGA_User",
            "createdOn": "2024-03-14T10:20:30.543",
            "modifiedOn": "2024-03-14T10:20:30.543",
            "userUniqueKey": "xyz",
            "roleUniqueKey": "xyz",
            "isAdd": null
        }
    ],
    "partners": [],
    "hasErrors": false
}
 
 

 

1 REPLY 1

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @Srinidhan,

Are there seprate call for the Account and Entitlments or in the one single call you are getting the account and entitlment information.

Please share the postman screeenshot.

Please try with the below json,

{
  "accountParams": {
    "connection": "acctAuth",
    "processingType": "SequentialAndIterative",
    "statusAndThresholdConfig": {
      "statusColumn": "customproperty11",
      "activeStatus": [
        "Active"
      ],
      "deleteLinks": true,
      "accountThresholdValue": 100,
      "correlateInactiveAccounts": true,
      "inactivateAccountsNotInFile": false,
      "deleteAccEntForActiveAccounts": true
    },
    "call": {
      "call1": {
        "callOrder": 0,
        "stageNumber": 0,
        "http": {
          "url": "********",
          "httpHeaders": {
            "Authorization": "${access_token}"
          },
          "httpContentType": "application/x-www-form-urlencoded",
          "httpMethod": "GET"
        },
        "listField": "",
        "keyField": "accountID",
        "statusConfig": {
          "status": "Active"
        },
        "colsToPropsMap": {
          "accountID": "userUniqueKey~#~char",
          "name": "email~#~char",
          "customproperty11": "status~#~char",
          "customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
        },
        "disableDeletedAccounts": true
      }
    }
  },
  "entitlementParams": {
    "connection": "acctAuth",
    "processingType": "SequentialAndIterative",
    "statusAndThresholdConfig": {
      "statusColumn": "customproperty12",
      "activeStatus": [
        "Active"
      ]
    },
    "entTypes": {
      "Group": {
        "entTypeOrder": 0,
        "call": {
          "call1": {
            "callOrder": 0,
            "http": {
              "url": "********",
              "httpHeaders": {
                "Authorization": "${access_token}",
                "Accept": "application/json"
              },
              "httpContentType": "application/x-www-form-urlencoded",
              "httpMethod": "GET"
            },
            "listField": "userRoles",
            "keyField": "entitlementID",
            "statusConfig": {
              "status": "Active"
            },
            "colsToPropsMap": {
              "entitlementID": "roleUniqueKey~#~char",
              "entitlement_value": "roleUniqueKey~#~char",
              "customproperty12": "status~#~char"
            },
            "disableDeletedEntitlements": true
          }
        }
      }
    }
  },
  "acctEntParams": {
    "connection": "acctAuth",
    "entTypes": {
      "Group": {
        "acctKeyField": "accountID",
        "call": {
          "call3": {
            "callOrder": 0,
            "stageNumber": 0,
            "processingType": "httpAcctToEnt",
            "http": {
              "httpHeaders": {
                "Authorization": "${access_token}",
                "Accept": "application/json"
              },
              "url": "********/${id}",
              "httpContentType": "application/x-www-form-urlencoded",
              "httpMethod": "GET"
            },
            "listField": "userRoles",
            "acctIdPath": "userUniqueKey",
            "entIdPath": "roleUniqueKey",
            "entKeyField": "entitlementID",
            "acctKeyField": "accountID"
          }
        }
      }
    }
  }
}


First run the account import and check the customproperty31 has values.
and after that run the access import job and after the accessimport job compeletion
please check the entitlments being imported.

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".