We wanted to make an announcement about a recent breaking change that many of you may have already encountered. A few weeks ago, we changed how we handle errors for requests that attempt to access premium-only features in a non-premium workspace. At the time we felt the change would be simple and for the betterment of our developers and our platform team, without being fully cognizant of how it would affect our developer community. When the change landed, many apps immediately suffered failures as a result, due to relying on the original behavior.
We’re sorry about this. You can read the full details on our developer blog, including our plans for communicating these changes better in the future, as well as a full migration strategy for the change. The quick details are:
- Currently in the API when trying to perform a premium only action from a non-premium workspace, you will get a
402 Payment Requiredfor reads (HTTP GET), and
403 Forbiddenfor writes (HTTP POST, PUT, DELETE, etc.).
On March 13th, 2018 we will change this to make
402 Payment Requiredthe error for reads and writes.
To migrate your code during this time period, we suggest you:
- Add code to handle 402 error codes distinctly from 403 error codes.
- To smoothly transition when we make the final change, in code that handles 403 errors, check the error message for the string “not available for free”, and process these errors as you would a 402 error. This will ensure your code correctly handles write requests that return a 403 when payment is required (this will no longer be necessary as of March 13th).
- See our documentation on errors for information on the format of the JSON response.
All of the latest client libraries support handling the new 402 error code, both before and after the migration of our write endpoints to the new error code.
Please feel free to let us know if you have any questions or thoughts below, and feel free to send us an email at email@example.com for more direct support with this change. We’ll also have more announcements to make soon, so if you aren’t on it already, please join our developer newsletter via the form on our developer blog
- Asana Developer Relations
*Note that on our blog it says that the date is March 12th, 2018 - this will be updated soon, but the actual date is the one presented here: Tuesday, March 13th, 2018