API changes in 5.4 (action may be required before July 6th)
In Version 5.4, which was just released on June 15th, Wild Apricot has made changes to the authentication process https://help.wildapricot.com/display/DOC/API+V2+authentication for its API. We have moved from account-based authentication to the more secure application-based authorization. Instead of generating a single API key that provides complete access to your entire Wild Apricot account, you authorize individual applications, each of which are assigned separate credentials. If you've previously generated an API key for your account – prior to the 5.4 release – it will automatically be converted to an authorized application called Legacy API key.
If you are currently using an API key to authenticate your application, you can continue to do so, and no code changes are required.
If you are using Wild Apricot account credentials to authenticate your application, you must change the authorization header of your authentication token request. Specifically, you must, within the authorization header, set username to the client ID assigned to your application when you authorized it, and set password to the client secret assigned to your application. Currently, username is set to the application name and password is set to open_wa_api_client (a constant). You will have until July 6, 2015 to make this change. On this date, the account-based authentication method will stop functioning.
As well, Wild Apricot has changed the possible scope https://help.wildapricot.com/display/DOC/API+V2+authentication#APIV2authentication-Supportedscopes values when restricting access using Wild Apricot's API. This is necessary to support the ability to restrict API key access to read-only functions. One of the new scopes – auto – will automatically detect the maximum allowed scope using the API key access level or the user's Wild Apricot account permissions, depending on which was used when requesting an authentication token. No code changes will be required because of this change as newly obsolete scopes will be automatically substituted by the corresponding new scope.