code: func (i *Client) postJSON(c context.Context, resource string, headers map[string]string, in, out interface{}) error {
  	if len(resource) == 0 || resource[0] != '/' {
  		return errors.New("resource must start with '/'")
  	}
  	_, err := lhttp.PostJSON(c, i.retryFactory, i.authClient, i.url+resource, headers, in, out)
  	return err
  }
docs: // postJSON does authenticated POST request.