code: func (r *Client) SearchUsersWithPaging(query *string, perpage, page *int) (PageUsers, error) {
  	var (
  		raw       []byte
  		pageUsers PageUsers
  		code      int
  		err       error
  	)
  
  	var params url.Values = nil
  	if perpage != nil && page != nil {
  		if params == nil {
  			params = url.Values{}
  		}
  		params["perpage"] = []string{string(*perpage)}
  		params["page"] = []string{string(*page)}
  	}
  
  	if query != nil {
  		if params == nil {
  			params = url.Values{}
  		}
  		params["query"] = []string{*query}
  	}
  
  	if raw, code, err = r.get("api/users/search", params); err != nil {
  		return pageUsers, err
  	}
  	if code != 200 {
  		return pageUsers, fmt.Errorf("HTTP error %d: returns %s", code, raw)
  	}
  	dec := json.NewDecoder(bytes.NewReader(raw))
  	dec.UseNumber()
  	if err := dec.Decode(&pageUsers); err != nil {
  		return pageUsers, fmt.Errorf("unmarshal users: %s\n%s", err, raw)
  	}
  	return pageUsers, err
  }
docs: // SearchUsersWithPaging search users with paging
  // query optional.  query value is contained in one of the name, login or email fields. Query values with spaces need to be url encoded e.g. query=Jane%20Doe
  // perpage optional. default 1000
  // page optional. default 1
  // http://docs.grafana.org/http_api/user/#search-users
  // http://docs.grafana.org/http_api/user/#search-users-with-paging