code: func New(
  	ctx context.Context,
  	host string,
  	opts ClientOptions,
  	debug bool) (Client, error) {
  
  	if host == "" {
  		return nil, errNewClient
  	}
  
  	host = strings.Replace(host, "/api", "", 1)
  
  	c := &client{
  		http: &http.Client{},
  		host: host,
  	}
  
  	if opts.Timeout != 0 {
  		c.http.Timeout = opts.Timeout
  	}
  
  	if opts.Insecure {
  		c.http.Transport = &http.Transport{
  			TLSClientConfig: &tls.Config{
  				InsecureSkipVerify: true,
  			},
  		}
  	}
  
  	if opts.UseCerts {
  		pool, err := x509.SystemCertPool()
  		if err != nil {
  			return nil, errSysCerts
  		}
  		c.http.Transport = &http.Transport{
  			TLSClientConfig: &tls.Config{
  				RootCAs:            pool,
  				InsecureSkipVerify: opts.Insecure,
  			},
  		}
  	}
  
  	if opts.ShowHTTP {
  		c.showHTTP = true
  	}
  
  	c.debug = debug
  
  	return c, nil
  }
docs: // New returns a new API client.