{
"error": {
"code": "VALIDATION_ERROR",
"message": "The request could not be validated.",
"requestId": "018f3d9a-7dfb-7a23-b4b4-9f7e4b19d4b4"
}
}
error.code für die präzise Behandlung.
Entscheidungsablauf
Fehlerkatalog
| Fehlercode | Typische HTTP-Klasse | Bedeutung | Client-Maßnahme | Retry |
|---|---|---|---|---|
INVALID_API_KEY | 401 | Key fehlt, ist ungültig, gelöscht oder inaktiv | Zugangsdaten ersetzen oder reaktivieren | Nein |
INVALID_REQUEST_ID | 400 | Request-ID ist keine UUID v4 oder v7 | Gültigen Wert erzeugen | Nein |
NOT_ACCEPTABLE | 406 | Angeforderte Response-Repräsentation ist nicht verfügbar | Accept korrigieren | Nein |
UNSUPPORTED_MEDIA_TYPE | 415 | Request-Medientyp wird nicht akzeptiert | Dokumentierten Content-Type verwenden | Nein |
MISSING_ATTACHMENT | 400 / 422 | Multipart-Request enthält keinen erforderlichen Upload | Erforderliches Feld uploads hinzufügen | Nein |
PAYLOAD_TOO_LARGE | 413 | Vollständiger Request überschreitet 5 MiB | JSON- oder Multipart-Größe reduzieren | Nein |
UNKNOWN_QUERY_PARAMETER | 400 | Query-Parameter wird nicht unterstützt | Unbekannten Parameter entfernen | Nein |
UNSUPPORTED_HEADER | 400 | Header wird nicht akzeptiert | Header entfernen oder korrigieren | Nein |
NOT_FOUND | 404 | Ressource fehlt oder ist im Scope nicht sichtbar | ID und Tenant-Kontext prüfen | Nein |
FILE_NOT_FOUND | 404 | Referenzierte Datei ist nicht verfügbar | Metadaten und Verfügbarkeit erneut lesen | Nein |
TENANT_CONTEXT_AMBIGUOUS | 400 / 422 | Es kann kein eindeutiger Ziel-Tenant bestimmt werden | X-Tenant-ID senden | Nein |
EMPLOYEE_PLACEMENT_AMBIGUOUS | 422 | Mitarbeiterzuordnung ergibt keine eindeutige zulässige Division | Erlaubte divisionId senden | Nein |
TENANT_NOT_IN_SCOPE | 403 | Tenant liegt außerhalb des Key-Scopes | Scope oder Tenant korrigieren | Nein |
INVALID_REFERENCE_ID | 400 / 422 | Referenz-ID besitzt ein ungültiges Format | Eine von JobHandy zurückgegebene ID verwenden | Nein |
INVALID_REFERENCE | 404 / 422 | Referenzierte Ressource fehlt oder ist nicht verfügbar | Referenz und Scope erneut lesen | Nein |
VALIDATION_ERROR | 422 | Anfrage verletzt Schema- oder fachliche Validierung | Payload korrigieren | Nein |
INVALID_FILTER_SYNTAX | 400 / 422 | Filter kann nicht geparst werden | Quoting und Ausdruck korrigieren | Nein |
UNSUPPORTED_FILTER_FIELD | 422 | Feld ist nicht filterbar | Vom Endpoint unterstütztes Feld verwenden | Nein |
UNSUPPORTED_FILTER_OPERATOR | 422 | Operator ist für das Feld ungültig | Unterstützten Operator verwenden | Nein |
UNSUPPORTED_SORT_FIELD | 422 | Sortierfeld ist nicht verfügbar | Dokumentiertes skalares Feld verwenden | Nein |
UNSUPPORTED_FIELD | 422 | Feld ist nicht schreibbar oder auswählbar | Nicht unterstütztes Feld entfernen | Nein |
EMPLOYEE_BLOCKED | 409 / 422 | Mitarbeiterstatus verhindert die Operation | Mitarbeiterstatus korrigieren | Nein |
EMPLOYEE_NOT_ACTIVATED | 422 | Für den referenzierten Mitarbeiter ist die Aktivierung noch nicht abgeschlossen | Aktivierung abschließen und anschließend eine neue Anfrage senden | Nein |
DIVISION_CYCLE | 409 / 422 | Parent-Änderung würde einen Hierarchiezyklus erzeugen | Gültigen Parent wählen | Nein |
DIVISION_NAME_NOT_UNIQUE_ON_SAME_LEVEL | 409 | Geschwistername existiert bereits | Eindeutigen Namen auf derselben Ebene verwenden | Nein |
DUPLICATE_RESOURCE | 409 | Eindeutigkeitsregel wird verletzt | Vorhandene Ressource finden und abgleichen | Nein |
INVALID_STATE_TRANSITION | 409 | Angeforderter Lifecycle-Übergang ist nicht zulässig | Zustand erneut lesen und blinde Retries stoppen | Nein |
ORDER_ALREADY_DECIDED | 409 | HR-Entscheidung ist bereits final | Erneut lesen und abgleichen | Nein |
RATE_LIMIT_EXCEEDED | 429 | Kontingent des API-Keys ist ausgeschöpft | Retry-After berücksichtigen | Ja |
BAD_GATEWAY | 502 | Upstream-Abhängigkeit ist fehlgeschlagen | Nur sichere Reads/Downloads wiederholen | Bedingt |
SERVICE_UNAVAILABLE | 503 | Dienst oder Abhängigkeit ist nicht verfügbar | Backoff; Writes abgleichen | Bedingt |
GATEWAY_TIMEOUT | 504 | Abhängigkeit ist in einen Timeout gelaufen | Backoff; Writes abgleichen | Bedingt |
INTERNAL_SERVER_ERROR | 500 | Unerwarteter Serverfehler | Request-ID protokollieren und nur bei sicherem Replay wiederholen | Bedingt |
Diagnosedatensatz
Speichern Sie für jeden fehlgeschlagenen Versuch:UTC-Zeitstempel
HTTP-Methode
Pfadtemplate, nicht eine URL mit Secrets
HTTP-Status
error.code
error.message
error.requestId / X-Request-ID
Tenant-Kontext
Versuchsnummer
ID der logischen Operation
Troubleshooting-Runbook
Führen Sie die operationsspezifischen Prüfungen durch, bevor Sie eine Supportanfrage eröffnen.
