Skip to content

v1.5.0

Latest
Compare
Choose a tag to compare
@brunomvsouza brunomvsouza released this 09 Feb 00:10
c5cee68

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"
  }
}