I have a scenario where response of a specific API call needs to be stored in users table. I tried using Saviynt API - updateUser -https://documenter.getpostman.com/view/1797923/TVsvi7G2#5e6acb36-5804-4301-bda3-9cf3ba14c402
The update is working fine as well but the call is almost taking 2 mins and while checking the logs could see that it's processing all tech rules as well even through the attribute I updated didn't match any existing rules. Not sure what's happening in the backend.
Detailed logs are shared in the freshdesk ticket for review - https://saviynt.freshdesk.com/support/tickets/1622631
Kindly check and assist.
I found from the documentation that passing inlineruleevaluation as falsewill stop the rules from getting processed and it's working as well - https://documenter.getpostman.com/view/1797923/TVsvi7G2#5e6acb36-5804-4301-bda3-9cf3ba14c402
inlineruleevaluation - true/ false (default is true), if true then rules will be evaluated immediately, if false rules will be evaluated by a job.
@Saviynt Team: I have couple of questions here.
1) When the user is updated with inlineruleevaluation: false, then the rules are not processed but available in the execution trail as Not Processed.
It's mentioned in the documentation that It's highly recommended to pass inlineruleevaluation:"false" for bulk load and call processrules api to evaluate and run the rules after the load is done.
In my case, the update to this attribute won't match any user update rule but if I send inlineruleevaluation: false, it will load the execution trail with lot of Not processed user changes. So, what it's the recommendation here?
2) Could you guys confirm why inlineruleevaluation: trueis executing all the birthright rules. Ideally, it should execute only the update rules and when there is an action of re-run all / selected provisioning rules for the matched update rule, it should execute specific technical rules. The existing behaviour is kind of weird.
Please find the responses accordingly below
1. When ever there is a bulk upload we highly recommend to put inlineruleevaluation as false as there is no issues in Api update. Now even though you don't have any attribute matching suggest you to pass it has false.
2. As execution trial is now loaded if you have done a bulk upload , you can run the process rule Api now.
Now in both calls if you send this in the body "runzerodayrules" : "false", then it will not check zeroday rules and run only user udpate rules
Note: inline rule evaluation if its true it checks zerodays rules by default, its the product behavior.
Just to clarify its not executing the rules but it is checking the birthright access and if doesn't match it removes for update user ( even from UI this is the behaviour ).
So better to suggest you to use second approach put inlineruleevalaution as false and then in processrules Api just pass it as false where it will work as expected.
I agree, so that's why we have the variable to set it inlineruleevaluation as false so that the performance is improved and run the Process Api call as you wish.
Now why is this needed is being explained in above response already, so these you can use those variables accoridngly.