type Fail struct {
Message string `json:"message,omitempty"`
Data interface{} `json:"data,omitempty"`
HTTPStatus int `json:"-"` //gets set in the error response}
Fail is an error whos contents can be exposed to the client and is usually the result
of incorrect client input