---
title: RecordingApi
---
## PureCloud::RecordingApi
All URIs are relative to *https://api.mypurecloud.com*
Method | Description
------------- | ------------- | -------------
[**delete_conversation_id_recordings_recording_id_annotations_annotation_id**](RecordingApi.html#delete_conversation_id_recordings_recording_id_annotations_annotation_id) | Delete annotation
[**delete_mediaretentionpolicies**](RecordingApi.html#delete_mediaretentionpolicies) | Delete media retention policies
[**delete_mediaretentionpolicies_policy_id**](RecordingApi.html#delete_mediaretentionpolicies_policy_id) | Delete a media retention policy
[**delete_orphan_id**](RecordingApi.html#delete_orphan_id) | Deletes a single orphan recording
[**get_conversation_id_recordings**](RecordingApi.html#get_conversation_id_recordings) | Get all of a Conversation's Recordings.
[**get_conversation_id_recordings_recording_id**](RecordingApi.html#get_conversation_id_recordings_recording_id) | Gets a specific recording.
[**get_conversation_id_recordings_recording_id_annotations**](RecordingApi.html#get_conversation_id_recordings_recording_id_annotations) | Get annotations for recording
[**get_conversation_id_recordings_recording_id_annotations_annotation_id**](RecordingApi.html#get_conversation_id_recordings_recording_id_annotations_annotation_id) | Get annotation
[**get_localkeys_settings**](RecordingApi.html#get_localkeys_settings) | gets a list local key settings data
[**get_localkeys_settings_settings_id**](RecordingApi.html#get_localkeys_settings_settings_id) | Get the local encryption settings
[**get_mediaretentionpolicies**](RecordingApi.html#get_mediaretentionpolicies) | Gets media retention policy list with query options to filter on name and enabled.
[**get_mediaretentionpolicies_policy_id**](RecordingApi.html#get_mediaretentionpolicies_policy_id) | Get a media retention policy
[**get_orphan_id**](RecordingApi.html#get_orphan_id) | Gets a single orphan recording
[**get_orphan_id_media**](RecordingApi.html#get_orphan_id_media) | Gets the media of a single orphan recording
[**get_orphanrecordings**](RecordingApi.html#get_orphanrecordings) | Gets all orphan recordings
[**get_recordingkeys**](RecordingApi.html#get_recordingkeys) | Get encryption key list
[**get_recordingkeys_rotationschedule**](RecordingApi.html#get_recordingkeys_rotationschedule) | Get key rotation schedule
[**get_settings**](RecordingApi.html#get_settings) | Get the Recording Settings for the Organization
[**gets_screensessions**](RecordingApi.html#gets_screensessions) | Retrieves a paged listing of screen recording sessions
[**patch_mediaretentionpolicies_policy_id**](RecordingApi.html#patch_mediaretentionpolicies_policy_id) | Patch a media retention policy
[**patchs_screensessions_recordingsession_id**](RecordingApi.html#patchs_screensessions_recordingsession_id) | Update a screen recording session
[**post_conversation_id_recordings_recording_id_annotations**](RecordingApi.html#post_conversation_id_recordings_recording_id_annotations) | Create annotation
[**post_localkeys**](RecordingApi.html#post_localkeys) | create a local recording key
[**post_localkeys_settings**](RecordingApi.html#post_localkeys_settings) | create settings for local key creation
[**post_mediaretentionpolicies**](RecordingApi.html#post_mediaretentionpolicies) | Create media retention policy
[**post_recordingkeys**](RecordingApi.html#post_recordingkeys) | Create encryption key
[**put_conversation_id_recordings_recording_id**](RecordingApi.html#put_conversation_id_recordings_recording_id) | Updates the retention records on a recording.
[**put_conversation_id_recordings_recording_id_annotations_annotation_id**](RecordingApi.html#put_conversation_id_recordings_recording_id_annotations_annotation_id) | Update annotation
[**put_localkeys_settings_settings_id**](RecordingApi.html#put_localkeys_settings_settings_id) | Update the local encryption settings
[**put_mediaretentionpolicies_policy_id**](RecordingApi.html#put_mediaretentionpolicies_policy_id) | Update a media retention policy
[**put_orphan_id**](RecordingApi.html#put_orphan_id) | Updates an orphan recording to a regular recording with retention values
[**put_recordingkeys_rotationschedule**](RecordingApi.html#put_recordingkeys_rotationschedule) | Update key rotation schedule
[**put_settings**](RecordingApi.html#put_settings) | Update the Recording Settings for the Organization
{: class="table table-striped"}
## - delete_conversation_id_recordings_recording_id_annotations_annotation_id(conversation_id, recording_id, annotation_id)
Delete annotation
Wraps DELETE /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations/{annotationId}
### 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::RecordingApi.new
conversation_id = "conversation_id_example" # String | Conversation ID
recording_id = "recording_id_example" # String | Recording ID
annotation_id = "annotation_id_example" # String | Annotation ID
begin
#Delete annotation
api_instance.delete_conversation_id_recordings_recording_id_annotations_annotation_id(conversation_id, recording_id, annotation_id)
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->delete_conversation_id_recordings_recording_id_annotations_annotation_id: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**conversation_id** | **String**| Conversation ID |
**recording_id** | **String**| Recording ID |
**annotation_id** | **String**| Annotation ID |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -String** delete_mediaretentionpolicies(ids)
Delete media retention policies
Bulk delete of media retention policies, this will only delete the polices that match the ids specified in the query param.
Wraps DELETE /api/v2/recording/mediaretentionpolicies
### 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::RecordingApi.new
ids = "ids_example" # String |
begin
#Delete media retention policies
result = api_instance.delete_mediaretentionpolicies(ids)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->delete_mediaretentionpolicies: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ids** | **String**| |
{: class="table table-striped"}
### Return type
**String**
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -String** delete_mediaretentionpolicies_policy_id(policy_id)
Delete a media retention policy
Wraps DELETE /api/v2/recording/mediaretentionpolicies/{policyId}
### 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::RecordingApi.new
policy_id = "policy_id_example" # String | Policy ID
begin
#Delete a media retention policy
result = api_instance.delete_mediaretentionpolicies_policy_id(policy_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->delete_mediaretentionpolicies_policy_id: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**policy_id** | **String**| Policy ID |
{: class="table table-striped"}
### Return type
**String**
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**OrphanRecording**](OrphanRecording.html) delete_orphan_id(orphan_id)
Deletes a single orphan recording
Wraps DELETE /api/v2/orphanrecordings/{orphanId}
### 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::RecordingApi.new
orphan_id = "orphan_id_example" # String | Orphan ID
begin
#Deletes a single orphan recording
result = api_instance.delete_orphan_id(orphan_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->delete_orphan_id: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**orphan_id** | **String**| Orphan ID |
{: class="table table-striped"}
### Return type
[**OrphanRecording**](OrphanRecording.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**Array<Recording>**](Recording.html) get_conversation_id_recordings(conversation_id, opts)
Get all of a Conversation's Recordings.
Wraps GET /api/v2/conversations/{conversationId}/recordings
### 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::RecordingApi.new
conversation_id = "conversation_id_example" # String | Conversation ID
opts = {
max_wait_ms: 5000, # Integer | The maximum number of milliseconds to wait for the recording to be ready. Must be a positive value.
format_id: "WEBM" # String | The desired media format
}
begin
#Get all of a Conversation's Recordings.
result = api_instance.get_conversation_id_recordings(conversation_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_id_recordings: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**conversation_id** | **String**| Conversation ID |
**max_wait_ms** | **Integer**| The maximum number of milliseconds to wait for the recording to be ready. Must be a positive value. | [optional] [default to 5000]
**format_id** | **String**| The desired media format | [optional] [default to WEBM]
{: class="table table-striped"}
### Return type
[**Array<Recording>**](Recording.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**Recording**](Recording.html) get_conversation_id_recordings_recording_id(conversation_id, recording_id, opts)
Gets a specific recording.
Wraps GET /api/v2/conversations/{conversationId}/recordings/{recordingId}
### 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::RecordingApi.new
conversation_id = "conversation_id_example" # String | Conversation ID
recording_id = "recording_id_example" # String | Recording ID
opts = {
format_id: "WEBM", # String | The desired media format.
download: false, # BOOLEAN | requesting a download format of the recording
file_name: "file_name_example" # String | the name of the downloaded fileName
}
begin
#Gets a specific recording.
result = api_instance.get_conversation_id_recordings_recording_id(conversation_id, recording_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_id_recordings_recording_id: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**conversation_id** | **String**| Conversation ID |
**recording_id** | **String**| Recording ID |
**format_id** | **String**| The desired media format. | [optional] [default to WEBM]
**download** | **BOOLEAN**| requesting a download format of the recording | [optional] [default to false]
**file_name** | **String**| the name of the downloaded fileName | [optional]
{: class="table table-striped"}
### Return type
[**Recording**](Recording.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**Array<Annotation>**](Annotation.html) get_conversation_id_recordings_recording_id_annotations(conversation_id, recording_id)
Get annotations for recording
Wraps GET /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations
### 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::RecordingApi.new
conversation_id = "conversation_id_example" # String | Conversation ID
recording_id = "recording_id_example" # String | Recording ID
begin
#Get annotations for recording
result = api_instance.get_conversation_id_recordings_recording_id_annotations(conversation_id, recording_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_id_recordings_recording_id_annotations: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**conversation_id** | **String**| Conversation ID |
**recording_id** | **String**| Recording ID |
{: class="table table-striped"}
### Return type
[**Array<Annotation>**](Annotation.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**Annotation**](Annotation.html) get_conversation_id_recordings_recording_id_annotations_annotation_id(conversation_id, recording_id, annotation_id)
Get annotation
Wraps GET /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations/{annotationId}
### 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::RecordingApi.new
conversation_id = "conversation_id_example" # String | Conversation ID
recording_id = "recording_id_example" # String | Recording ID
annotation_id = "annotation_id_example" # String | Annotation ID
begin
#Get annotation
result = api_instance.get_conversation_id_recordings_recording_id_annotations_annotation_id(conversation_id, recording_id, annotation_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_id_recordings_recording_id_annotations_annotation_id: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**conversation_id** | **String**| Conversation ID |
**recording_id** | **String**| Recording ID |
**annotation_id** | **String**| Annotation ID |
{: class="table table-striped"}
### Return type
[**Annotation**](Annotation.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**LocalEncryptionConfigurationListing**](LocalEncryptionConfigurationListing.html) get_localkeys_settings
gets a list local key settings data
Wraps GET /api/v2/recording/localkeys/settings
### 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::RecordingApi.new
begin
#gets a list local key settings data
result = api_instance.get_localkeys_settings
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_localkeys_settings: #{e}"
end
~~~
### Parameters
This endpoint does not need any parameter.
{: class="table table-striped"}
### Return type
[**LocalEncryptionConfigurationListing**](LocalEncryptionConfigurationListing.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**LocalEncryptionConfiguration**](LocalEncryptionConfiguration.html) get_localkeys_settings_settings_id(settings_id)
Get the local encryption settings
Wraps GET /api/v2/recording/localkeys/settings/{settingsId}
### 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::RecordingApi.new
settings_id = "settings_id_example" # String | Settings Id
begin
#Get the local encryption settings
result = api_instance.get_localkeys_settings_settings_id(settings_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_localkeys_settings_settings_id: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**settings_id** | **String**| Settings Id |
{: class="table table-striped"}
### Return type
[**LocalEncryptionConfiguration**](LocalEncryptionConfiguration.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**PolicyEntityListing**](PolicyEntityListing.html) get_mediaretentionpolicies(opts)
Gets media retention policy list with query options to filter on name and enabled.
for a less verbose response, add summary=true to this endpoint
Wraps GET /api/v2/recording/mediaretentionpolicies
### 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::RecordingApi.new
opts = {
page_size: 25, # Integer | The total page size requested
page_number: 1, # Integer | The page number requested
sort_by: "sort_by_example", # String | variable name requested to sort by
expand: nil, # Array