Important
This release introduces a breaking change by removing the public behavior related to rate limiting information, which was previously provided via the X-Rate-Limit
header. This change was necessary because the rate limiting code was rendering the library unusable.
Added: Delete Transactions Support
The lib now supports deleting transactions!
Big thanks to @snarlysodboxer for their contribution! 🍻
Removed: Rate Limiting Code
All code associated with the now-discontinued X-Rate-Limit
response header is now gone.
A huge thanks to @mschilli and @tedpearson for contributing patches to address this change! 🍻
Note
The only way to determine if you’ve exceeded the rate limit is now by checking the id, name, and detail fields of the *api.Error
.
From https://api.ynab.com/#rate-limiting:
An access token may be used for up to 200 requests per hour.
The limit is enforced within a rolling window. If an access token is used at 12:30 PM and for 199 more requests up to 12:45 PM and then hits the limit, any additional requests will be forbidden until enough time has passed for earlier requests to fall outside of the preceding one-hour window.
If you exceed the rate limit, an error response returns a 429 error:
HTTP/1.1 429 Too Many Requests Content-Type: application/json; charset=utf-8 { "error": { "id": "429" "name": "too_many_requests" "detail": "Too many requests" } }