code: func (c *Client) Send(method, path string, in, out interface{}) error {
  	var body []byte
  	if in != nil {
  		var err error
  		body, err = json.Marshal(in)
  		if err != nil {
  			return err
  		}
  	}
  	req, err := http.NewRequest(method, c.URL+path, bytes.NewReader(body))
  	if err != nil {
  		return err
  	}
  	req.Header.Set("Content-Type", "application/json")
  	req.Header.Set("Accept", "application/json")
  	res, err := c.client.Do(req)
  	if err != nil {
  		return err
  	}
  	defer res.Body.Close()
  	if res.StatusCode != http.StatusOK && res.StatusCode != http.StatusCreated {
  		response, _ := ioutil.ReadAll(res.Body)
  		return fmt.Errorf("unexpected HTTP status: %s: %s", res.Status, response)
  	}
  	if out != nil {
  		if err := json.NewDecoder(res.Body).Decode(out); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // Send performs a HTTP request, sending "in" as the JSON request body and
  // decoding the JSON response into "out"