Understanding HTTP status codes and how it makes your API better