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

Updateaccountjson call delete method for rest API

Kirti14
New Contributor
New Contributor

I tried performing delete request method for email authentication method but its showing error 

{
  "call": [
  {
      "name": "call1",
      "connection": "AzureADProvisioning",
      "httpMethod": "DELETE",
      "httpParams":{},
      "httpHeaders": {
        "Authorization": "${access_token}",
        
      },
      "httpContentType": "application/json",
      "successResponses": {
        "statusCode": [
          201
        ]
      }
}
 
  ]
  }
 
Error:
{"auditDetails":{"call1":[{"message":"No signature of method: com.saviynt.provisoning.rest.RestUtilService.getDynamicBindString() is applicable for argument types: (java.util.LinkedHashMap, java.util.HashMap) values: [[:], [ServiceAccountOwnerMap:[:], endpoints:EntraIDDev, ...]]\nPossible solutions: getDynamicBindString(java.lang.String, java.util.Map)","status":"Failed"},
 
@ kindly help me out.
8 REPLIES 8

Dhruv_S
Saviynt Employee
Saviynt Employee

Hi @Kirti14 

Could you please share more information about the issue.

1. Which connector -Azure connector or REST connector?

2. What action you are trying to perform on the account? Are the tasks getting generated? Are the tasks getting processed? Any error on the tasks?

3. Please share the documentation link used to refer the JSON. 

4. If you are using the REST connector-Is the same action you are able to perform via postman?

5. Please share the screenshots which are relevant for the issue.

Regards,

Dhruv Sharma

AmitM
Valued Contributor
Valued Contributor

Hi @Kirti14 , you need to provide more details.

"connection": "AzureADProvisioning", you dont pass connector name name here instead connection name in connectionJSON. Generally , it is userAuth or acctAuth.

Also validate your API call in postman before trying it in Saviynt

Thanks,

Amit

If this answers your query, Please ACCEPT SOLUTION and give KUDOS.

flegare
Regular Contributor III
Regular Contributor III

Hi @AmitM @Dhruv_S ,

Some additional information on this one...  this is the REST connector to provision into AzureAD.  The connection is actually named AzureADProvisioning and works as expected for other provisioning activities.

We are trying to remove an assigned email authentication method for a user.

Graph api documentation: Delete emailAuthenticationMethod - Microsoft Graph v1.0 | Microsoft Learn

The call works fine when invoked from Postman.

Existing email methods prior to removal

flegare_1-1709729437097.png

Removal operation:

flegare_2-1709729483180.png

Email methods after removal:

flegare_3-1709729512277.png

When invoking from Saviynt at provisioning time after task has been created, with similar content, we are getting the "No signature of method" exception.  Is it possible this has to do with the empty payload we have to send?

Thanks in advance!

 

 

Dhruv_S
Saviynt Employee
Saviynt Employee

Hi @flegare @Kirti14 

In updateaccountJSON, PUT method is supported. Hence DELETE seems to be giving an issue here.

Can you please confirm what is emailauthenticationmethod in Azure application. Is it an entitlement? If it is an entitlement, then please try the above JSON in REMOVEACCESSJSON. 

Regards,

Dhruv Sharma

flegare
Regular Contributor III
Regular Contributor III

Sorry for the delay on this...  Azure Email Authentication Methods is not an entitlement, it's more related to an account property.

Anyways, long story short, this issue has been resolved by using the proper syntax..

Please share working configs


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

flegare
Regular Contributor III
Regular Contributor III

UpdateAccountJSON statement is fairly long but key part is:

"name": "call3",
"connection": "AzureADProvisioning",
"url": "https://graph.microsoft.com/v1.0/users/${account.accountID}/authentication/emailMethods/${response.c...,
"httpMethod": "DELETE",
"httpParams": "{}",
"httpHeaders": {
  "Authorization": "${access_token}"
},
"httpContentType": "application/json",
"callCondition": "${user.customproperty26!=null && user.customproperty26!=user.customproperty29}",
"successResponses": {
  "statusCode": [
    200,
    201,
    204,
    205
  ]
},
"unsuccessResponses": {
  "statusCode": [
    404
  ]
}

Thanks you should close the thread


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.