rate-limit-exceeded

MyŠkoda Public API problem type

HTTP 429 Too Many Requests

Type URI: https://public.api.connect.skoda-auto.cz/problems/rate-limit-exceeded

When it occurs

The quota this API grants per API key and vehicle is used up for the current window. The RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset headers describe the quota and are present on every rate-limited response, not only on this one.

This is the limit of this API. The vehicle enforces limits of its own, which are reported as vehicle-not-accepting-requests - also with status 429. Use the type member to tell the two apart: RateLimit-Remaining: 0 does not, because the request that uses up the last of the quota can be the one the vehicle declines.

Example response

{
  "type": "https://public.api.connect.skoda-auto.cz/problems/rate-limit-exceeded",
  "title": "Too Many Requests",
  "status": 429,
  "detail": "Rate limit exceeded. Retry after 1583 seconds.",
  "instance": "/api/v1/vehicles/TMBJB9NY5RF999999/charging/start"
}

What to do

Wait at least the number of seconds given in the Retry-After response header, which is when the current window ends. Reading RateLimit-Remaining as you go and spacing requests out over the window avoids the rejection altogether; polling a vehicle in a tight loop is what exhausts the quota fastest.

Back to the documentation