--- title: GroupsApi --- :::error **The Ruby SDK is deprecated as of 9/16/2020** The Genesys Cloud Ruby SDK (v96.0.0) will be frozen at its current version level. Any new enhancements to our API or bug fixes will not be backported. If you do need to take advantage of new features or bug fixes outside the Genesys Cloud Ruby SDK, you will need to use the Genesys Cloud REST endpoints directly. More information can be found in the [Official Announcement](https://developer.mypurecloud.com/forum/t/announcement-genesys-cloud-ruby-sdk-end-of-life/8850). ::: ## PureCloud::GroupsApi All URIs are relative to *https://api.mypurecloud.com* Method | Description ------------- | ------------- | ------------- [**delete_group**](GroupsApi.html#delete_group) | Delete group [**delete_group_members**](GroupsApi.html#delete_group_members) | Remove members [**get_fieldconfig**](GroupsApi.html#get_fieldconfig) | Fetch field config for an entity type [**get_group**](GroupsApi.html#get_group) | Get group [**get_group_individuals**](GroupsApi.html#get_group_individuals) | Get all individuals associated with the group [**get_group_members**](GroupsApi.html#get_group_members) | Get group members, includes individuals, owners, and dynamically included people [**get_group_profile**](GroupsApi.html#get_group_profile) | Get group profile [**get_groups**](GroupsApi.html#get_groups) | Get a group list [**get_groups_search**](GroupsApi.html#get_groups_search) | Search groups using the q64 value returned from a previous search [**get_profiles_groups**](GroupsApi.html#get_profiles_groups) | Get group profile listing [**post_group_members**](GroupsApi.html#post_group_members) | Add members [**post_groups**](GroupsApi.html#post_groups) | Create a group [**post_groups_search**](GroupsApi.html#post_groups_search) | Search groups [**put_group**](GroupsApi.html#put_group) | Update group {: class="table table-striped"} ## delete_group(group_id) Delete group Wraps DELETE /api/v2/groups/{groupId} Requires ANY permissions: * directory:group:delete ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new group_id = "group_id_example" # String | Group ID begin #Delete group api_instance.delete_group(group_id) rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->delete_group: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **group_id** | **String**| Group ID | | {: class="table table-striped"} ### Return type nil (empty response body) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**Empty**](Empty.html) delete_group_members(group_id, ids) Remove members Wraps DELETE /api/v2/groups/{groupId}/members Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new group_id = "group_id_example" # String | Group ID ids = "ids_example" # String | Comma separated list of userIds to remove begin #Remove members result = api_instance.delete_group_members(group_id, ids) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->delete_group_members: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **group_id** | **String**| Group ID | | **ids** | **String**| Comma separated list of userIds to remove | | {: class="table table-striped"} ### Return type [**Empty**](Empty.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**FieldConfig**](FieldConfig.html) get_fieldconfig(type) Fetch field config for an entity type Wraps GET /api/v2/fieldconfig Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new type = "type_example" # String | Field type begin #Fetch field config for an entity type result = api_instance.get_fieldconfig(type) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->get_fieldconfig: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **type** | **String**| Field type |
**Values**: person, group, org, externalContact | {: class="table table-striped"} ### Return type [**FieldConfig**](FieldConfig.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**Group**](Group.html) get_group(group_id) Get group Wraps GET /api/v2/groups/{groupId} Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new group_id = "group_id_example" # String | Group ID begin #Get group result = api_instance.get_group(group_id) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->get_group: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **group_id** | **String**| Group ID | | {: class="table table-striped"} ### Return type [**Group**](Group.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**UserEntityListing**](UserEntityListing.html) get_group_individuals(group_id) Get all individuals associated with the group Wraps GET /api/v2/groups/{groupId}/individuals Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new group_id = "group_id_example" # String | Group ID begin #Get all individuals associated with the group result = api_instance.get_group_individuals(group_id) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->get_group_individuals: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **group_id** | **String**| Group ID | | {: class="table table-striped"} ### Return type [**UserEntityListing**](UserEntityListing.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**UserEntityListing**](UserEntityListing.html) get_group_members(group_id, opts) Get group members, includes individuals, owners, and dynamically included people Wraps GET /api/v2/groups/{groupId}/members Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new group_id = "group_id_example" # String | Group ID opts = { page_size: 25, # Integer | Page size page_number: 1, # Integer | Page number sort_order: "ASC", # String | Ascending or descending sort order expand: ["expand_example"] # Array | Which fields, if any, to expand } begin #Get group members, includes individuals, owners, and dynamically included people result = api_instance.get_group_members(group_id, opts) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->get_group_members: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **group_id** | **String**| Group ID | | **page_size** | **Integer**| Page size | [optional] [default to 25] | **page_number** | **Integer**| Page number | [optional] [default to 1] | **sort_order** | **String**| Ascending or descending sort order | [optional] [default to ASC]
**Values**: ascending, descending | **expand** | [**Array<String>**](String.html)| Which fields, if any, to expand | [optional]
**Values**: routingStatus, presence, conversationSummary, outOfOffice, geolocation, station, authorization, lasttokenissued, authorization.unusedRoles, team, profileSkills, certifications, locations, groups, skills, languages, languagePreference, employerInfo, biography | {: class="table table-striped"} ### Return type [**UserEntityListing**](UserEntityListing.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**GroupProfile**](GroupProfile.html) get_group_profile(group_id, opts) DEPRECATED Get group profile This api is deprecated. Use /api/v2/groups instead Wraps GET /api/v2/groups/{groupId}/profile Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new group_id = "group_id_example" # String | groupId opts = { fields: "fields_example" # String | Comma separated fields to return. Allowable values can be found by querying /api/v2/fieldconfig?type=group and using the key for the elements returned by the fieldList } begin #Get group profile result = api_instance.get_group_profile(group_id, opts) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->get_group_profile: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **group_id** | **String**| groupId | | **fields** | **String**| Comma separated fields to return. Allowable values can be found by querying /api/v2/fieldconfig?type=group and using the key for the elements returned by the fieldList | [optional] | {: class="table table-striped"} ### Return type [**GroupProfile**](GroupProfile.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**GroupEntityListing**](GroupEntityListing.html) get_groups(opts) Get a group list Wraps GET /api/v2/groups Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new opts = { page_size: 25, # Integer | Page size page_number: 1, # Integer | Page number id: ["id_example"], # Array | id jabber_id: ["jabber_id_example"], # Array | A list of jabberIds to fetch by bulk (cannot be used with the \"id\" parameter) sort_order: "ASC" # String | Ascending or descending sort order } begin #Get a group list result = api_instance.get_groups(opts) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->get_groups: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **page_size** | **Integer**| Page size | [optional] [default to 25] | **page_number** | **Integer**| Page number | [optional] [default to 1] | **id** | [**Array<String>**](String.html)| id | [optional] | **jabber_id** | [**Array<String>**](String.html)| A list of jabberIds to fetch by bulk (cannot be used with the \"id\" parameter) | [optional] | **sort_order** | **String**| Ascending or descending sort order | [optional] [default to ASC]
**Values**: ascending, descending | {: class="table table-striped"} ### Return type [**GroupEntityListing**](GroupEntityListing.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**GroupsSearchResponse**](GroupsSearchResponse.html) get_groups_search(q64, opts) Search groups using the q64 value returned from a previous search Wraps GET /api/v2/groups/search Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new q64 = "q64_example" # String | q64 opts = { expand: ["expand_example"] # Array | expand } begin #Search groups using the q64 value returned from a previous search result = api_instance.get_groups_search(q64, opts) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->get_groups_search: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **q64** | **String**| q64 | | **expand** | [**Array<String>**](String.html)| expand | [optional] | {: class="table table-striped"} ### Return type [**GroupsSearchResponse**](GroupsSearchResponse.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**GroupProfileEntityListing**](GroupProfileEntityListing.html) get_profiles_groups(opts) DEPRECATED Get group profile listing This api is deprecated. Use /api/v2/groups instead. Wraps GET /api/v2/profiles/groups Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new opts = { page_size: 25, # Integer | Page size page_number: 1, # Integer | Page number id: ["id_example"], # Array | id sort_order: "ASC" # String | Ascending or descending sort order } begin #Get group profile listing result = api_instance.get_profiles_groups(opts) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->get_profiles_groups: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **page_size** | **Integer**| Page size | [optional] [default to 25] | **page_number** | **Integer**| Page number | [optional] [default to 1] | **id** | [**Array<String>**](String.html)| id | [optional] | **sort_order** | **String**| Ascending or descending sort order | [optional] [default to ASC]
**Values**: ascending, descending | {: class="table table-striped"} ### Return type [**GroupProfileEntityListing**](GroupProfileEntityListing.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**Empty**](Empty.html) post_group_members(group_id, body) Add members Wraps POST /api/v2/groups/{groupId}/members Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new group_id = "group_id_example" # String | Group ID body = PureCloud::GroupMembersUpdate.new # GroupMembersUpdate | Add members begin #Add members result = api_instance.post_group_members(group_id, body) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->post_group_members: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **group_id** | **String**| Group ID | | **body** | [**GroupMembersUpdate**](GroupMembersUpdate.html)| Add members | | {: class="table table-striped"} ### Return type [**Empty**](Empty.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**Group**](Group.html) post_groups(body) Create a group Wraps POST /api/v2/groups Requires ANY permissions: * directory:group:add ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new body = PureCloud::GroupCreate.new # GroupCreate | Group begin #Create a group result = api_instance.post_groups(body) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->post_groups: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **body** | [**GroupCreate**](GroupCreate.html)| Group | | {: class="table table-striped"} ### Return type [**Group**](Group.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**GroupsSearchResponse**](GroupsSearchResponse.html) post_groups_search(body) Search groups Wraps POST /api/v2/groups/search Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new body = PureCloud::GroupSearchRequest.new # GroupSearchRequest | Search request options begin #Search groups result = api_instance.post_groups_search(body) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->post_groups_search: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **body** | [**GroupSearchRequest**](GroupSearchRequest.html)| Search request options | | {: class="table table-striped"} ### Return type [**GroupsSearchResponse**](GroupsSearchResponse.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**Group**](Group.html) put_group(group_id, opts) Update group Wraps PUT /api/v2/groups/{groupId} Requires ANY permissions: * directory:group:edit ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::GroupsApi.new group_id = "group_id_example" # String | Group ID opts = { body: PureCloud::GroupUpdate.new # GroupUpdate | Group } begin #Update group result = api_instance.put_group(group_id, opts) p result rescue PureCloud::ApiError => e puts "Exception when calling GroupsApi->put_group: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **group_id** | **String**| Group ID | | **body** | [**GroupUpdate**](GroupUpdate.html)| Group | [optional] | {: class="table table-striped"} ### Return type [**Group**](Group.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json