קודי מצב HTTP

קודי הסטטוס הבאים יכולים להופיע בתגובות HTTP.

קוד HTTP תיאור HTTP הערות
2xx אישור לא שגיאה, מוחזר לאחר הצלחה. צריך להשתמש באפשרות הזו גם כשיש כשלים בלוגיקה העסקית (למשל, השדה booking_failure ב-CreateBookingResponse מאוכלס)
400 בקשה פגומה בקשה לא חוקית/ארגומנטים לא חוקיים (לא נמצא מוכר, שירות, זמן פעילות, ניסיון להזמין זמן פעילות לא חוקי, ביטול של הזמנה שלא הייתה קיימת).
401 אין הרשאה לא מאומת (פרטי כניסה לא חוקיים, ניסיון חוזר להתחברות). בבקשה לא מופיעים פרטי כניסה תקפים לאימות הפעולה.
403 אסור ההרשאה נדחתה/אסורה (מבצע הקריאה ידוע ונדחה). אסור להשתמש בתגובה הזו לדחיות שנגרמות כתוצאה מיצוי משאב כלשהו (במקום זאת, צריך להשתמש ב-Too Many Requests בשביל השגיאות האלה). אסור להשתמש ב-Forbidden אם לא ניתן לזהות את מבצע הקריאה החוזרת (במקום זאת, צריך להשתמש ב-Unauthorized בשביל השגיאות האלה).
404 לא נמצא לא נמצא (משאב לא נמצא, כתובת URL לא חוקית, כולל RPC לא תקינים)
409 התנגשות הפעולה בוטלה, בדרך כלל בגלל בעיה של בו-זמניות, כמו כשל בבדיקת מאסף או ביטול עסקה.
429 יותר מדי בקשות משאב כלשהו אזל, אולי מכסה לכל משתמש, או אולי אין יותר מקום פנוי בכל מערכת הקבצים.
499 בקשה של לקוח שנסגרה הפעולה בוטלה, בדרך כלל על ידי מבצע הקריאה החוזרת.
500 שגיאת שרת פנימית שגיאות פנימיות. המשמעות היא שחלק מהקבועים שלא משתנים (invariants) שהמערכת הבסיסית מצפה להם הופרו. קוד השגיאה הזה מיועד לשגיאות חמורות.
501 לא בוצע יישום הפעולה לא יושמה או לא נתמכת או לא מופעלת בשירות הזה.
503 השירות לא זמין השירות הזה לא זמין כרגע. סביר להניח שמדובר במצב זמני, שאפשר לתקן אותו על ידי ניסיון חוזר עם זמן המתנה.
504 Gateway Timeout מועד היעד פג לפני שהפעולה הושלמה. יכול להיות שהשגיאה הזו תוחזר גם אם הפעולה הושלמה בהצלחה, עבור פעולות שמחליפות את מצב המערכת. לדוגמה, יכול להיות שתגובה מוצלחת משרת התעכבה מספיק זמן כדי שהמועד האחרון יפוג.

לפעמים יכולים להיות כמה קודי שגיאה. שירותים צריכים להחזיר את קוד השגיאה הספציפי ביותר שרלוונטי.