code: func (c *Client) NewRequest(method, path string, payload interface{}) (*http.Request, error) {
  	url := c.BaseURL + path
  
  	body := new(bytes.Buffer)
  	if payload != nil {
  		err := json.NewEncoder(body).Encode(payload)
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	req, err := http.NewRequest(method, url, body)
  	if err != nil {
  		return nil, err
  	}
  
  	req.Header.Set("Content-Type", "application/json")
  	req.Header.Add("Accept", "application/json")
  	req.Header.Add("User-Agent", formatUserAgent(c.UserAgent))
  
  	return req, nil
  }
docs: // NewRequest creates an API request.
  // The path is expected to be a relative path and will be resolved
  // according to the BaseURL of the Client. Paths should always be specified without a preceding slash.