Zum Hauptinhalt springen

Rate-Limits

EndpunkttypLimitGeltungsbereich
Authentifizierung10 Anfragen/Minpro IP
Laufzeitkonfiguration1.000 Anfragen/Minpro Einbettungstoken
Einwilligung einreichen300 Anfragen/Minpro Einbettungstoken
Einwilligung widerrufen60 Anfragen/Minpro Einbettungstoken
Scan-Erstellung10 Anfragen/Minpro Mandant
Medien-Upload20 Anfragen/Minpro Mandant
Verwaltung (allgemein)120 Anfragen/Minpro API-Schlüssel

Rate-Limit-Header

Jede Antwort enthält:

X-RateLimit-Limit: 120
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1741521600

Bei Überschreitung des Rate-Limits erhalten Sie eine 429-Antwort:

{
"error": {
"code": "rate_limited",
"message": "Too many requests. Try again in 30 seconds."
}
}

Umgang mit Rate-Limits

Implementieren Sie exponentiellen Backoff bei einer 429-Antwort:

async function fetchWithRetry(url, options, maxRetries = 3) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
const res = await fetch(url, options);
if (res.status !== 429) return res;

const retryAfter = parseInt(res.headers.get('X-RateLimit-Reset')) - Date.now() / 1000;
await new Promise(r => setTimeout(r, (retryAfter + 1) * 1000));
}
throw new Error('Rate limit retries exhausted');
}