Fejlkoder
Auditply API bruger standard HTTP-statuskoder og returnerer strukturerede fejlmeddelelser.
Fejl-format
Alle fejlresponses har dette format:
Eksempel: 404 Not Found
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "KYC case with ID 999 not found.",
"status": 404
}
}
Nogle fejl har desuden et details-objekt med data, du kan handle på — fx listen over ugyldige felter ved VALIDATION_ERROR.
Oversigt
| Kode | HTTP | Beskrivelse |
|---|---|---|
MISSING_API_KEY | 401 | Ingen X-API-Key header i requestet |
INVALID_API_KEY | 401 | API-nøglen er ugyldig, udløbet eller tilbagekaldt |
INSUFFICIENT_SCOPE | 403 | API-nøglen mangler det nødvendige scope |
MISSING_ON_BEHALF_OF | 400 | Ingen X-On-Behalf-Of-User header i requestet |
INVALID_ON_BEHALF_OF | 403 | Brugeren i X-On-Behalf-Of-User findes ikke i nøglens virksomhed |
INSUFFICIENT_USER_PERMISSION | 403 | Den handlende bruger mangler rettigheden. details.missing_permissions lister hvilke |
USER_NOT_FOUND | 404 | Ingen bruger med e-mailen i virksomheden (POST /users/resolve) |
AMBIGUOUS_USER_EMAIL | 409 | Flere brugere matcher e-mailen (POST /users/resolve) |
CASE_NOT_FOUND | 404 | Sagen findes ikke |
PERSON_NOT_FOUND | 404 | Personen findes ikke på sagen |
DOCUMENT_NOT_FOUND | 404 | Dokumentnøglen har aldrig haft en fil, eller filen er slettet endeligt |
CHECKSUM_MISMATCH | 422 | sha256 passer ikke til den modtagne fil |
FILE_TOO_LARGE | 413 | Filen er større end 10 MB |
UNSUPPORTED_MEDIA_TYPE | 415 | Filtypen er ikke tilladt (kun JPEG, PNG, GIF, WebP og PDF) |
CASE_NOT_EDITABLE | 409 | Sagen er låst (review, afsluttet, arkiveret eller deaktiveret) |
EXTERNAL_REFERENCE_CONFLICT | 409 | Kunden eller personen har allerede en anden reference, eller referencen bruges af en anden kunde eller person på sagen |
CVR_NOT_FOUND | 404 | CVR-nummeret findes ikke i CVR-registret |
CVR_LOOKUP_FAILED | 502 | CVR-opslaget fejlede; kaldet kan gentages |
RATE_LIMIT_EXCEEDED | 429 | For mange requests — vent og prøv igen |
VALIDATION_ERROR | 400 | Ugyldige query-parametre eller input. Ved fejl i body eller query lister details.issues felterne (path, message) |
RESOURCE_NOT_FOUND | 404 | Ressourcen blev ikke fundet |
METHOD_NOT_ALLOWED | 405 | Stien findes, men understøtter ikke HTTP-metoden. Allow-headeren lister de gyldige metoder |
INTERNAL_ERROR | 500 | En uventet serverfejl |
Fejlhåndtering
Vi anbefaler at du altid tjekker HTTP-statuskoden før du parser response:
- JavaScript
- Python
const res = await fetch(url, {
headers: { "X-API-Key": apiKey, "X-On-Behalf-Of-User": "42" },
});
if (!res.ok) {
const { error } = await res.json();
switch (error.code) {
case "RATE_LIMIT_EXCEEDED":
const retryAfter = res.headers.get("Retry-After");
console.log(`Rate limited. Retry in ${retryAfter}s`);
break;
case "INVALID_API_KEY":
console.error("API-nøgle er ugyldig");
break;
default:
console.error(`Fejl: ${error.message}`);
}
}
response = requests.get(url, headers={"X-API-Key": api_key, "X-On-Behalf-Of-User": "42"})
if not response.ok:
error = response.json()["error"]
if error["code"] == "RATE_LIMIT_EXCEEDED":
retry_after = int(response.headers.get("Retry-After", 5))
print(f"Rate limited. Retry in {retry_after}s")
time.sleep(retry_after)
elif error["code"] == "INVALID_API_KEY":
print("API-nøgle er ugyldig")
else:
print(f"Fejl: {error['message']}")