Všechny chyby se řídí RFC 7807. Tělo odpovědi je application/problem+json s poli type, title, status, detail, request_id a případně reason nebo errors[].
{
"type": "https://www.kernelhost.com/en/reseller-api/errors/payment_required",
"title": "Payment required",
"status": 402,
"detail": "The order could not be paid.",
"request_id": "01HX7Z3K8Q...",
"reason": "insufficient_credit_and_no_card"
}
| HTTP | type | Význam |
|---|---|---|
| 400 | validation_failed | Validace vstupu selhala. Detail pro každé pole najdete v errors[]. |
| 401 | auth_failed | Autentizace selhala. reason udává proč: missing_headers, bad_key, bad_timestamp, timestamp_out_of_window, bad_nonce, bad_signature, signature_mismatch, replay_detected, unknown_or_locked_key, ip_not_allowed. |
| 402 | payment_required | Vyžadována platba. reason viz níže. |
| 403 | forbidden_scope | Chybí oprávnění. reason: missing_scope. |
| 404 | not_found | Zdroj neexistuje nebo není pro tento klíč viditelný (brání výčtu nájemníků). |
| 409 | idempotency_conflict | Idempotency-Key již byl použit s jiným tělem. |
| 429 | rate_limited | Překročeno omezení rychlosti. Respektujte hlavičku Retry-After. |
| 500 | internal_error | Interní chyba serveru. Při kontaktování podpory uveďte request_id pro korelaci s auditním logem. |
Důvody Payment-Required (HTTP 402)
Pokud objednávku nelze zaplatit, API vrací HTTP 402 se strojově čitelným důvodem v těle JSON.
insufficient_credit_and_no_card(Kredit nestačí a žádná karta není uložena. Řešení: dobít kredit nebo přidat kartu v zákaznickém portálu.)card_declined(Karta byla zamítnuta bankou nebo bránou. Řešení: zkusit jinou kartu nebo kontaktovat banku.)card_expired(Karta vypršela. Řešení: přidat novou kartu v zákaznickém portálu.)client_not_found(ID účtu nenalezeno (prakticky by se to nikdy nemělo stát, kontaktujte podporu).)

