| 200 | — | Résultat disponible | Enregistrer la réponse, appliquer les règles, actualiser le feu. | Oui, si les critères métier passent. |
| 202 | — | Job accepté | Enregistrer l’ID et l’URL d’état renvoyée ; ne l’interroger qu’après Retry-After. Une redirectUrl appartient en revanche uniquement au parcours de redirection navigateur. | Oui, de façon asynchrone. |
| 400 | bad_request, invalid_json, idempotency_key_not_supported, codes de validation propres à l’endpoint | Requête invalide | Corriger l’entrée ou le mapping. Pour idempotency_key_not_supported, retirer l’en-tête ; si un appel antérieur délivrant une clé a eu une issue incertaine, rapprocher par GET avant toute autre action. | Non. |
| 401 | missing_api_key | Authentification absente | Contrôler la clé côté serveur ; ne jamais l’exposer dans le navigateur ou les logs. | Non. |
| 402 | insufficient_credits, partner_terms_not_covered, sponsorship_cap_reached | Facturation bloquée | Régler le forfait, le solde, la prise en charge ou le plafond mensuel. | Après résolution commerciale. |
| 403 | invalid_api_key, endpoint_not_allowed, sandbox_endpoint_unavailable | Accès ou endpoint refusé | Contrôler l’état de la clé, l’activation et l’environnement. | Non. |
| 404 | oe_part_not_found, vin_parts_job_not_found, codes d’absence propres à l’endpoint | Ressource ou résultat introuvable | Distinguer avec error un candidat absent d’un job perdu ou étranger. | Pas de validation automatique. |
| 409/422 | redirect_required, vin_provider_mismatch, idempotency_key_conflict, idempotency_request_in_progress, idempotency_result_unavailable, ambiguous_oe_number | Interaction ou clarification nécessaire | Après idempotency_request_in_progress, attendre Retry-After et réessayer la requête avec la même clé d’idempotence. Pour idempotency_result_unavailable, rapprocher l’état sans générer automatiquement une nouvelle clé d’idempotence. Piloter tous les autres cas par error ; ne pas répéter aveuglément ni choisir silencieusement un candidat. | Guidé. |
| 429 | rate_limit_exceeded, client_request_in_progress | Limite de débit ou de concurrence | Respecter Retry-After et temporiser par mandant. | Backoff, pas de tempête. |
| 5xx | internal_error, codes d’indisponibilité propres à l’endpoint | Indisponibilité temporaire | Identifier une écriture répétable par son paramètre documenté Idempotency-Key, puis la réessayer avec la même clé d’idempotence et un backoff plafonné. Après une issue incertaine de l’un des trois POST délivrant une clé en clair, rapprocher d’abord l’état par GET ; ne jamais relancer aveuglément. | Backoff plafonné ; rapprocher les clés à affichage unique. |