Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

Sav4Sav working examples of connectionJson and importUserJson?

jralexander137
Regular Contributor
Regular Contributor

Hi I was wondering if anyone could provide examples of their sav4sav connectionJsons and userImportJsons that they are using and actually have working? Minus sensitive info. 

3 REPLIES 3

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @jralexander137,

Please find the sample below ,
Connections Json (SavforSav) Rest

 

{
    "authentications": {
        "userAuth": {
            "authType": "oauth2",
            "httpHeaders": {
                "Content-Type": "application/json"
            },
            "authError": [
                "USER_AUTHENTICATION_FAILED",
                "PARTNER_AUTHENTICATION_FAILED",
                "AuthenticationFailed"
            ],
            "url": "XXXXXX",
            "httpMethod": "POST",
            "httpContentType": "application/json",
            "errorPath": "errorCode",
            "maxRefreshTryCount": 5,
            "tokenResponsePath": "accessToken",
            "tokenType": "Bearer",
            "authHeaderName": "Authorization",
            "accessToken": "bearer abcd",
            "httpParams": "{\"username\": \"XXXX\",\"password\": \"XXXX\"}",
            "retryFailureStatusCode": [
                401
            ]
        }
    }
}

 

Import Account Json,

 

{
	"type": "multiCall",
	"call": [
		{
			"name": "call1",
			"connection": "userAuth",
			"url": "XXXXX",
			"httpParams": "{\"analyticsid\": \"XXXX\"}",
			"httpMethod": "POST",
			"httpHeaders": {
				"Authorization": "${access_token}",
				"Accept": "application/json"
			},
			"httpContentType": "application/json",
			"userResponsePath": "result",
			"colsToPropsMap": {
				"username": "IDENTITYID~#~char",
				"systemusername": "LOGONNAME~#~char",
				"email": "${LOGONNAME + '@XXXX'}~#~char"
			},
			"pagination": {
				"offset": {
					"offsetParam": "offset",
					"batchParam": "displaycount",
					"batchSize": 50,
					"totalCountPath": "completeResponseMap.total"
				}
			}
		}
	]
}

 

For Ref : 
https://docs.saviyntcloud.com/bundle/Saviynt-REST-based-Guide/page/Content/Understanding-Integration... 


Thanks

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

rushikeshvartak
All-Star
All-Star

Connection JSON

{
  "authentications": {
    "acctAuth": {
      "authType": "oauth2",
      "httpHeaders": {
        "Accept": "application/json"
      },
      "authError": [
        "InvalidAuthenticationToken"
      ],
      "url": "https://SaviyntURL/ECM/api/login",
      "httpMethod": "POST",
      "httpContentType": "application/json",
      "errorPath": "error.code",
      "maxRefreshTryCount": 2,
      "tokenResponsePath": "access_token",
      "tokenType": "Bearer",
      "authHeaderName": "Authorization",
      "accessToken": "Bearer ABCD",
      "httpParams": "{\"username\":\"admin\",\"password\":\"Not4$password\"}",
      "retryFailureStatusCode": [
        401
      ]
    }
  }
}

 

 

 

Import Account JSON

{
   "accountParams":{
      "connection":"userAuth",
      "processingType":"SequentialAndIterative",
      "call":{
         "call1":{
            "callOrder":0,
            "stageNumber":0,
            "http":{
               "url":"https://<EIC_URL>.saviyntcloud.com/ECM/api/v5/getUser",
               "httpHeaders":{
                  "Authorization":"${access_token}"
               },
               "httpContentType":"application/json",
               "httpMethod":"POST",
               "httpParams":"{\"userQuery\":\"user.username is not null\"}"
            },
            "listField":"userdetails",
            "keyField":"accountID",
            "colsToPropsMap":{
               "accountID":"username~#~char",
               "name":"username~#~char",
               "displayName":"username~#~char",
               "customproperty31":"STORE#ACC#ENT#MAPPINGINFO~#~char"
            }
         }
      }
   },
   "entitlementParams":{
      "connection":"userAuth",
      "processingType":"SequentialAndIterative",
      "entTypes":{
         "SAVRole":{
            "entTypeOrder":1,
            "call":{
               "call1":{
                  "callOrder":0,
                  "listField":"result",
                  "keyField":"entitlement_value",
                  "http":{
                     "url":"https://<EIC_URL>.saviyntcloud.com/ECM/api/v5/fetchControlDetailsES?analyticsid=1470",
                     "httpMethod":"GET",
                     "httpContentType":"application/json",
                     "httpHeaders":{
                        "Authorization":"${access_token}"
                     },
                     "httpParams":"{\"offset\":\"0\"}"
                  },
                  "colsToPropsMap":{
                     "displayname":"ROLENAME~#~char",
                     "entitlementID":"ROLEKEY~#~char",
                     "description":"ROLEDESCRIPTION~#~char",
                     "entitlement_value":"ROLENAME~#~char"
                  }
               }
            }
         }
      }
   },
   "acctEntParams":{
      "connection": "userAuth",
      "entTypes": {
         "SAVRole": {
            "call":{
               "call1":{
                  "callOrder":0,
                  "stageNumber":0,
                  "processingType": "httpEntToAcct",
                  "http":{
                     "url":"https://<EIC_URL>.saviyntcloud.com/ECM/api/v5/fetchControlDetailsES?analyticsid=1471",
                     "httpMethod":"GET",
                     "httpContentType":"application/json",
                     "httpHeaders":{
                        "Authorization":"${access_token}"
                     },
                     "httpParams":"{\"filtercriteria\":{\"rolekey\":[\"${id}\"]}}"
                  },
                  "listField":"result",
                  "entKeyField": "entitlementID",
                  "acctIdPath": "username",
                  "acctKeyField": "accountID"
               }
            }
         }
      }
   }
}

 

