Naar hoofdinhoud gaan

Snelheidslimieten

De VaultPAM API dwingt snelheidslimieten per client af om de stabiliteit van de service te beschermen. Alle API-antwoorden bevatten x-ratelimit-* headers zodat uw client het huidige verbruik kan volgen en op tijd kan terugtrekken voordat een limiet wordt bereikt.


Antwoordheaders

Elk API-antwoord bevat de volgende headers:

HeaderTypeBeschrijving
x-ratelimit-limitintegerMaximum aantal aanvragen dat in het huidige venster is toegestaan
x-ratelimit-remainingintegerAanvragen resterend in het huidige venster
x-ratelimit-resetUnix timestamp (seconden)Wanneer het huidige venster wordt opnieuw ingesteld

Bij een 429 Too Many Requests antwoord wordt een extra header opgenomen:

HeaderTypeBeschrijving
retry-afterinteger (seconden)Minimale wachttijd voordat opnieuw wordt geprobeerd

Alle headers gebruiken lowercase namen.


Snelheidslimiet-categorieën

De API past verschillende limieten toe afhankelijk van het bewerkingstype en de belmodus. De x-ratelimit-* headers in elk antwoord geven de limietcategorie weer die van toepassing is op die specifieke aanvraag.

Referentiewaarden (richtlijn alleen — behandel x-ratelimit-* headers als gezaghebbend):

CategorieLimiet
Aanmeldpogingen per IP60 per minuut
API-aanvragen per IP300 per minuut
API-aanvragen per geverifieerde gebruiker120 per minuut
Gevoelige bewerkingen per gebruiker30 per minuut
Headers zijn gezaghebbend

De hierboven weergegeven limieten documenteren de huidige standaardinstellingen. Gebruik de x-ratelimit-limit en x-ratelimit-remaining waarden in elk antwoord om herinprobeerbesluiten te nemen — de gepubliceerde nummers kunnen zonder kennisgeving veranderen.


Omgang met 429-antwoorden

Wanneer u een 429 Too Many Requests antwoord ontvangt:

  1. Lees de waarde van de retry-after header (seconden).
  2. Pauzeer uw aanvraagloop voor minimaal die duur.
  3. Probeer de aanvraag opnieuw.

Voorbeeldantwoord:

HTTP/1.1 429 Too Many Requests
x-ratelimit-limit: 120
x-ratelimit-remaining: 0
x-ratelimit-reset: 1747483200
retry-after: 37
Content-Type: application/json

{
"error": "RATE_LIMITED",
"message": "Too many requests. Retry after 37 seconds."
}

Aanbevolen clientpatronen

Controleer het resterende budget voordat u bulkbewerkingen uitvoert

Lees x-ratelimit-remaining na elk antwoord. Als dit onder een drempelwaarde (bijvoorbeeld 10) daalt, voert u een pauze in voordat de volgende aanvraag wordt gedaan om te voorkomen dat een 429 wordt geactiveerd.

Exponentiële backoff voor voorbijgaande 429s

Als retry-after niet aanwezig is of u meerdere opeenvolgende 429 antwoorden ontvangt, gebruikt u exponentiële backoff met jitter:

wait = min(base * 2^attempt + random_jitter, max_wait)

Log x-ratelimit-reset voor debugging

Bij het diagnosticeren van snelheidslimiet-problemen registreert u de x-ratelimit-reset Unix timestamp samen met het antwoord. Converteren naar een voor mensen leesbare tijd om te begrijpen wanneer het venster rolt.


Volgende stappen