Verzweige nach error.code, protokolliere request_id und verwende den HTTP-Status nur als grobe Fehlerklasse.
{
"error": {
"type": "invalid_request_error",
"code": "invalid_query_parameter",
"message": "A query parameter is invalid.",
"param": "fields",
"request_id": "req_01JAZ…"
}
}
Wiederhole 429, 502, 503 und 504 mit Retry-After und begrenztem Zufalls-Backoff. Wiederhole fehlerhafte Eingaben, fehlende Berechtigungen, Idempotenzkonflikte oder echte Revisionskonflikte nicht unverändert.
Speichere request_id, Endpunkt, Status und Fehlercode. Protokolliere niemals Authorization, API-Schlüssel, Webhook-Geheimnisse oder vollständige sensible Inhalte.
Jeder generierte Endpunkt listet seine tatsächlich möglichen Fehler →