func (s *UserGroupsService) RemoveUser(opt *UserGroupsRemoveUserOption) (resp *http.Response, err error) {
	err = s.ValidateRemoveUserOpt(opt)
	if err != nil {
		return
	}
	req, err := s.client.NewRequest("POST", "user_groups/remove_user", opt)
	if err != nil {
		return
	}
	resp, err = s.client.Do(req, nil)
	if err != nil {
		return
	}
	return
}
RemoveUser Remove a user from a group.<br />'id' or 'name' must be provided.<br>Requires the following permission: 'Administer System'.
package sonargo
import "net/http"
type UserGroupsService struct {
	client *Client
}
type UserGroupsCreateObject struct {
	Group *Group `json:"group,omitempty"`
}
type Group struct {
	Default      bool   `json:"default,omitempty"`
	Description  string `json:"description,omitempty"`
	ID           int    `json:"id,omitempty"`
	MembersCount int64  `json:"membersCount,omitempty"`
	Name         string `json:"name,omitempty"`
	Organization string `json:"organization,omitempty"`
	Selected     bool   `json:"selected,omitempty"`
}
type UserGroupsSearchObject struct {
	Groups []*Group `json:"groups,omitempty"`
	Paging *Paging  `json:"paging,omitempty"`
}
type UserGroupsUsersObject struct {
	Users []*User `json:"users,omitempty"`
	Total int     `json:"total,omitempty"`
	P     int     `json:"p,omitempty"`
	Ps    int     `json:"ps,omitempty"`
}
type UserGroupsAddUserOption struct {
	Id    int    `url:"id,omitempty"`     
	Login string `url:"login,omitempty"`  
	Name  string `url:"name,omitempty"`   
}
func (s *UserGroupsService) AddUser(opt *UserGroupsAddUserOption) (resp *http.Response, err error) {
	err = s.ValidateAddUserOpt(opt)
	if err != nil {
		return
	}
	req, err := s.client.NewRequest("POST", "user_groups/add_user", opt)
	if err != nil {
		return
	}
	resp, err = s.client.Do(req, nil)
	if err != nil {
		return
	}
	return
}
type UserGroupsCreateOption struct {
	Description string `url:"description,omitempty"`  
	Name        string `url:"name,omitempty"`         
}
func (s *UserGroupsService) Create(opt *UserGroupsCreateOption) (v *UserGroupsCreateObject, resp *http.Response, err error) {
	err = s.ValidateCreateOpt(opt)
	if err != nil {
		return
	}
	req, err := s.client.NewRequest("POST", "user_groups/create", opt)
	if err != nil {
		return
	}
	v = new(UserGroupsCreateObject)
	resp, err = s.client.Do(req, v)
	if err != nil {
		return nil, resp, err
	}
	return
}
type UserGroupsDeleteOption struct {
	Id   int    `url:"id,omitempty"`    
	Name string `url:"name,omitempty"`  
}
func (s *UserGroupsService) Delete(opt *UserGroupsDeleteOption) (resp *http.Response, err error) {
	err = s.ValidateDeleteOpt(opt)
	if err != nil {
		return
	}
	req, err := s.client.NewRequest("POST", "user_groups/delete", opt)
	if err != nil {
		return
	}
	resp, err = s.client.Do(req, nil)
	if err != nil {
		return
	}
	return
}
type UserGroupsRemoveUserOption struct {
	Id    int    `url:"id,omitempty"`     
	Login string `url:"login,omitempty"`  
	Name  string `url:"name,omitempty"`   
}