I have a few json's that I'm posting with the access-token as header, when I send two parameters I get a status message from my rest api successfully, but when I send more than 2 parameters I get the following error:

  "message" : "Unexpected parameter encountered during deserialization: <keyName> at [line:3, column:16]",
  "errorCode" : "JSON_PARSER_ERROR"

I enter the same json I give as input in the workbench and there seems to be no error, I get a custom status message atleast even if there are no values retrived(given below):

"statusReason":"No records were found with submitted criteria.",

any one who knows the answer to this bizarre problem...let me know why. WHY ONLY 2?????? my api works, else it would not retrieve the values on work bench! I send the same JSON in both cases, I assure you that! is there some permission or something? then it shouldn't run for any case right? why run where there are 2 parameters??




Global static APIService.Response OutREST(String AccountId, String Key, String startdate)
    APIService.Response response = APIHandler.getData('REST', accountId, Key, startdate, null , null, false);
    return response;
  • Can you add your JSON input and the webservice details ? Feb 12, 2017 at 17:19

1 Answer 1


Notice that you have Invalid JSON for input ,The correct JSON can be validated at JSONlint.com

Here is the corrected JSON try this

"AccountId": "UxooAgHab001gUm",
"Key": "okay",
"startdate": "2016-12-17"

Carefully notice the comma you have after third parameter .

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .