---
title: UsersApi
---
## PureCloud::UsersApi
All URIs are relative to *https://api.mypurecloud.com*
Method | Description
------------- | ------------- | -------------
[**delete_analytics_users_details_job**](UsersApi.html#delete_analytics_users_details_job) | Delete/cancel an async request
[**delete_authorization_subject_division_role**](UsersApi.html#delete_authorization_subject_division_role) | Delete a grant of a role in a division
[**delete_routing_user_utilization**](UsersApi.html#delete_routing_user_utilization) | Delete the user's max utilization settings and revert to the organization-wide default.
[**delete_user**](UsersApi.html#delete_user) | Delete user
[**delete_user_routinglanguage**](UsersApi.html#delete_user_routinglanguage) | Remove routing language from user
[**delete_user_routingskill**](UsersApi.html#delete_user_routingskill) | Remove routing skill from user
[**delete_user_station_associatedstation**](UsersApi.html#delete_user_station_associatedstation) | Clear associated station
[**delete_user_station_defaultstation**](UsersApi.html#delete_user_station_defaultstation) | Clear default station
[**get_analytics_users_details_job**](UsersApi.html#get_analytics_users_details_job) | Get status for async query for user details
[**get_analytics_users_details_job_results**](UsersApi.html#get_analytics_users_details_job_results) | Fetch a page of results for an async query
[**get_authorization_divisionspermitted_me**](UsersApi.html#get_authorization_divisionspermitted_me) | Returns which divisions the current user has the given permission in.
[**get_authorization_divisionspermitted_paged_me**](UsersApi.html#get_authorization_divisionspermitted_paged_me) | Returns which divisions the current user has the given permission in.
[**get_authorization_divisionspermitted_paged_subject_id**](UsersApi.html#get_authorization_divisionspermitted_paged_subject_id) | Returns which divisions the specified user has the given permission in.
[**get_authorization_subject**](UsersApi.html#get_authorization_subject) | Returns a listing of roles and permissions for a user.
[**get_authorization_subjects_me**](UsersApi.html#get_authorization_subjects_me) | Returns a listing of roles and permissions for the currently authenticated user.
[**get_fieldconfig**](UsersApi.html#get_fieldconfig) | Fetch field config for an entity type
[**get_profiles_users**](UsersApi.html#get_profiles_users) | Get a user profile listing
[**get_routing_user_utilization**](UsersApi.html#get_routing_user_utilization) | Get the user's max utilization settings. If not configured, the organization-wide default is returned.
[**get_user**](UsersApi.html#get_user) | Get user.
[**get_user_adjacents**](UsersApi.html#get_user_adjacents) | Get adjacents
[**get_user_callforwarding**](UsersApi.html#get_user_callforwarding) | Get a user's CallForwarding
[**get_user_directreports**](UsersApi.html#get_user_directreports) | Get direct reports
[**get_user_favorites**](UsersApi.html#get_user_favorites) | Get favorites
[**get_user_geolocation**](UsersApi.html#get_user_geolocation) | Get a user's Geolocation
[**get_user_outofoffice**](UsersApi.html#get_user_outofoffice) | Get a OutOfOffice
[**get_user_profile**](UsersApi.html#get_user_profile) | Get user profile
[**get_user_profileskills**](UsersApi.html#get_user_profileskills) | List profile skills for a user
[**get_user_queues**](UsersApi.html#get_user_queues) | Get queues for user
[**get_user_roles**](UsersApi.html#get_user_roles) | Returns a listing of roles and permissions for a user.
[**get_user_routinglanguages**](UsersApi.html#get_user_routinglanguages) | List routing language for user
[**get_user_routingskills**](UsersApi.html#get_user_routingskills) | List routing skills for user
[**get_user_routingstatus**](UsersApi.html#get_user_routingstatus) | Fetch the routing status of a user
[**get_user_station**](UsersApi.html#get_user_station) | Get station information for user
[**get_user_superiors**](UsersApi.html#get_user_superiors) | Get superiors
[**get_user_trustors**](UsersApi.html#get_user_trustors) | List the organizations that have authorized/trusted the user.
[**get_users**](UsersApi.html#get_users) | Get the list of available users.
[**get_users_me**](UsersApi.html#get_users_me) | Get current user details.
[**get_users_search**](UsersApi.html#get_users_search) | Search users using the q64 value returned from a previous search
[**patch_user**](UsersApi.html#patch_user) | Update user
[**patch_user_callforwarding**](UsersApi.html#patch_user_callforwarding) | Patch a user's CallForwarding
[**patch_user_geolocation**](UsersApi.html#patch_user_geolocation) | Patch a user's Geolocation
[**patch_user_queue**](UsersApi.html#patch_user_queue) | Join or unjoin a queue for a user
[**patch_user_queues**](UsersApi.html#patch_user_queues) | Join or unjoin a set of queues for a user
[**patch_user_routinglanguage**](UsersApi.html#patch_user_routinglanguage) | Update routing language proficiency or state.
[**patch_user_routinglanguages_bulk**](UsersApi.html#patch_user_routinglanguages_bulk) | Add bulk routing language to user. Max limit 50 languages
[**patch_user_routingskills_bulk**](UsersApi.html#patch_user_routingskills_bulk) | Bulk add routing skills to user
[**patch_users_bulk**](UsersApi.html#patch_users_bulk) | Update bulk acd autoanswer on users
[**post_analytics_users_aggregates_query**](UsersApi.html#post_analytics_users_aggregates_query) | Query for user aggregates
[**post_analytics_users_details_jobs**](UsersApi.html#post_analytics_users_details_jobs) | Query for user details asynchronously
[**post_analytics_users_details_query**](UsersApi.html#post_analytics_users_details_query) | Query for user details
[**post_analytics_users_observations_query**](UsersApi.html#post_analytics_users_observations_query) | Query for user observations
[**post_authorization_subject_bulkadd**](UsersApi.html#post_authorization_subject_bulkadd) | Bulk-grant roles and divisions to a subject.
[**post_authorization_subject_bulkremove**](UsersApi.html#post_authorization_subject_bulkremove) | Bulk-remove grants from a subject.
[**post_authorization_subject_division_role**](UsersApi.html#post_authorization_subject_division_role) | Make a grant of a role in a division
[**post_user_invite**](UsersApi.html#post_user_invite) | Send an activation email to the user
[**post_user_password**](UsersApi.html#post_user_password) | Change a users password
[**post_user_routinglanguages**](UsersApi.html#post_user_routinglanguages) | Add routing language to user
[**post_user_routingskills**](UsersApi.html#post_user_routingskills) | Add routing skill to user
[**post_users**](UsersApi.html#post_users) | Create user
[**post_users_me_password**](UsersApi.html#post_users_me_password) | Change your password
[**post_users_search**](UsersApi.html#post_users_search) | Search users
[**put_routing_user_utilization**](UsersApi.html#put_routing_user_utilization) | Update the user's max utilization settings. Include only those media types requiring custom configuration.
[**put_user_callforwarding**](UsersApi.html#put_user_callforwarding) | Update a user's CallForwarding
[**put_user_outofoffice**](UsersApi.html#put_user_outofoffice) | Update an OutOfOffice
[**put_user_profileskills**](UsersApi.html#put_user_profileskills) | Update profile skills for a user
[**put_user_roles**](UsersApi.html#put_user_roles) | Sets the user's roles
[**put_user_routingskill**](UsersApi.html#put_user_routingskill) | Update routing skill proficiency or state.
[**put_user_routingskills_bulk**](UsersApi.html#put_user_routingskills_bulk) | Replace all routing skills assigned to a user
[**put_user_routingstatus**](UsersApi.html#put_user_routingstatus) | Update the routing status of a user
[**put_user_station_associatedstation_station_id**](UsersApi.html#put_user_station_associatedstation_station_id) | Set associated station
[**put_user_station_defaultstation_station_id**](UsersApi.html#put_user_station_defaultstation_station_id) | Set default station
{: class="table table-striped"}
## delete_analytics_users_details_job(job_id)
Delete/cancel an async request
Wraps DELETE /api/v2/analytics/users/details/jobs/{jobId}
Requires ANY permissions:
* analytics:userDetail:view
### 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::UsersApi.new
job_id = "job_id_example" # String | jobId
begin
#Delete/cancel an async request
api_instance.delete_analytics_users_details_job(job_id)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->delete_analytics_users_details_job: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**job_id** | **String**| jobId | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## delete_authorization_subject_division_role(subject_id, division_id, role_id)
Delete a grant of a role in a division
Wraps DELETE /api/v2/authorization/subjects/{subjectId}/divisions/{divisionId}/roles/{roleId}
Requires ANY permissions:
* authorization:grant: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::UsersApi.new
subject_id = "subject_id_example" # String | Subject ID (user or group)
division_id = "division_id_example" # String | the id of the division of the grant
role_id = "role_id_example" # String | the id of the role of the grant
begin
#Delete a grant of a role in a division
api_instance.delete_authorization_subject_division_role(subject_id, division_id, role_id)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->delete_authorization_subject_division_role: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**subject_id** | **String**| Subject ID (user or group) | |
**division_id** | **String**| the id of the division of the grant | |
**role_id** | **String**| the id of the role of the grant | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## delete_routing_user_utilization(user_id)
Delete the user's max utilization settings and revert to the organization-wide default.
Wraps DELETE /api/v2/routing/users/{userId}/utilization
Requires ANY permissions:
* routing:utilization:manage
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Delete the user's max utilization settings and revert to the organization-wide default.
api_instance.delete_routing_user_utilization(user_id)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->delete_routing_user_utilization: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User 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_user(user_id)
Delete user
Wraps DELETE /api/v2/users/{userId}
Requires ANY permissions:
* directory:user: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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Delete user
result = api_instance.delete_user(user_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->delete_user: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
[**Empty**](Empty.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## delete_user_routinglanguage(user_id, language_id)
Remove routing language from user
Wraps DELETE /api/v2/users/{userId}/routinglanguages/{languageId}
Requires ANY permissions:
* routing:skill:assign
* routing:language:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
language_id = "language_id_example" # String | languageId
begin
#Remove routing language from user
api_instance.delete_user_routinglanguage(user_id, language_id)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->delete_user_routinglanguage: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**language_id** | **String**| languageId | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## delete_user_routingskill(user_id, skill_id)
Remove routing skill from user
Wraps DELETE /api/v2/users/{userId}/routingskills/{skillId}
Requires ALL permissions:
* routing:skill:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
skill_id = "skill_id_example" # String | skillId
begin
#Remove routing skill from user
api_instance.delete_user_routingskill(user_id, skill_id)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->delete_user_routingskill: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**skill_id** | **String**| skillId | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## delete_user_station_associatedstation(user_id)
Clear associated station
Wraps DELETE /api/v2/users/{userId}/station/associatedstation
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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Clear associated station
api_instance.delete_user_station_associatedstation(user_id)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->delete_user_station_associatedstation: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## delete_user_station_defaultstation(user_id)
Clear default station
Wraps DELETE /api/v2/users/{userId}/station/defaultstation
Requires ANY permissions:
* telephony:plugin:all
* telephony:phone:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Clear default station
api_instance.delete_user_station_defaultstation(user_id)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->delete_user_station_defaultstation: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**AsyncQueryStatus**](AsyncQueryStatus.html) get_analytics_users_details_job(job_id)
Get status for async query for user details
Wraps GET /api/v2/analytics/users/details/jobs/{jobId}
Requires ANY permissions:
* analytics:userDetail:view
### 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::UsersApi.new
job_id = "job_id_example" # String | jobId
begin
#Get status for async query for user details
result = api_instance.get_analytics_users_details_job(job_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_analytics_users_details_job: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**job_id** | **String**| jobId | |
{: class="table table-striped"}
### Return type
[**AsyncQueryStatus**](AsyncQueryStatus.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**AnalyticsUserDetailsAsyncQueryResponse**](AnalyticsUserDetailsAsyncQueryResponse.html) get_analytics_users_details_job_results(job_id, opts)
Fetch a page of results for an async query
Wraps GET /api/v2/analytics/users/details/jobs/{jobId}/results
Requires ANY permissions:
* analytics:userDetail:view
### 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::UsersApi.new
job_id = "job_id_example" # String | jobId
opts = {
cursor: "cursor_example", # String | Indicates where to resume query results (not required for first page)
page_size: 56 # Integer | The desired maximum number of results
}
begin
#Fetch a page of results for an async query
result = api_instance.get_analytics_users_details_job_results(job_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_analytics_users_details_job_results: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**job_id** | **String**| jobId | |
**cursor** | **String**| Indicates where to resume query results (not required for first page) | [optional] |
**page_size** | **Integer**| The desired maximum number of results | [optional] |
{: class="table table-striped"}
### Return type
[**AnalyticsUserDetailsAsyncQueryResponse**](AnalyticsUserDetailsAsyncQueryResponse.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**Array<AuthzDivision>**](AuthzDivision.html) get_authorization_divisionspermitted_me(permission, opts)
DEPRECATED
Returns which divisions the current user has the given permission in.
This route is deprecated, use authorization/divisionspermitted/paged/me instead.
Wraps GET /api/v2/authorization/divisionspermitted/me
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::UsersApi.new
permission = "permission_example" # String | The permission string, including the object to access, e.g. routing:queue:view
opts = {
name: "name_example" # String | Search term to filter by division name
}
begin
#Returns which divisions the current user has the given permission in.
result = api_instance.get_authorization_divisionspermitted_me(permission, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_authorization_divisionspermitted_me: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**permission** | **String**| The permission string, including the object to access, e.g. routing:queue:view | |
**name** | **String**| Search term to filter by division name | [optional] |
{: class="table table-striped"}
### Return type
[**Array<AuthzDivision>**](AuthzDivision.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**DivsPermittedEntityListing**](DivsPermittedEntityListing.html) get_authorization_divisionspermitted_paged_me(permission, opts)
Returns which divisions the current user has the given permission in.
Wraps GET /api/v2/authorization/divisionspermitted/paged/me
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::UsersApi.new
permission = "permission_example" # String | The permission string, including the object to access, e.g. routing:queue:view
opts = {
page_number: 1, # Integer | Page number
page_size: 25 # Integer | Page size
}
begin
#Returns which divisions the current user has the given permission in.
result = api_instance.get_authorization_divisionspermitted_paged_me(permission, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_authorization_divisionspermitted_paged_me: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**permission** | **String**| The permission string, including the object to access, e.g. routing:queue:view | |
**page_number** | **Integer**| Page number | [optional] [default to 1] |
**page_size** | **Integer**| Page size | [optional] [default to 25] |
{: class="table table-striped"}
### Return type
[**DivsPermittedEntityListing**](DivsPermittedEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**DivsPermittedEntityListing**](DivsPermittedEntityListing.html) get_authorization_divisionspermitted_paged_subject_id(subject_id, permission, opts)
DEPRECATED
Returns which divisions the specified user has the given permission in.
This route is deprecated, use authorization/divisionspermitted/paged/me instead.
Wraps GET /api/v2/authorization/divisionspermitted/paged/{subjectId}
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::UsersApi.new
subject_id = "subject_id_example" # String | Subject ID (user or group)
permission = "permission_example" # String | The permission string, including the object to access, e.g. routing:queue:view
opts = {
page_number: 1, # Integer | Page number
page_size: 25 # Integer | Page size
}
begin
#Returns which divisions the specified user has the given permission in.
result = api_instance.get_authorization_divisionspermitted_paged_subject_id(subject_id, permission, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_authorization_divisionspermitted_paged_subject_id: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**subject_id** | **String**| Subject ID (user or group) | |
**permission** | **String**| The permission string, including the object to access, e.g. routing:queue:view | |
**page_number** | **Integer**| Page number | [optional] [default to 1] |
**page_size** | **Integer**| Page size | [optional] [default to 25] |
{: class="table table-striped"}
### Return type
[**DivsPermittedEntityListing**](DivsPermittedEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**AuthzSubject**](AuthzSubject.html) get_authorization_subject(subject_id)
Returns a listing of roles and permissions for a user.
Wraps GET /api/v2/authorization/subjects/{subjectId}
Requires ANY permissions:
* authorization:grant:view
### 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::UsersApi.new
subject_id = "subject_id_example" # String | Subject ID (user or group)
begin
#Returns a listing of roles and permissions for a user.
result = api_instance.get_authorization_subject(subject_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_authorization_subject: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**subject_id** | **String**| Subject ID (user or group) | |
{: class="table table-striped"}
### Return type
[**AuthzSubject**](AuthzSubject.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**AuthzSubject**](AuthzSubject.html) get_authorization_subjects_me
Returns a listing of roles and permissions for the currently authenticated user.
Wraps GET /api/v2/authorization/subjects/me
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::UsersApi.new
begin
#Returns a listing of roles and permissions for the currently authenticated user.
result = api_instance.get_authorization_subjects_me
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_authorization_subjects_me: #{e}"
end
```
### Parameters
This endpoint does not need any parameter.
{: class="table table-striped"}
### Return type
[**AuthzSubject**](AuthzSubject.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::UsersApi.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 UsersApi->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
## [**UserProfileEntityListing**](UserProfileEntityListing.html) get_profiles_users(opts)
DEPRECATED
Get a user profile listing
This api is deprecated. User /api/v2/users
Wraps GET /api/v2/profiles/users
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::UsersApi.new
opts = {
page_size: 25, # Integer | Page size
page_number: 1, # Integer | Page number
id: ["id_example"], # Array | id
jid: ["jid_example"], # Array | jid
sort_order: "ASC", # String | Ascending or descending sort order
expand: ["expand_example"], # Array | Which fields, if any, to expand
integration_presence_source: "integration_presence_source_example" # String | Gets an integration presence for users instead of their defaults. This parameter will only be used when presence is provided as an \"expand\".
}
begin
#Get a user profile listing
result = api_instance.get_profiles_users(opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_profiles_users: #{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] |
**jid** | [**Array<String>**](String.html)| jid | [optional] |
**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 |
**integration_presence_source** | **String**| Gets an integration presence for users instead of their defaults. This parameter will only be used when presence is provided as an \"expand\". | [optional]
**Values**: MicrosoftTeams, ZoomPhone |
{: class="table table-striped"}
### Return type
[**UserProfileEntityListing**](UserProfileEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**Utilization**](Utilization.html) get_routing_user_utilization(user_id)
Get the user's max utilization settings. If not configured, the organization-wide default is returned.
Wraps GET /api/v2/routing/users/{userId}/utilization
Requires ANY permissions:
* routing:utilization:manage
* routing:utilization:view
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Get the user's max utilization settings. If not configured, the organization-wide default is returned.
result = api_instance.get_routing_user_utilization(user_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_routing_user_utilization: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
[**Utilization**](Utilization.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**User**](User.html) get_user(user_id, opts)
Get user.
Wraps GET /api/v2/users/{userId}
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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
expand: ["expand_example"], # Array | Which fields, if any, to expand
integration_presence_source: "integration_presence_source_example", # String | Gets an integration presence for a user instead of their default.
state: "active" # String | Search for a user with this state
}
begin
#Get user.
result = api_instance.get_user(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**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 |
**integration_presence_source** | **String**| Gets an integration presence for a user instead of their default. | [optional]
**Values**: MicrosoftTeams, ZoomPhone |
**state** | **String**| Search for a user with this state | [optional] [default to active]
**Values**: active, deleted |
{: class="table table-striped"}
### Return type
[**User**](User.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**Adjacents**](Adjacents.html) get_user_adjacents(user_id, opts)
Get adjacents
Wraps GET /api/v2/users/{userId}/adjacents
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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
expand: ["expand_example"] # Array | Which fields, if any, to expand
}
begin
#Get adjacents
result = api_instance.get_user_adjacents(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_adjacents: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**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
[**Adjacents**](Adjacents.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**CallForwarding**](CallForwarding.html) get_user_callforwarding(user_id)
Get a user's CallForwarding
Wraps GET /api/v2/users/{userId}/callforwarding
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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Get a user's CallForwarding
result = api_instance.get_user_callforwarding(user_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_callforwarding: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
[**CallForwarding**](CallForwarding.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**Array<User>**](User.html) get_user_directreports(user_id, opts)
Get direct reports
Wraps GET /api/v2/users/{userId}/directreports
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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
expand: ["expand_example"] # Array | Which fields, if any, to expand
}
begin
#Get direct reports
result = api_instance.get_user_directreports(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_directreports: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**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
[**Array<User>**](User.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserEntityListing**](UserEntityListing.html) get_user_favorites(user_id, opts)
Get favorites
Wraps GET /api/v2/users/{userId}/favorites
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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
page_size: 25, # Integer | Page size
page_number: 1, # Integer | Page number
sort_order: "ASC", # String | Sort order
expand: ["expand_example"] # Array | Which fields, if any, to expand
}
begin
#Get favorites
result = api_instance.get_user_favorites(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_favorites: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**page_size** | **Integer**| Page size | [optional] [default to 25] |
**page_number** | **Integer**| Page number | [optional] [default to 1] |
**sort_order** | **String**| Sort order | [optional] [default to ASC] |
**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
## [**Geolocation**](Geolocation.html) get_user_geolocation(user_id, client_id)
Get a user's Geolocation
Wraps GET /api/v2/users/{userId}/geolocations/{clientId}
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::UsersApi.new
user_id = "user_id_example" # String | user Id
client_id = "client_id_example" # String | client Id
begin
#Get a user's Geolocation
result = api_instance.get_user_geolocation(user_id, client_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_geolocation: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| user Id | |
**client_id** | **String**| client Id | |
{: class="table table-striped"}
### Return type
[**Geolocation**](Geolocation.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**OutOfOffice**](OutOfOffice.html) get_user_outofoffice(user_id)
Get a OutOfOffice
Wraps GET /api/v2/users/{userId}/outofoffice
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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Get a OutOfOffice
result = api_instance.get_user_outofoffice(user_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_outofoffice: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
[**OutOfOffice**](OutOfOffice.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserProfile**](UserProfile.html) get_user_profile(user_id, opts)
DEPRECATED
Get user profile
This api has been deprecated. Use api/v2/users instead
Wraps GET /api/v2/users/{userId}/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::UsersApi.new
user_id = "user_id_example" # String | userId
opts = {
expand: ["expand_example"], # Array | Which fields, if any, to expand
integration_presence_source: "integration_presence_source_example" # String | Gets an integration presence for a user instead of their default.
}
begin
#Get user profile
result = api_instance.get_user_profile(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_profile: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| userId | |
**expand** | [**Array<String>**](String.html)| Which fields, if any, to expand | [optional]
**Values**: routingStatus, presence, conversationSummary, outOfOffice, geolocation, station, authorization, lasttokenissued, authorization.unusedRoles, team |
**integration_presence_source** | **String**| Gets an integration presence for a user instead of their default. | [optional]
**Values**: MicrosoftTeams, ZoomPhone |
{: class="table table-striped"}
### Return type
[**UserProfile**](UserProfile.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## Array<String>** get_user_profileskills(user_id)
List profile skills for a user
Wraps GET /api/v2/users/{userId}/profileskills
Requires ANY permissions:
* directory:userProfile:view
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#List profile skills for a user
result = api_instance.get_user_profileskills(user_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_profileskills: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
**Array<String>**
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserQueueEntityListing**](UserQueueEntityListing.html) get_user_queues(user_id, opts)
Get queues for user
Wraps GET /api/v2/users/{userId}/queues
Requires ANY permissions:
* routing:queue:view
* routing:queue:join
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
page_size: 25, # Integer | Page size
page_number: 1, # Integer | Page number
joined: true, # BOOLEAN | Is joined to the queue
division_id: ["division_id_example"] # Array | Division ID(s)
}
begin
#Get queues for user
result = api_instance.get_user_queues(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_queues: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**page_size** | **Integer**| Page size | [optional] [default to 25] |
**page_number** | **Integer**| Page number | [optional] [default to 1] |
**joined** | **BOOLEAN**| Is joined to the queue | [optional] [default to true] |
**division_id** | [**Array<String>**](String.html)| Division ID(s) | [optional] |
{: class="table table-striped"}
### Return type
[**UserQueueEntityListing**](UserQueueEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserAuthorization**](UserAuthorization.html) get_user_roles(user_id)
Returns a listing of roles and permissions for a user.
Wraps GET /api/v2/users/{userId}/roles
Requires ANY permissions:
* authorization:grant:view
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Returns a listing of roles and permissions for a user.
result = api_instance.get_user_roles(user_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_roles: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
[**UserAuthorization**](UserAuthorization.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserLanguageEntityListing**](UserLanguageEntityListing.html) get_user_routinglanguages(user_id, opts)
List routing language for user
Wraps GET /api/v2/users/{userId}/routinglanguages
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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
page_size: 25, # Integer | Page size
page_number: 1, # Integer | Page number
sort_order: "ASC" # String | Ascending or descending sort order
}
begin
#List routing language for user
result = api_instance.get_user_routinglanguages(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_routinglanguages: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User 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 |
{: class="table table-striped"}
### Return type
[**UserLanguageEntityListing**](UserLanguageEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserSkillEntityListing**](UserSkillEntityListing.html) get_user_routingskills(user_id, opts)
List routing skills for user
Wraps GET /api/v2/users/{userId}/routingskills
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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
page_size: 25, # Integer | Page size
page_number: 1, # Integer | Page number
sort_order: "ASC" # String | Ascending or descending sort order
}
begin
#List routing skills for user
result = api_instance.get_user_routingskills(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_routingskills: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User 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 |
{: class="table table-striped"}
### Return type
[**UserSkillEntityListing**](UserSkillEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**RoutingStatus**](RoutingStatus.html) get_user_routingstatus(user_id)
Fetch the routing status of a user
Wraps GET /api/v2/users/{userId}/routingstatus
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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Fetch the routing status of a user
result = api_instance.get_user_routingstatus(user_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_routingstatus: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
[**RoutingStatus**](RoutingStatus.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserStations**](UserStations.html) get_user_station(user_id)
Get station information for user
Wraps GET /api/v2/users/{userId}/station
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::UsersApi.new
user_id = "user_id_example" # String | User ID
begin
#Get station information for user
result = api_instance.get_user_station(user_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_station: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
{: class="table table-striped"}
### Return type
[**UserStations**](UserStations.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**Array<User>**](User.html) get_user_superiors(user_id, opts)
Get superiors
Wraps GET /api/v2/users/{userId}/superiors
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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
expand: ["expand_example"] # Array | Which fields, if any, to expand
}
begin
#Get superiors
result = api_instance.get_user_superiors(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_superiors: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**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
[**Array<User>**](User.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**TrustorEntityListing**](TrustorEntityListing.html) get_user_trustors(user_id, opts)
List the organizations that have authorized/trusted the user.
Wraps GET /api/v2/users/{userId}/trustors
Requires ALL permissions:
* authorization:orgTrustor:view
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
page_size: 25, # Integer | Page size
page_number: 1 # Integer | Page number
}
begin
#List the organizations that have authorized/trusted the user.
result = api_instance.get_user_trustors(user_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_user_trustors: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**page_size** | **Integer**| Page size | [optional] [default to 25] |
**page_number** | **Integer**| Page number | [optional] [default to 1] |
{: class="table table-striped"}
### Return type
[**TrustorEntityListing**](TrustorEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserEntityListing**](UserEntityListing.html) get_users(opts)
Get the list of available users.
Wraps GET /api/v2/users
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::UsersApi.new
opts = {
page_size: 25, # Integer | Page size
page_number: 1, # Integer | Page number
id: ["id_example"], # Array | A list of user IDs to fetch by bulk
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
expand: ["expand_example"], # Array | Which fields, if any, to expand
integration_presence_source: "integration_presence_source_example", # String | Gets an integration presence for users instead of their defaults. This parameter will only be used when presence is provided as an \"expand\". When using this parameter the maximum number of users that can be returned is 10.
state: "active" # String | Only list users of this state
}
begin
#Get the list of available users.
result = api_instance.get_users(opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_users: #{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)| A list of user IDs to fetch by bulk | [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 |
**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 |
**integration_presence_source** | **String**| Gets an integration presence for users instead of their defaults. This parameter will only be used when presence is provided as an \"expand\". When using this parameter the maximum number of users that can be returned is 10. | [optional]
**Values**: MicrosoftTeams, ZoomPhone |
**state** | **String**| Only list users of this state | [optional] [default to active]
**Values**: active, inactive, deleted, any |
{: class="table table-striped"}
### Return type
[**UserEntityListing**](UserEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserMe**](UserMe.html) get_users_me(opts)
Get current user details.
This request is not valid when using the Client Credentials OAuth grant.
Wraps GET /api/v2/users/me
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::UsersApi.new
opts = {
expand: ["expand_example"], # Array | Which fields, if any, to expand.
integration_presence_source: "integration_presence_source_example" # String | Get your presence for a given integration. This parameter will only be used when presence is provided as an \"expand\".
}
begin
#Get current user details.
result = api_instance.get_users_me(opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_users_me: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**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, date, geolocationsettings, organization, presencedefinitions, locationdefinitions, orgauthorization, orgproducts, favorites, superiors, directreports, adjacents, routingskills, routinglanguages, fieldconfigs, token, trustors |
**integration_presence_source** | **String**| Get your presence for a given integration. This parameter will only be used when presence is provided as an \"expand\". | [optional]
**Values**: MicrosoftTeams, ZoomPhone |
{: class="table table-striped"}
### Return type
[**UserMe**](UserMe.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UsersSearchResponse**](UsersSearchResponse.html) get_users_search(q64, opts)
Search users using the q64 value returned from a previous search
Wraps GET /api/v2/users/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::UsersApi.new
q64 = "q64_example" # String | q64
opts = {
expand: ["expand_example"], # Array | expand
integration_presence_source: "integration_presence_source_example" # String | integrationPresenceSource
}
begin
#Search users using the q64 value returned from a previous search
result = api_instance.get_users_search(q64, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->get_users_search: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**q64** | **String**| q64 | |
**expand** | [**Array<String>**](String.html)| expand | [optional] |
**integration_presence_source** | **String**| integrationPresenceSource | [optional]
**Values**: MicrosoftTeams, ZoomPhone |
{: class="table table-striped"}
### Return type
[**UsersSearchResponse**](UsersSearchResponse.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**User**](User.html) patch_user(user_id, body)
Update user
Wraps PATCH /api/v2/users/{userId}
Requires ANY permissions:
* directory:user: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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = PureCloud::UpdateUser.new # UpdateUser | User
begin
#Update user
result = api_instance.patch_user(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->patch_user: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**UpdateUser**](UpdateUser.html)| User | |
{: class="table table-striped"}
### Return type
[**User**](User.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**CallForwarding**](CallForwarding.html) patch_user_callforwarding(user_id, body)
Patch a user's CallForwarding
Wraps PATCH /api/v2/users/{userId}/callforwarding
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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = PureCloud::CallForwarding.new # CallForwarding | Call forwarding
begin
#Patch a user's CallForwarding
result = api_instance.patch_user_callforwarding(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->patch_user_callforwarding: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**CallForwarding**](CallForwarding.html)| Call forwarding | |
{: class="table table-striped"}
### Return type
[**CallForwarding**](CallForwarding.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**Geolocation**](Geolocation.html) patch_user_geolocation(user_id, client_id, body)
Patch a user's Geolocation
The geolocation object can be patched one of three ways. Option 1: Set the 'primary' property to true. This will set the client as the user's primary geolocation source. Option 2: Provide the 'latitude' and 'longitude' values. This will enqueue an asynchronous update of the 'city', 'region', and 'country', generating a notification. A subsequent GET operation will include the new values for 'city', 'region' and 'country'. Option 3: Provide the 'city', 'region', 'country' values. Option 1 can be combined with Option 2 or Option 3. For example, update the client as primary and provide latitude and longitude values.
Wraps PATCH /api/v2/users/{userId}/geolocations/{clientId}
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::UsersApi.new
user_id = "user_id_example" # String | user Id
client_id = "client_id_example" # String | client Id
body = PureCloud::Geolocation.new # Geolocation | Geolocation
begin
#Patch a user's Geolocation
result = api_instance.patch_user_geolocation(user_id, client_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->patch_user_geolocation: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| user Id | |
**client_id** | **String**| client Id | |
**body** | [**Geolocation**](Geolocation.html)| Geolocation | |
{: class="table table-striped"}
### Return type
[**Geolocation**](Geolocation.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserQueue**](UserQueue.html) patch_user_queue(queue_id, user_id, body)
Join or unjoin a queue for a user
Wraps PATCH /api/v2/users/{userId}/queues/{queueId}
Requires ANY permissions:
* routing:queue:join
### 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::UsersApi.new
queue_id = "queue_id_example" # String | Queue ID
user_id = "user_id_example" # String | User ID
body = PureCloud::UserQueue.new # UserQueue | Queue Member
begin
#Join or unjoin a queue for a user
result = api_instance.patch_user_queue(queue_id, user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->patch_user_queue: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queue_id** | **String**| Queue ID | |
**user_id** | **String**| User ID | |
**body** | [**UserQueue**](UserQueue.html)| Queue Member | |
{: class="table table-striped"}
### Return type
[**UserQueue**](UserQueue.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserQueueEntityListing**](UserQueueEntityListing.html) patch_user_queues(user_id, body, opts)
Join or unjoin a set of queues for a user
Wraps PATCH /api/v2/users/{userId}/queues
Requires ANY permissions:
* routing:queue:join
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = [PureCloud::UserQueue.new] # Array | User Queues
opts = {
division_id: ["division_id_example"] # Array | Division ID(s)
}
begin
#Join or unjoin a set of queues for a user
result = api_instance.patch_user_queues(user_id, body, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->patch_user_queues: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**Array<UserQueue>**](UserQueue.html)| User Queues | |
**division_id** | [**Array<String>**](String.html)| Division ID(s) | [optional] |
{: class="table table-striped"}
### Return type
[**UserQueueEntityListing**](UserQueueEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserRoutingLanguage**](UserRoutingLanguage.html) patch_user_routinglanguage(user_id, language_id, body)
Update routing language proficiency or state.
Wraps PATCH /api/v2/users/{userId}/routinglanguages/{languageId}
Requires ANY permissions:
* routing:skill:assign
* routing:language:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
language_id = "language_id_example" # String | languageId
body = PureCloud::UserRoutingLanguage.new # UserRoutingLanguage | Language
begin
#Update routing language proficiency or state.
result = api_instance.patch_user_routinglanguage(user_id, language_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->patch_user_routinglanguage: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**language_id** | **String**| languageId | |
**body** | [**UserRoutingLanguage**](UserRoutingLanguage.html)| Language | |
{: class="table table-striped"}
### Return type
[**UserRoutingLanguage**](UserRoutingLanguage.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserLanguageEntityListing**](UserLanguageEntityListing.html) patch_user_routinglanguages_bulk(user_id, body)
Add bulk routing language to user. Max limit 50 languages
Wraps PATCH /api/v2/users/{userId}/routinglanguages/bulk
Requires ANY permissions:
* routing:skill:assign
* routing:language:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = [PureCloud::UserRoutingLanguagePost.new] # Array | Language
begin
#Add bulk routing language to user. Max limit 50 languages
result = api_instance.patch_user_routinglanguages_bulk(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->patch_user_routinglanguages_bulk: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**Array<UserRoutingLanguagePost>**](UserRoutingLanguagePost.html)| Language | |
{: class="table table-striped"}
### Return type
[**UserLanguageEntityListing**](UserLanguageEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserSkillEntityListing**](UserSkillEntityListing.html) patch_user_routingskills_bulk(user_id, body)
Bulk add routing skills to user
Wraps PATCH /api/v2/users/{userId}/routingskills/bulk
Requires ANY permissions:
* routing:skill:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = [PureCloud::UserRoutingSkillPost.new] # Array | Skill
begin
#Bulk add routing skills to user
result = api_instance.patch_user_routingskills_bulk(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->patch_user_routingskills_bulk: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**Array<UserRoutingSkillPost>**](UserRoutingSkillPost.html)| Skill | |
{: class="table table-striped"}
### Return type
[**UserSkillEntityListing**](UserSkillEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserEntityListing**](UserEntityListing.html) patch_users_bulk(body)
Update bulk acd autoanswer on users
Wraps PATCH /api/v2/users/bulk
Requires ANY permissions:
* directory:user:add
* directory:user: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::UsersApi.new
body = [PureCloud::PatchUser.new] # Array | Users
begin
#Update bulk acd autoanswer on users
result = api_instance.patch_users_bulk(body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->patch_users_bulk: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**Array<PatchUser>**](PatchUser.html)| Users | |
{: class="table table-striped"}
### Return type
[**UserEntityListing**](UserEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserAggregateQueryResponse**](UserAggregateQueryResponse.html) post_analytics_users_aggregates_query(body)
Query for user aggregates
Wraps POST /api/v2/analytics/users/aggregates/query
Requires ANY permissions:
* analytics:userAggregate:view
### 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::UsersApi.new
body = PureCloud::UserAggregationQuery.new # UserAggregationQuery | query
begin
#Query for user aggregates
result = api_instance.post_analytics_users_aggregates_query(body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_analytics_users_aggregates_query: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**UserAggregationQuery**](UserAggregationQuery.html)| query | |
{: class="table table-striped"}
### Return type
[**UserAggregateQueryResponse**](UserAggregateQueryResponse.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**AsyncQueryResponse**](AsyncQueryResponse.html) post_analytics_users_details_jobs(body)
Query for user details asynchronously
Wraps POST /api/v2/analytics/users/details/jobs
Requires ANY permissions:
* analytics:userDetail:view
### 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::UsersApi.new
body = PureCloud::AsyncUserDetailsQuery.new # AsyncUserDetailsQuery | query
begin
#Query for user details asynchronously
result = api_instance.post_analytics_users_details_jobs(body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_analytics_users_details_jobs: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**AsyncUserDetailsQuery**](AsyncUserDetailsQuery.html)| query | |
{: class="table table-striped"}
### Return type
[**AsyncQueryResponse**](AsyncQueryResponse.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**AnalyticsUserDetailsQueryResponse**](AnalyticsUserDetailsQueryResponse.html) post_analytics_users_details_query(body)
Query for user details
Wraps POST /api/v2/analytics/users/details/query
Requires ANY permissions:
* analytics:userObservation:view
### 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::UsersApi.new
body = PureCloud::UserDetailsQuery.new # UserDetailsQuery | query
begin
#Query for user details
result = api_instance.post_analytics_users_details_query(body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_analytics_users_details_query: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**UserDetailsQuery**](UserDetailsQuery.html)| query | |
{: class="table table-striped"}
### Return type
[**AnalyticsUserDetailsQueryResponse**](AnalyticsUserDetailsQueryResponse.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserObservationQueryResponse**](UserObservationQueryResponse.html) post_analytics_users_observations_query(body)
Query for user observations
Wraps POST /api/v2/analytics/users/observations/query
Requires ANY permissions:
* analytics:userObservation:view
### 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::UsersApi.new
body = PureCloud::UserObservationQuery.new # UserObservationQuery | query
begin
#Query for user observations
result = api_instance.post_analytics_users_observations_query(body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_analytics_users_observations_query: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**UserObservationQuery**](UserObservationQuery.html)| query | |
{: class="table table-striped"}
### Return type
[**UserObservationQueryResponse**](UserObservationQueryResponse.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## post_authorization_subject_bulkadd(subject_id, body, opts)
Bulk-grant roles and divisions to a subject.
Wraps POST /api/v2/authorization/subjects/{subjectId}/bulkadd
Requires ANY permissions:
* authorization:grant: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::UsersApi.new
subject_id = "subject_id_example" # String | Subject ID (user or group)
body = PureCloud::RoleDivisionGrants.new # RoleDivisionGrants | Pairs of role and division IDs
opts = {
subject_type: "PC_USER" # String | what the type of the subject is (PC_GROUP, PC_USER or PC_OAUTH_CLIENT)
}
begin
#Bulk-grant roles and divisions to a subject.
api_instance.post_authorization_subject_bulkadd(subject_id, body, opts)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_authorization_subject_bulkadd: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**subject_id** | **String**| Subject ID (user or group) | |
**body** | [**RoleDivisionGrants**](RoleDivisionGrants.html)| Pairs of role and division IDs | |
**subject_type** | **String**| what the type of the subject is (PC_GROUP, PC_USER or PC_OAUTH_CLIENT) | [optional] [default to PC_USER] |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## post_authorization_subject_bulkremove(subject_id, body)
Bulk-remove grants from a subject.
Wraps POST /api/v2/authorization/subjects/{subjectId}/bulkremove
Requires ANY permissions:
* authorization:grant: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::UsersApi.new
subject_id = "subject_id_example" # String | Subject ID (user or group)
body = PureCloud::RoleDivisionGrants.new # RoleDivisionGrants | Pairs of role and division IDs
begin
#Bulk-remove grants from a subject.
api_instance.post_authorization_subject_bulkremove(subject_id, body)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_authorization_subject_bulkremove: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**subject_id** | **String**| Subject ID (user or group) | |
**body** | [**RoleDivisionGrants**](RoleDivisionGrants.html)| Pairs of role and division IDs | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## post_authorization_subject_division_role(subject_id, division_id, role_id, opts)
Make a grant of a role in a division
Wraps POST /api/v2/authorization/subjects/{subjectId}/divisions/{divisionId}/roles/{roleId}
Requires ANY permissions:
* authorization:grant: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::UsersApi.new
subject_id = "subject_id_example" # String | Subject ID (user or group)
division_id = "division_id_example" # String | the id of the division to which to make the grant
role_id = "role_id_example" # String | the id of the role to grant
opts = {
subject_type: "PC_USER" # String | what the type of the subject is: PC_GROUP, PC_USER or PC_OAUTH_CLIENT (note: for cross-org authorization, please use the Organization Authorization endpoints)
}
begin
#Make a grant of a role in a division
api_instance.post_authorization_subject_division_role(subject_id, division_id, role_id, opts)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_authorization_subject_division_role: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**subject_id** | **String**| Subject ID (user or group) | |
**division_id** | **String**| the id of the division to which to make the grant | |
**role_id** | **String**| the id of the role to grant | |
**subject_type** | **String**| what the type of the subject is: PC_GROUP, PC_USER or PC_OAUTH_CLIENT (note: for cross-org authorization, please use the Organization Authorization endpoints) | [optional] [default to PC_USER] |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## post_user_invite(user_id, opts)
Send an activation email to the user
Wraps POST /api/v2/users/{userId}/invite
Requires ANY permissions:
* directory:user: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::UsersApi.new
user_id = "user_id_example" # String | User ID
opts = {
force: false # BOOLEAN | Resend the invitation even if one is already outstanding
}
begin
#Send an activation email to the user
api_instance.post_user_invite(user_id, opts)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_user_invite: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**force** | **BOOLEAN**| Resend the invitation even if one is already outstanding | [optional] [default to false] |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## post_user_password(user_id, body)
Change a users password
Wraps POST /api/v2/users/{userId}/password
Requires ANY permissions:
* directory:user:setPassword
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = PureCloud::ChangePasswordRequest.new # ChangePasswordRequest | Password
begin
#Change a users password
api_instance.post_user_password(user_id, body)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_user_password: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**ChangePasswordRequest**](ChangePasswordRequest.html)| Password | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserRoutingLanguage**](UserRoutingLanguage.html) post_user_routinglanguages(user_id, body)
Add routing language to user
Wraps POST /api/v2/users/{userId}/routinglanguages
Requires ANY permissions:
* routing:skill:assign
* routing:language:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = PureCloud::UserRoutingLanguagePost.new # UserRoutingLanguagePost | Language
begin
#Add routing language to user
result = api_instance.post_user_routinglanguages(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_user_routinglanguages: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**UserRoutingLanguagePost**](UserRoutingLanguagePost.html)| Language | |
{: class="table table-striped"}
### Return type
[**UserRoutingLanguage**](UserRoutingLanguage.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserRoutingSkill**](UserRoutingSkill.html) post_user_routingskills(user_id, body)
Add routing skill to user
Wraps POST /api/v2/users/{userId}/routingskills
Requires ALL permissions:
* routing:skill:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = PureCloud::UserRoutingSkillPost.new # UserRoutingSkillPost | Skill
begin
#Add routing skill to user
result = api_instance.post_user_routingskills(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_user_routingskills: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**UserRoutingSkillPost**](UserRoutingSkillPost.html)| Skill | |
{: class="table table-striped"}
### Return type
[**UserRoutingSkill**](UserRoutingSkill.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**User**](User.html) post_users(body)
Create user
Wraps POST /api/v2/users
Requires ANY permissions:
* directory:user: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::UsersApi.new
body = PureCloud::CreateUser.new # CreateUser | User
begin
#Create user
result = api_instance.post_users(body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_users: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**CreateUser**](CreateUser.html)| User | |
{: class="table table-striped"}
### Return type
[**User**](User.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## post_users_me_password(body)
Change your password
Wraps POST /api/v2/users/me/password
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::UsersApi.new
body = PureCloud::ChangeMyPasswordRequest.new # ChangeMyPasswordRequest | Password
begin
#Change your password
api_instance.post_users_me_password(body)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_users_me_password: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**ChangeMyPasswordRequest**](ChangeMyPasswordRequest.html)| Password | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UsersSearchResponse**](UsersSearchResponse.html) post_users_search(body)
Search users
Wraps POST /api/v2/users/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::UsersApi.new
body = PureCloud::UserSearchRequest.new # UserSearchRequest | Search request options
begin
#Search users
result = api_instance.post_users_search(body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->post_users_search: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**UserSearchRequest**](UserSearchRequest.html)| Search request options | |
{: class="table table-striped"}
### Return type
[**UsersSearchResponse**](UsersSearchResponse.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**Utilization**](Utilization.html) put_routing_user_utilization(user_id, body)
Update the user's max utilization settings. Include only those media types requiring custom configuration.
Wraps PUT /api/v2/routing/users/{userId}/utilization
Requires ANY permissions:
* routing:utilization:manage
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = PureCloud::Utilization.new # Utilization | utilization
begin
#Update the user's max utilization settings. Include only those media types requiring custom configuration.
result = api_instance.put_routing_user_utilization(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_routing_user_utilization: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**Utilization**](Utilization.html)| utilization | |
{: class="table table-striped"}
### Return type
[**Utilization**](Utilization.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**CallForwarding**](CallForwarding.html) put_user_callforwarding(user_id, body)
Update a user's CallForwarding
Wraps PUT /api/v2/users/{userId}/callforwarding
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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = PureCloud::CallForwarding.new # CallForwarding | Call forwarding
begin
#Update a user's CallForwarding
result = api_instance.put_user_callforwarding(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_user_callforwarding: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**CallForwarding**](CallForwarding.html)| Call forwarding | |
{: class="table table-striped"}
### Return type
[**CallForwarding**](CallForwarding.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**OutOfOffice**](OutOfOffice.html) put_user_outofoffice(user_id, body)
Update an OutOfOffice
Wraps PUT /api/v2/users/{userId}/outofoffice
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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = PureCloud::OutOfOffice.new # OutOfOffice | The updated OutOffOffice
begin
#Update an OutOfOffice
result = api_instance.put_user_outofoffice(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_user_outofoffice: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**OutOfOffice**](OutOfOffice.html)| The updated OutOffOffice | |
{: class="table table-striped"}
### Return type
[**OutOfOffice**](OutOfOffice.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## Array<String>** put_user_profileskills(user_id, body)
Update profile skills for a user
Wraps PUT /api/v2/users/{userId}/profileskills
Requires ANY permissions:
* directory:userProfile: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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = [PureCloud::Array.new] # Array | Skills
begin
#Update profile skills for a user
result = api_instance.put_user_profileskills(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_user_profileskills: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | **Array<String>**| Skills | |
{: class="table table-striped"}
### Return type
**Array<String>**
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserAuthorization**](UserAuthorization.html) put_user_roles(user_id, body)
Sets the user's roles
Wraps PUT /api/v2/users/{userId}/roles
Requires ANY permissions:
* authorization:grant: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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = [PureCloud::Array.new] # Array | List of roles
begin
#Sets the user's roles
result = api_instance.put_user_roles(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_user_roles: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | **Array<String>**| List of roles | |
{: class="table table-striped"}
### Return type
[**UserAuthorization**](UserAuthorization.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserRoutingSkill**](UserRoutingSkill.html) put_user_routingskill(user_id, skill_id, body)
Update routing skill proficiency or state.
Wraps PUT /api/v2/users/{userId}/routingskills/{skillId}
Requires ALL permissions:
* routing:skill:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
skill_id = "skill_id_example" # String | skillId
body = PureCloud::UserRoutingSkill.new # UserRoutingSkill | Skill
begin
#Update routing skill proficiency or state.
result = api_instance.put_user_routingskill(user_id, skill_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_user_routingskill: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**skill_id** | **String**| skillId | |
**body** | [**UserRoutingSkill**](UserRoutingSkill.html)| Skill | |
{: class="table table-striped"}
### Return type
[**UserRoutingSkill**](UserRoutingSkill.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**UserSkillEntityListing**](UserSkillEntityListing.html) put_user_routingskills_bulk(user_id, body)
Replace all routing skills assigned to a user
Wraps PUT /api/v2/users/{userId}/routingskills/bulk
Requires ANY permissions:
* routing:skill:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = [PureCloud::UserRoutingSkillPost.new] # Array | Skill
begin
#Replace all routing skills assigned to a user
result = api_instance.put_user_routingskills_bulk(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_user_routingskills_bulk: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**Array<UserRoutingSkillPost>**](UserRoutingSkillPost.html)| Skill | |
{: class="table table-striped"}
### Return type
[**UserSkillEntityListing**](UserSkillEntityListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## [**RoutingStatus**](RoutingStatus.html) put_user_routingstatus(user_id, body)
Update the routing status of a user
Wraps PUT /api/v2/users/{userId}/routingstatus
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::UsersApi.new
user_id = "user_id_example" # String | User ID
body = PureCloud::RoutingStatus.new # RoutingStatus | Routing Status
begin
#Update the routing status of a user
result = api_instance.put_user_routingstatus(user_id, body)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_user_routingstatus: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**body** | [**RoutingStatus**](RoutingStatus.html)| Routing Status | |
{: class="table table-striped"}
### Return type
[**RoutingStatus**](RoutingStatus.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## put_user_station_associatedstation_station_id(user_id, station_id)
Set associated station
Wraps PUT /api/v2/users/{userId}/station/associatedstation/{stationId}
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::UsersApi.new
user_id = "user_id_example" # String | User ID
station_id = "station_id_example" # String | stationId
begin
#Set associated station
api_instance.put_user_station_associatedstation_station_id(user_id, station_id)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_user_station_associatedstation_station_id: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**station_id** | **String**| stationId | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## put_user_station_defaultstation_station_id(user_id, station_id)
Set default station
Wraps PUT /api/v2/users/{userId}/station/defaultstation/{stationId}
Requires ANY permissions:
* telephony:plugin:all
* telephony:phone:assign
### 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::UsersApi.new
user_id = "user_id_example" # String | User ID
station_id = "station_id_example" # String | stationId
begin
#Set default station
api_instance.put_user_station_defaultstation_station_id(user_id, station_id)
rescue PureCloud::ApiError => e
puts "Exception when calling UsersApi->put_user_station_defaultstation_station_id: #{e}"
end
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**user_id** | **String**| User ID | |
**station_id** | **String**| stationId | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json