Generally status code (e.g. 500) and status text (Server Response Failed) are not enough to provide meaningful feedback to the user.
Sometimes we can use knowledge about the domain problem (e.g. GET /variants -> 404 = variant is missing),
but often the client can't have any clue why server failed.
It's important to pass this information to the user so he can act upon it.
This will also help us to make our UPS code more robust, because error reports from UPS Admin Console will contain more information.
~~~
Usually REST interfaces follow common (API-wide) pattern (contract) that provides user with a meaningful message in a unified way.
Disclaimer: btw it is possible we already use some pattern that I could miss. :-)
~~~