So I’m trying to call the URL https://a.klaviyo.com/api/metrics in the API, and since yesterday, I’m getting blocked by Klaviyo and I receive these errors:
Is there a way I could authenticate my calls so that I’m not blocked by Klaviyo? I’ve been calling the API for a few years now without problems, it all began yesterday.
Thank you!
--Marie
Best answer by whereisjad
@Nymesia Could excessive calls from your server have resulted in your IP address being temporarily blocked from making further API requests?
To prevent this issue, I recommend implementing rate limiting in accordance with the guidelines outlined here:
@whereisjad The thing is we already have rate limiting in place that respects the limits per the documentation, so I would have thought it would be enough. But thanks for the support link!
Our request server is on Azure and we use a reverse proxy as our rate limiting system. The request between Azure and our rate limiting system contains the header X-Original-URL, which is violating this CVE (this bit of information was given to us by Klaviyo’s support team). This header was also transferred to our request to Klaviyo’s API. However, Klaviyo’s API Cloudflare layer blocks calls which contains the header X-Original-URL, so all our calls were blocked.
To solve the problem, we removed this header in our request to Klaviyo’s API and it looks like it’s working!