Documentation : https://docs.saviyntcloud.com/bundle/Saviynt-REST-based-Guide/page/Content/Understanding-Integration... 


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

Manu269
All-Star
All-Star

Refer this :

================ CONNECTION JSON ====================

{
"authentications": {
"userAuth": {
"authType": "oauth2",
"url": "https://<EIC URL>/ECM/api/login",
"httpMethod": "POST",
"httpParams": "{\"username\": \"xxx\",\"password\": \"xxxx\"}",
"httpContentType": "application/json",
"httpHeaders": {
"Content-Type": "application/json"
},
"authError": [
"USER_AUTHENTICATION_FAILED",
"PARTNER_AUTHENTICATION_FAILED",
"AuthenticationFailed"
],
"errorPath": "errorCode",
"maxRefreshTryCount": 5,
"tokenResponsePath": "access_token",
"tokenType": "Bearer",
"authHeaderName": "Authorization",
"accessToken": "Bearer abcd",
"retryFailureStatusCode": [
401
]
}
}
}


=====================ImportAccountEntJSON========================
{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty11",
"activeStatus": [
1
],
"deleteLinks": true,
"accountThresholdValue": 10,
"correlateInactiveAccounts": false,
"inactivateAccountsNotInFile": true,
"deleteAccEntForActiveAccounts": true
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://<EIC URL>/ECM/api/v5/user?q=accountExpired:0&fields=username,email,displayname,statuskey&sort=username&order=desc",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "results",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "username~#~char",
"name": "username~#~char",
"displayName": "displayname~#~char",
"customproperty2": "email~#~char",
"customproperty11": "statuskey~#~char",
"status": "active~#~char"
},
"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "max",
"batchSize": 500,
"totalCountPath": 999999999
}
}
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Roles": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://<EIC URL>/ECM/api/v5/getRoles",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "POST",
"httpParams": "{\"requestedObject\":\"users\"}"
},
"listField": "Roledetails",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "roleKey~#~char",
"entitlement_value": "role_name~#~char",
"customproperty1": "roleKey~#~char",
"customproperty2": "role_name~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"listField": "owner",
"idPath": "ownername",
"keyField": "accountID",
"importAsAccount": false
}
},
"Organization": {
"entTypeOrder": 1,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://<EIC URL>/ECM/api/v5/getOrganization",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET",
"httpParams": "{\"max\": \"1000\",\"offset\": \"0\",\"orgQuery\": \"c.organizationname like '%%'\"}"
},
"listField": "organizations",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "organizationname~#~char",
"entitlement_value": "displayname~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"listField": "organizationowners",
"idPath": "username",
"keyField": "accountID",
"importAsAccount": false
}
},
"UserGroups": {
"entTypeOrder": 2,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://<EIC URL>/ECM/api/v5/fetchUserGroup",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "POST",
"httpParams": ""
},
"listField": "usergroups",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "usergroupkey~#~char",
"entitlement_value": "user_groupname~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"listField": "owners",
"idPath": "username",
"keyField": "accountID",
"importAsAccount": false
}
},
"SAVRoles": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://<EIC URL>/ECMv6/api/userms/savroles",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET",
"successResponses": {
"statusCode": [
200,
201
]
}
},
"listField": "savroles",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "ROLENAME~#~char",
"entitlement_value": "ROLENAME~#~char",
"customproperty1": "CUSTOMPROPERTY1~#~char"
}
}
}
}
}
},
"acctEntParams": {
"entTypes": {
"Roles": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "entToAcctMapping"
}
}
},
"Organization": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "entToAcctMapping"
}
}
},
"UserGroups": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "entToAcctMapping"
}
}
},
"SAVRoles": {
"call": {
"call1": {
"connection": "userAuth",
"acctKeyField": "accountID",
"callOrder": 0,
"stageNumber": 1,
"processingType": "httpEntToAcct",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://<EIC URL>/ECMv6/api/userms/savroles/${id}/users?limit=1000&offset=0",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "users",
"entKeyField": "entitlementID",
"acctIdPath": "username"
}
}
}
}
}
}

Regards
Manish Kumar
If the response answered your query, please Accept As Solution and Kudos
.