code: func (s *CountService) Do(ctx context.Context) (int64, error) {
  	// Check pre-conditions
  	if err := s.Validate(); err != nil {
  		return 0, err
  	}
  
  	// Get URL for request
  	path, params, err := s.buildURL()
  	if err != nil {
  		return 0, err
  	}
  
  	// Setup HTTP request body
  	var body interface{}
  	if s.query != nil {
  		src, err := s.query.Source()
  		if err != nil {
  			return 0, err
  		}
  		query := make(map[string]interface{})
  		query["query"] = src
  		body = query
  	} else if s.bodyJson != nil {
  		body = s.bodyJson
  	} else if s.bodyString != "" {
  		body = s.bodyString
  	}
  
  	// Get HTTP response
  	res, err := s.client.PerformRequest(ctx, PerformRequestOptions{
  		Method: "POST",
  		Path:   path,
  		Params: params,
  		Body:   body,
  	})
  	if err != nil {
  		return 0, err
  	}
  
  	// Return result
  	ret := new(CountResponse)
  	if err := s.client.decoder.Decode(res.Body, ret); err != nil {
  		return 0, err
  	}
  	if ret != nil {
  		return ret.Count, nil
  	}
  
  	return int64(0), nil
  }
docs: // Do executes the operation.