/v1 este application/problem+json (RFC 9457) și are un set fix de câmpuri:
code, niciodată pe baza detail — code este un contract stabil pentru mașini; detail este destinat citirii de către oameni și se poate modifica. param este prezent atunci când eroarea poate fi atribuită unui anumit parametru al cererii. Includeți request_id atunci când contactați asistența.
Coduri de eroare
Setul de coduri este închis: codurile noi reprezintă o modificare a contractului public și sunt anunțate prin jurnalul de modificări al API-ului. Un răspuns
retryable: true înseamnă că situația se poate rezolva; nu dovedește că o operațiune de scriere nu a avut niciun efect. Reîncercați operațiunile de citire cu un număr finit de încercări și o durată limitată, folosind backoff exponențial și jitter. Respectați Retry-After atunci când este prezent, inclusiv la un răspuns 409 sau 429 reîncercabil.
Pentru mutații, urmați contractul de idempotență și de recuperare documentat al operațiunii. Păstrați cheia și cererea inițiale, atunci când sunt acceptate. Nu generați o cheie nouă după o depășire a timpului de așteptare sau după 5xx: astfel puteți repeta o operațiune de scriere care a reușit. Un antet Idempotency-Key nu oferă nicio protecție pentru o operațiune care nu îl acceptă.
