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 REST accounts import always returns active status for all accounts

NidhiSingh
New Contributor
New Contributor

Hello,

We noticed that Sav4Sav REST accounts that are disabled (Manually Suspended) using a disable account JSON, go back to the active state the next time our Sav4SavREST account import jobs run. 

I suppose this is related to statusColumn/activeStatus in the ImportAccountEntJSON connection but I cannot seem to find the correct configuration to make this work as expected. We would like to have inactive users also showing inactive Sav4SavREST accounts. I wrote separate STATUS_THRESHOLD_CONFIG JSON for resolution, but it's not working.

Attached is the current configuration of both Import AccountEnt JSON and STATUS_THRESHOLD_CONFIG JSON.

Thank you for the help!

10 REPLIES 10

rushikeshvartak
All-Star
All-Star

Missing attachment 


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

Apologies, have attached it.

[This message has been edited by moderator to mask sensitive information]

Use updated Import JSON

⚠️ Reminder: Mask possible PII such as employee names, email addresses, phone numbers, IP addresses, account details, company-specific URLs, and client names before sharing.⚠️

{
  "accountParams": {
    "connection": "userAuth",
    "processingType": "SequentialAndIterative",
    "statusAndThresholdConfig": {
      "inactivateAccountsNotInFile": true,
      "activeStatus": [
        1
      ],
      "deleteAccEntForActiveAccounts": true,
      "statusColumn": "customproperty11",
      "accountThresholdValue": 10,
      "correlateInactiveAccounts": false,
      "deleteLinks": true
    },
    "call": {
      "call1": {
        "callOrder": 0,
        "stageNumber": 0,
        "http": {
          "url": "https://xxxx-dev.saviyntcloud.com/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://xxxx-dev.saviyntcloud.com/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://xxxx-dev.saviyntcloud.com/ECM/api/v5/getOrganization",
              "httpHeaders": {
                "Authorization": "${access_token}",
                "Accept": "application/json"
              },
              "httpContentType": "application/json",
              "httpMethod": "GETWITHBODY",
              "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://xxxx-dev.saviyntcloud.com/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://xxxx-dev.saviyntcloud.com/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",
              "DESCRIPTION": "ROLEDESCRIPTION~#~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://xxxx-dev.saviyntcloud.com/ECMv6/api/userms/savroles/${id}/users?limit=1000&offset=0",
              "httpContentType": "application/json",
              "httpMethod": "GET"
            },
            "listField": "users",
            "entKeyField": "entitlementID",
            "acctIdPath": "username"
          }
        }
      }
    }
  }
}

 

 


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

after uploading this json also account status is getting changed Manually suspended to Active after the account import job.

Does issue resolved ?


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

No it's same changing back to Active

stalluri
Valued Contributor II
Valued Contributor II

@NidhiSingh 

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

Best Regards,
Sam Talluri
If you find this a helpful response, kindly consider selecting Accept As Solution and clicking on the kudos button.

What is user status in api ? and cp6 value for one of account ?


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

user status is active and CP6 is "1"

use below updated json

{
  "acctEntParams": {
    "entTypes": {
      "SAVRoles": {
        "call": {
          "call1": {
            "acctKeyField": "accountID",
            "callOrder": 0,
            "processingType": "httpEntToAcct",
            "pagination": {
              "offset": {
                "totalCountPath": 999999999,
                "batchParam": "limit",
                "batchSize": 500,
                "offsetParam": "offset"
              }
            },
            "listField": "users",
            "http": {
              "httpContentType": "application/json",
              "httpHeaders": {
                "Authorization": "${access_token}"
              },
              "httpMethod": "GET",
              "url": "https://rushi-eic-partner.saviyntcloud.com/ECMv6/api/userms/savroles/${id}/users"
            },
            "entKeyField": "entitlementID",
            "acctIdPath": "username",
            "connection": "userAuth",
            "stageNumber": 1
          }
        }
      },
      "UserGroups": {
        "call": {
          "call1": {
            "callOrder": 0,
            "processingType": "entToAcctMapping",
            "stageNumber": 0
          }
        }
      }
    }
  },
  "entitlementParams": {
    "entTypes": {
      "SAVRoles": {
        "call": {
          "call1": {
            "keyField": "entitlementID",
            "callOrder": 0,
            "listField": "savroles",
            "http": {
              "successResponses": {
                "statusCode": [
                  200,
                  201
                ]
              },
              "httpContentType": "application/json",
              "httpHeaders": {
                "Authorization": "${access_token}",
                "Accept": "application/json"
              },
              "httpMethod": "GET",
              "url": "https://rushi-eic-partner.saviyntcloud.com/ECMv6/api/userms/savroles"
            },
            "stageNumber": 0,
            "colsToPropsMap": {
              "customproperty1": "CUSTOMPROPERTY1~#~char",
              "entitlementID": "ROLENAME~#~char",
              "entitlement_value": "ROLENAME~#~char"
            }
          }
        },
        "entTypeOrder": 0
      },
      "UserGroups": {
        "call": {
          "call1": {
            "keyField": "entitlementID",
            "callOrder": 0,
            "pagination": {
              "offset": {
                "totalCountPath": "completeResponseMap.totalcount",
                "batchParam": "max",
                "batchSize": 500,
                "offsetParam": "offset"
              }
            },
            "listField": "usergroups",
            "http": {
              "httpParams": "",
              "httpContentType": "application/json",
              "httpHeaders": {
                "Authorization": "${access_token}",
                "Accept": "application/json"
              },
              "httpMethod": "POST",
              "url": "https://rushi-eic-partner.saviyntcloud.com/ECM/api/v5/fetchUserGroup"
            },
            "stageNumber": 0,
            "colsToPropsMap": {
              "acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char",
              "entitlementID": "usergroupkey~#~char",
              "entitlement_value": "user_groupname~#~char"
            }
          }
        },
        "acctEntMappings": {
          "keyField": "accountID",
          "idPath": "username",
          "listField": "owners",
          "importAsAccount": false
        },
        "entTypeOrder": 2
      }
    },
    "processingType": "SequentialAndIterative",
    "connection": "userAuth"
  },
  "accountParams": {
    "call": {
      "call1": {
        "keyField": "accountID",
        "callOrder": 0,
        "pagination": {
          "offset": {
            "totalCountPath": 999999999,
            "batchParam": "max",
            "batchSize": 500,
            "offsetParam": "offset"
          }
        },
        "listField": "results",
        "http": {
          "httpContentType": "application/json",
          "httpHeaders": {
            "Authorization": "${access_token}",
            "Accept": "application/json"
          },
          "httpMethod": "GET",
          "url": "https://rushi-eic-partner.saviyntcloud.com/ECM/api/v5/user?q=accountExpired:0&fields=username,email,displayname,statuskey&sort=username&order=desc"
        },
        "stageNumber": 0,
        "colsToPropsMap": {
          "accountID": "username~#~char",
          "customproperty2": "email~#~char",
          "customproperty11": "statuskey~#~char",
          "displayName": "displayname~#~char",
          "name": "username~#~char",
          "status": "active~#~char"
        }
      }
    },
    "processingType": "SequentialAndIterative",
    "connection": "userAuth",
    "statusAndThresholdConfig": {
      "inactivateAccountsNotInFile": true,
      "activeStatus": [
        1
      ],
      "deleteAccEntForActiveAccounts": true,
      "statusColumn": "customproperty11",
      "accountThresholdValue": 10,
      "correlateInactiveAccounts": false,
      "deleteLinks": true
    }
  }
}

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