APIs started failing

We suddenly started getting this error in response to all API calls,
An error occurred while converting json to xml: Json has Unexpected member 'access_mode'..-{ActivityName=ParseJSON, ProcessName=SubProcess.GetToken, ModuleName=IA069-001_SS_UpdatePayees_BB}
Get Token service is consistent as earlier or something has got changed last week since Friday 29th April as there wasn’t any issue in this service call till date. Get Token service contains a new element ‘access mode’ which wasn’t present earlier and while parsing the response we are receiving the above exceptions?

Any advice would be greatly appreciated.

Comments

  • Daniel Leonard
    Daniel Leonard Blackbaud Employee
    Eighth Anniversary Kudos 2 Name Dropper Participant

    Hi Mitesh,

    Sorry you are experiencing problems with the API.

    We did add properties to our token response in support of a new feature, which should not be considered a breaking change. In the future, we may add more properties to token response or change the property name of undocumented properties until we finalize the name. You will likely want to handle new properties differently when converting JSON to XML.

  • Hi Daniel, so you mean to say there is change on your side and due to that our api calls stopped. What change needs to be done on our side and when did you made that change? we are not aware of any change and how we are notified?

  • Chris Rodgers
    Chris Rodgers Blackbaud Employee
    Ninth Anniversary Kudos 3 Name Dropper Participant

    Hi Mitesh,

    As Daniel stated, while we do consider certain changes to documented properties to be "breaking changes" (e.g. removals, renames, changing response types), we don't classify additions the same way. This applies to all SKY API endpoints--not just OAuth's Token endpoint. Your application should accommodate (or otherwise ignore) new properties. I'll also note (because it may apply to what your application is doing) that the order of properties is not guaranteed either. Your application should serialize our API responses by getting the JSON properties by name--not position.

    After reviewing our documentation, we'll update our Breaking Change language to make it clear that additive "changes" (new APIs, endpoints, optional request properties, response properties) are excluded from that definition.

Categories