API accepts JSON or form-encoded content in
requests. It returns JSON content in all of its responses, including
errors. Only the UTF-8 character encoding is supported for both requests
and responses.

All API POST and PUT requests expect a top-level object with a single
element in it named data. Successful responses will mirror this format.
The data element should itself be an object, containing the parameters for
the request. In the case of creating a new auction, these are the fields we
want to set on the auction itself.

If the request was successful, we will get a response code of 201
indicating the object was created. That response will have a data field at
its top level, which will contain complete information on the new auction,
including its ID.

If something went wrong during the request, we’ll get a different status
code and the JSON returned will have an errors field at the top level
containing a list of problems. We look at the first one and print out its
message.