December 2, 2024
The December 2, 2024 Karbon API release adds compressed responses and introduces API rate limiting
Compressed API responses
The Karbon API can now compress response payloads - this often significantly reduces the size of the transmitted response and the total time taken to complete the request.
In order to specify the response should be compressed, the
Accept-Encoding
gzip
Accept-Encoding: deflate, gzip
Content-Encoding: gzip
gzip
As an example:
- A request to the endpoint returns an uncompressed payload of 768kb and takes ~1500ms.JSONCopied!
/v3/WorkItems
- With the header set toJSONCopied!
Accept-Encoding
, the response is compressed to 56kb and takes ~650ms.JSONCopied!gzip
Please note that actual compressed payload sizes and response durations will differ depending on factors such as the compressibility of the data and network speed.
API Rate Limiting
The Karbon API now enforces a limit on the number of requests that can be made per minute. When the rate limit is hit, the HTTP
429
Retry-After
We recommend API users keep to a maximum of 120 requests per minute (2 requests per second) and implement handling of HTTP
429
The limit is applies to the combination of the Karbon account and API application, for example:
- an API application connected to 10 different Karbon accounts
- for one of the accounts, the API application makes 600 requests per minute and is rate limited
- for each of the other 9 accounts the request volume is 90 requests per minute no rate limiting is applied