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

Inconsistent attribute names in Saviynt Campaign APIs

Kaushik
New Contributor II
New Contributor II

1) When we call Saviynt API fetchCampaignAccEntDetails with params: {"campaignId": "14","certifierUsername":"aaaa"}

Following is sample response:
"campaignAccountEntDetails": [
{
"certkey": "10111",
"certificationname": "UserManager_AnnualCampaign_5Sep2023....",
"status": "In progress",
"usercount": 5,
"users": [
{
"certuserkey": 110050,
"comments": "",
"displayname": "aaaaa",
"region": "ASIA",
"username": "aaaa",
"certfied": "WORKSFORME",
"comment": null,
"userStatus": 1,
"accountCount": 2,
"consulted": "false",
"accounts": [
{
"certaccountkey": 2517,
"accountname": "aaaaa",
"endpoint": "AAAA",
"certified": "1",
"certfied": null,
"consulted": "false",
"comments": null,
"accountStatus": "1",
"entitlementcount": 5,
"entitlements": [
{
"certEntitlementkey": 34890,
"entname": "aaaaaa",
"enttype": "aaaaaa",
"entcriticality": 0,
"entcertified": null,
"entcomments": null,
"entStatus": 1,
"consulted": "false"
},

But when we call same API with additional param: {"returnFlatResponse":"true"}
Following is sample response(Attribute names have changed for same API call):
{
"STATUS": null,
"CERTIFICATION": "UserManager_AnnualCampaign_5Sep2023_2 - pghotika (Prashant Ghotikar)",
"CERTIFIER": "pghotika",
"CERTIFICATIONSTATUS": "In progress",
"CERTKEY": "10111",
"CERT_ENTITLEMENT_VALUEKEY": 34890,
"CERT_USERKEY": 110050,
"CERT_ACCOUNTKEY": 2517,
"ENTITLEMENT_VALUE": "EIS:ENG-IdentityAccessCtrl_Project-Approval",
"ENTITLEMENTTYPE": "Group",
"ENDPOINT": "CMDB",
"SYSTEMNAME": "CMDB",
"ACCOUNTNAME": "smathkar",
"USERNAME": "smathkar"
},
How can Saviynt have 2 different sets of Attribute Names for same API.

2) Call to Saviynt API: fetchCampaignAccEntDetails returns "campaignId" (note I is uppercase here) as one of the attributes. When we use same attribute name in next Saviynt API call : approverejectCampaignAccEntDetails it returns HTTP Error 412 since it expects attribute name "campaignid" (note I is lowercase here). This is another example of inconsistent Attribute Names across Campaign APIs.

3) Call to Saviynt API: fetchCampaignAccEntDetails with params: {"returnFlatResponse":"true","max":"10","offset":"0" } enables pagination. It returns first 10 records but does not return total number of records. We have to call same API twice : first without above mentioned params to find out total count of records and again with above mentioned params to retreive the required data. API behavior needs to be optimized.

2 REPLIES 2

DaanishJawed
Saviynt Employee
Saviynt Employee

Hi @Kaushik ,

1. returnFlatResponse was included in the APIs to return a response similar to what is displayed in the user interface in 2nd Step. It is returning a response for each row in every table.

Agreed on points 2 & 3. Please have them submitted in the Ideas portal in order to be reviewed by the PM team since this will be considered as an enhancement.

Thanks.

I have submitted in the Ideas portal