code: func FromStatusCode(err error, statusCode int) error {
  	if err == nil {
  		return err
  	}
  	switch statusCode {
  	case http.StatusNotFound:
  		err = NotFound(err)
  	case http.StatusBadRequest:
  		err = InvalidParameter(err)
  	case http.StatusConflict:
  		err = Conflict(err)
  	case http.StatusUnauthorized:
  		err = Unauthorized(err)
  	case http.StatusServiceUnavailable:
  		err = Unavailable(err)
  	case http.StatusForbidden:
  		err = Forbidden(err)
  	case http.StatusNotModified:
  		err = NotModified(err)
  	case http.StatusNotImplemented:
  		err = NotImplemented(err)
  	case http.StatusInternalServerError:
  		if !IsSystem(err) && !IsUnknown(err) && !IsDataLoss(err) && !IsDeadline(err) && !IsCancelled(err) {
  			err = System(err)
  		}
  	default:
  		logrus.WithFields(logrus.Fields{
  			"module":      "api",
  			"status_code": fmt.Sprintf("%d", statusCode),
  		}).Debugf("FIXME: Got an status-code for which error does not match any expected type!!!: %d", statusCode)
  
  		switch {
  		case statusCode >= 200 && statusCode < 400:
  			// it's a client error
  		case statusCode >= 400 && statusCode < 500:
  			err = InvalidParameter(err)
  		case statusCode >= 500 && statusCode < 600:
  			err = System(err)
  		default:
  			err = Unknown(err)
  		}
  	}
  	return err
  }
docs: // FromStatusCode creates an errdef error, based on the provided HTTP status-code