Rate Limits
For at sikre stabil drift er API'et hastighedsbegrænset pr. API-nøgle og kalderens IP-adresse.
Grænser
| Begrænsning | Værdi |
|---|---|
| Requests pr. minut | 60 |
| Vindue | Fast vindue på 1 minut, der starter ved første kald |
| Tælles pr. | API-nøgle og IP-adresse |
Grænsen gælder alle kald, der når et endpoint med en gyldig nøgle og det rette scope — også læsninger og kald, der ender i en fejl. Tælleren kan blive nulstillet, når Auditply genstartes; regn altid med 60 pr. minut.
Response headers
Et 429-svar har disse headere. Andre svar har dem ikke.
| Header | Beskrivelse |
|---|---|
Retry-After | Sekunder til vinduet nulstilles |
X-RateLimit-Limit | Maksimalt antal tilladte requests i vinduet |
X-RateLimit-Remaining | Altid 0 |
X-RateLimit-Reset | Tidspunkt for nulstilling i millisekunder siden 1970 (Unix-tid × 1000) |
Ved overskridelse
Når du overskrider grænsen, modtager du et 429 Too Many Requests:
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Please try again later.",
"status": 429
}
}
Retry-strategi
async function fetchWithRetry(url, apiKey, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
const res = await fetch(url, {
headers: { "X-API-Key": apiKey, "X-On-Behalf-Of-User": "42" },
});
if (res.status === 429) {
const retryAfter = parseInt(
res.headers.get("Retry-After") || "5"
);
console.log(`Rate limited. Retry in ${retryAfter}s`);
await new Promise((r) => setTimeout(r, retryAfter * 1000));
continue;
}
return res.json();
}
throw new Error("Max retries exceeded");
}
Hold dine requests under 1 pr. sekund for at undgå rate limiting. Brug pagination med page_size=100 for at minimere antallet af kald.
Store indlæsninger
60 kald i minuttet er 3.600 i timen. En første indlæsning af 9.000 kunder med ét kald pr. kunde tager altså omkring 2,5 time, og flere kald pr. kunde (personer, dokumenter) forlænger det tilsvarende. Planlæg store indlæsninger som et baggrundsjob, der respekterer Retry-After.
Til at holde en lokal kopi af status opdateret bruges status for ændrede KYC-sager, som giver op til 100 sager pr. kald.