---
title: RecordingApi
---
## PureCloud::RecordingApi
All URIs are relative to *https://api.mypurecloud.com*
Method | HTTP request | Description
------------- | ------------- | -------------
|[**delete_conversation_id_recordings_recording_id_annotations_annotation_id**](RecordingApi.html#delete_conversation_id_recordings_recording_id_annotations_annotation_id) | **DELETE** /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations/{annotationId} | Delete annotation|
|[**delete_mediaretentionpolicies**](RecordingApi.html#delete_mediaretentionpolicies) | **DELETE** /api/v2/recording/mediaretentionpolicies | Delete media retention policies|
|[**delete_mediaretentionpolicies_policy_id**](RecordingApi.html#delete_mediaretentionpolicies_policy_id) | **DELETE** /api/v2/recording/mediaretentionpolicies/{policyId} | Delete a media retention policy|
|[**delete_orphan_id**](RecordingApi.html#delete_orphan_id) | **DELETE** /api/v2/orphanrecordings/{orphanId} | deletes a single orphan recording|
|[**get_conversation_id_recordings**](RecordingApi.html#get_conversation_id_recordings) | **GET** /api/v2/conversations/{conversationId}/recordings | Get all of a Conversation's Recordings.|
|[**get_conversation_id_recordings_recording_id**](RecordingApi.html#get_conversation_id_recordings_recording_id) | **GET** /api/v2/conversations/{conversationId}/recordings/{recordingId} | Gets a specific recording.|
|[**get_conversation_id_recordings_recording_id_annotations**](RecordingApi.html#get_conversation_id_recordings_recording_id_annotations) | **GET** /api/v2/conversations/{conversationId}/recordings/{recordingId}/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** /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations/{annotationId} | Get annotation|
|[**get_localkeys_settings**](RecordingApi.html#get_localkeys_settings) | **GET** /api/v2/recording/localkeys/settings | gets a list local key settings data|
|[**get_localkeys_settings_settings_id**](RecordingApi.html#get_localkeys_settings_settings_id) | **GET** /api/v2/recording/localkeys/settings/{settingsId} | Get the local encryption settings|
|[**get_mediaretentionpolicies**](RecordingApi.html#get_mediaretentionpolicies) | **GET** /api/v2/recording/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** /api/v2/recording/mediaretentionpolicies/{policyId} | Get a media retention policy|
|[**get_orphan_id**](RecordingApi.html#get_orphan_id) | **GET** /api/v2/orphanrecordings/{orphanId} | Gets a single orphan recording|
|[**get_orphanrecordings**](RecordingApi.html#get_orphanrecordings) | **GET** /api/v2/orphanrecordings | Gets all orphan recordings|
|[**get_recordingkeys**](RecordingApi.html#get_recordingkeys) | **GET** /api/v2/recording/recordingkeys | Get encryption key list|
|[**get_recordingkeys_rotationschedule**](RecordingApi.html#get_recordingkeys_rotationschedule) | **GET** /api/v2/recording/recordingkeys/rotationschedule | Get key rotation schedule|
|[**get_settings**](RecordingApi.html#get_settings) | **GET** /api/v2/recording/settings | Get the Recording Settings for the Organization|
|[**gets_screensessions**](RecordingApi.html#gets_screensessions) | **GET** /api/v2/recordings/screensessions | Retrieves a paged listing of screen recording sessions|
|[**patch_mediaretentionpolicies_policy_id**](RecordingApi.html#patch_mediaretentionpolicies_policy_id) | **PATCH** /api/v2/recording/mediaretentionpolicies/{policyId} | Patch a media retention policy|
|[**patchs_screensessions_recordingsession_id**](RecordingApi.html#patchs_screensessions_recordingsession_id) | **PATCH** /api/v2/recordings/screensessions/{recordingSessionId} | Update a screen recording session|
|[**post_conversation_id_recordings_recording_id_annotations**](RecordingApi.html#post_conversation_id_recordings_recording_id_annotations) | **POST** /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations | Create annotation|
|[**post_localkeys**](RecordingApi.html#post_localkeys) | **POST** /api/v2/recording/localkeys | create a local recording key|
|[**post_localkeys_settings**](RecordingApi.html#post_localkeys_settings) | **POST** /api/v2/recording/localkeys/settings | create settings for local key creation|
|[**post_mediaretentionpolicies**](RecordingApi.html#post_mediaretentionpolicies) | **POST** /api/v2/recording/mediaretentionpolicies | Create media retention policy|
|[**post_recordingkeys**](RecordingApi.html#post_recordingkeys) | **POST** /api/v2/recording/recordingkeys | Create encryption key|
|[**put_conversation_id_recordings_recording_id**](RecordingApi.html#put_conversation_id_recordings_recording_id) | **PUT** /api/v2/conversations/{conversationId}/recordings/{recordingId} | 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) | **PUT** /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations/{annotationId} | Update annotation|
|[**put_localkeys_settings_settings_id**](RecordingApi.html#put_localkeys_settings_settings_id) | **PUT** /api/v2/recording/localkeys/settings/{settingsId} | Update the local encryption settings|
|[**put_mediaretentionpolicies_policy_id**](RecordingApi.html#put_mediaretentionpolicies_policy_id) | **PUT** /api/v2/recording/mediaretentionpolicies/{policyId} | Update a media retention policy|
|[**put_recordingkeys_rotationschedule**](RecordingApi.html#put_recordingkeys_rotationschedule) | **PUT** /api/v2/recording/recordingkeys/rotationschedule | Update key rotation schedule|
|[**put_settings**](RecordingApi.html#put_settings) | **PUT** /api/v2/recording/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
### 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.
### 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
### 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
### 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.
### 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.
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. | [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
## - get_conversation_id_recordings_recording_id(conversation_id, recording_id, opts)
Gets a specific recording.
### 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.
api_instance.get_conversation_id_recordings_recording_id(conversation_id, recording_id, opts)
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
nil (empty response body)
### 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
### 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
### 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
### 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
### 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
### 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