--- title: PresenceApi --- ## PureCloud::PresenceApi All URIs are relative to *https://api.mypurecloud.com* Method | HTTP request | Description ------------- | ------------- | ------------- |[**delete_presence_id**](PresenceApi.html#delete_presence_id) | **DELETE** /api/v2/presencedefinitions/{presenceId} | Delete a Presence Definition| |[**get_presence_id**](PresenceApi.html#get_presence_id) | **GET** /api/v2/presencedefinitions/{presenceId} | Get a Presence Definition| |[**get_presencedefinitions**](PresenceApi.html#get_presencedefinitions) | **GET** /api/v2/presencedefinitions | Get an Organization's list of Presence Definitions| |[**get_systempresences**](PresenceApi.html#get_systempresences) | **GET** /api/v2/systempresences | Get the list of SystemPresences| |[**get_user_id_presences_source_id**](PresenceApi.html#get_user_id_presences_source_id) | **GET** /api/v2/users/{userId}/presences/{sourceId} | Get a user's Presence| |[**patch_user_id_presences_source_id**](PresenceApi.html#patch_user_id_presences_source_id) | **PATCH** /api/v2/users/{userId}/presences/{sourceId} | Patch a user's Presence| |[**post_presencedefinitions**](PresenceApi.html#post_presencedefinitions) | **POST** /api/v2/presencedefinitions | Create a Presence Definition| |[**put_presence_id**](PresenceApi.html#put_presence_id) | **PUT** /api/v2/presencedefinitions/{presenceId} | Update a Presence Definition| {: class="table table-striped"} ## - delete_presence_id(presence_id) Delete a Presence Definition ### Example ~~~ruby # load the gem require 'purecloud' # 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::PresenceApi.new presence_id = "presence_id_example" # String | Organization Presence ID begin #Delete a Presence Definition api_instance.delete_presence_id(presence_id) rescue PureCloud::ApiError => e puts "Exception when calling PresenceApi->delete_presence_id: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **presence_id** | **String**| Organization Presence ID | {: class="table table-striped"} ### Return type nil (empty response body) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**OrganizationPresence**](OrganizationPresence.html) get_presence_id(presence_id, opts) Get a Presence Definition ### Example ~~~ruby # load the gem require 'purecloud' # 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::PresenceApi.new presence_id = "presence_id_example" # String | Organization Presence ID opts = { locale_code: "locale_code_example" # String | The locale code to fetch for the presence definition. Use ALL to fetch everything. } begin #Get a Presence Definition result = api_instance.get_presence_id(presence_id, opts) p result rescue PureCloud::ApiError => e puts "Exception when calling PresenceApi->get_presence_id: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **presence_id** | **String**| Organization Presence ID | **locale_code** | **String**| The locale code to fetch for the presence definition. Use ALL to fetch everything. | [optional] {: class="table table-striped"} ### Return type [**OrganizationPresence**](OrganizationPresence.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**OrganizationPresenceEntityListing**](OrganizationPresenceEntityListing.html) get_presencedefinitions(opts) Get an Organization's list of Presence Definitions ### Example ~~~ruby # load the gem require 'purecloud' # 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::PresenceApi.new opts = { page_number: 1, # Integer | Page number page_size: 25, # Integer | Page size deleted: "false", # String | Deleted query can be TRUE, FALSE or ALL locale_code: "locale_code_example" # String | The locale code to fetch for each presence definition. Use ALL to fetch everything. } begin #Get an Organization's list of Presence Definitions result = api_instance.get_presencedefinitions(opts) p result rescue PureCloud::ApiError => e puts "Exception when calling PresenceApi->get_presencedefinitions: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **page_number** | **Integer**| Page number | [optional] [default to 1] **page_size** | **Integer**| Page size | [optional] [default to 25] **deleted** | **String**| Deleted query can be TRUE, FALSE or ALL | [optional] [default to false] **locale_code** | **String**| The locale code to fetch for each presence definition. Use ALL to fetch everything. | [optional] {: class="table table-striped"} ### Return type [**OrganizationPresenceEntityListing**](OrganizationPresenceEntityListing.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**Array<SystemPresence>**](SystemPresence.html) get_systempresences Get the list of SystemPresences ### Example ~~~ruby # load the gem require 'purecloud' # 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::PresenceApi.new begin #Get the list of SystemPresences result = api_instance.get_systempresences p result rescue PureCloud::ApiError => e puts "Exception when calling PresenceApi->get_systempresences: #{e}" end ~~~ ### Parameters This endpoint does not need any parameter. {: class="table table-striped"} ### Return type [**Array<SystemPresence>**](SystemPresence.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**UserPresence**](UserPresence.html) get_user_id_presences_source_id(user_id, source_id) Get a user's Presence ### Example ~~~ruby # load the gem require 'purecloud' # 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::PresenceApi.new user_id = "user_id_example" # String | user Id source_id = "source_id_example" # String | Source begin #Get a user's Presence result = api_instance.get_user_id_presences_source_id(user_id, source_id) p result rescue PureCloud::ApiError => e puts "Exception when calling PresenceApi->get_user_id_presences_source_id: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **user_id** | **String**| user Id | **source_id** | **String**| Source | {: class="table table-striped"} ### Return type [**UserPresence**](UserPresence.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**UserPresence**](UserPresence.html) patch_user_id_presences_source_id(user_id, source_id, body) Patch a user's Presence The presence object can be patched one of three ways. Option 1: Set the 'primary' property to true. This will set the 'source' defined in the path as the user's primary presence source. Option 2: Provide the presenceDefinition value. The 'id' is the only value required within the presenceDefinition. Option 3: Provide the message value. Option 1 can be combined with Option 2 and/or Option 3. ### Example ~~~ruby # load the gem require 'purecloud' # 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::PresenceApi.new user_id = "user_id_example" # String | user Id source_id = "source_id_example" # String | Source body = PureCloud::UserPresence.new # UserPresence | User presence begin #Patch a user's Presence result = api_instance.patch_user_id_presences_source_id(user_id, source_id, body) p result rescue PureCloud::ApiError => e puts "Exception when calling PresenceApi->patch_user_id_presences_source_id: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **user_id** | **String**| user Id | **source_id** | **String**| Source | **body** | [**UserPresence**](UserPresence.html)| User presence | {: class="table table-striped"} ### Return type [**UserPresence**](UserPresence.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**OrganizationPresence**](OrganizationPresence.html) post_presencedefinitions(body) Create a Presence Definition ### Example ~~~ruby # load the gem require 'purecloud' # 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::PresenceApi.new body = PureCloud::OrganizationPresence.new # OrganizationPresence | The Presence Definition to create begin #Create a Presence Definition result = api_instance.post_presencedefinitions(body) p result rescue PureCloud::ApiError => e puts "Exception when calling PresenceApi->post_presencedefinitions: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **body** | [**OrganizationPresence**](OrganizationPresence.html)| The Presence Definition to create | {: class="table table-striped"} ### Return type [**OrganizationPresence**](OrganizationPresence.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**OrganizationPresence**](OrganizationPresence.html) put_presence_id(presence_id, body) Update a Presence Definition ### Example ~~~ruby # load the gem require 'purecloud' # 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::PresenceApi.new presence_id = "presence_id_example" # String | Organization Presence ID body = PureCloud::OrganizationPresence.new # OrganizationPresence | The OrganizationPresence to update begin #Update a Presence Definition result = api_instance.put_presence_id(presence_id, body) p result rescue PureCloud::ApiError => e puts "Exception when calling PresenceApi->put_presence_id: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **presence_id** | **String**| Organization Presence ID | **body** | [**OrganizationPresence**](OrganizationPresence.html)| The OrganizationPresence to update | {: class="table table-striped"} ### Return type [**OrganizationPresence**](OrganizationPresence.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json