---
title: RecordingApi
---
## PureCloud::RecordingApi
All URIs are relative to *https://api.mypurecloud.com*
Method | Description
------------- | ------------- | -------------
[**delete_conversation_recording_annotation**](RecordingApi.html#delete_conversation_recording_annotation) | Delete annotation
[**delete_orphanrecording**](RecordingApi.html#delete_orphanrecording) | Deletes a single orphan recording
[**delete_recording_mediaretentionpolicies**](RecordingApi.html#delete_recording_mediaretentionpolicies) | Delete media retention policies
[**delete_recording_mediaretentionpolicy**](RecordingApi.html#delete_recording_mediaretentionpolicy) | Delete a media retention policy
[**get_conversation_recording**](RecordingApi.html#get_conversation_recording) | Gets a specific recording.
[**get_conversation_recording_annotation**](RecordingApi.html#get_conversation_recording_annotation) | Get annotation
[**get_conversation_recording_annotations**](RecordingApi.html#get_conversation_recording_annotations) | Get annotations for recording
[**get_conversation_recordingmetadata**](RecordingApi.html#get_conversation_recordingmetadata) | Get recording metadata for a conversation. Does not return playable media.
[**get_conversation_recordingmetadata_recording_id**](RecordingApi.html#get_conversation_recordingmetadata_recording_id) | Get metadata for a specific recording. Does not return playable media.
[**get_conversation_recordings**](RecordingApi.html#get_conversation_recordings) | Get all of a Conversation's Recordings.
[**get_orphanrecording**](RecordingApi.html#get_orphanrecording) | Gets a single orphan recording
[**get_orphanrecording_media**](RecordingApi.html#get_orphanrecording_media) | Gets the media of a single orphan recording
[**get_orphanrecordings**](RecordingApi.html#get_orphanrecordings) | Gets all orphan recordings
[**get_recording_localkeys_setting**](RecordingApi.html#get_recording_localkeys_setting) | Get the local encryption settings
[**get_recording_localkeys_settings**](RecordingApi.html#get_recording_localkeys_settings) | gets a list local key settings data
[**get_recording_mediaretentionpolicies**](RecordingApi.html#get_recording_mediaretentionpolicies) | Gets media retention policy list with query options to filter on name and enabled.
[**get_recording_mediaretentionpolicy**](RecordingApi.html#get_recording_mediaretentionpolicy) | Get a media retention policy
[**get_recording_recordingkeys**](RecordingApi.html#get_recording_recordingkeys) | Get encryption key list
[**get_recording_recordingkeys_rotationschedule**](RecordingApi.html#get_recording_recordingkeys_rotationschedule) | Get key rotation schedule
[**get_recording_settings**](RecordingApi.html#get_recording_settings) | Get the Recording Settings for the Organization
[**get_recordings_screensessions**](RecordingApi.html#get_recordings_screensessions) | Retrieves a paged listing of screen recording sessions
[**patch_recording_mediaretentionpolicy**](RecordingApi.html#patch_recording_mediaretentionpolicy) | Patch a media retention policy
[**patch_recordings_screensession**](RecordingApi.html#patch_recordings_screensession) | Update a screen recording session
[**post_conversation_recording_annotations**](RecordingApi.html#post_conversation_recording_annotations) | Create annotation
[**post_recording_localkeys**](RecordingApi.html#post_recording_localkeys) | create a local recording key
[**post_recording_localkeys_settings**](RecordingApi.html#post_recording_localkeys_settings) | create settings for local key creation
[**post_recording_mediaretentionpolicies**](RecordingApi.html#post_recording_mediaretentionpolicies) | Create media retention policy
[**post_recording_recordingkeys**](RecordingApi.html#post_recording_recordingkeys) | Create encryption key
[**put_conversation_recording**](RecordingApi.html#put_conversation_recording) | Updates the retention records on a recording.
[**put_conversation_recording_annotation**](RecordingApi.html#put_conversation_recording_annotation) | Update annotation
[**put_orphanrecording**](RecordingApi.html#put_orphanrecording) | Updates an orphan recording to a regular recording with retention values
[**put_recording_localkeys_setting**](RecordingApi.html#put_recording_localkeys_setting) | Update the local encryption settings
[**put_recording_mediaretentionpolicy**](RecordingApi.html#put_recording_mediaretentionpolicy) | Update a media retention policy
[**put_recording_recordingkeys_rotationschedule**](RecordingApi.html#put_recording_recordingkeys_rotationschedule) | Update key rotation schedule
[**put_recording_settings**](RecordingApi.html#put_recording_settings) | Update the Recording Settings for the Organization
{: class="table table-striped"}
## - delete_conversation_recording_annotation(conversation_id, recording_id, annotation_id)
Delete annotation
Wraps DELETE /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations/{annotationId}
### Example
~~~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::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_recording_annotation(conversation_id, recording_id, annotation_id)
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->delete_conversation_recording_annotation: #{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
## -[**OrphanRecording**](OrphanRecording.html) delete_orphanrecording(orphan_id)
Deletes a single orphan recording
Wraps DELETE /api/v2/orphanrecordings/{orphanId}
### Example
~~~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::RecordingApi.new
orphan_id = "orphan_id_example" # String | Orphan ID
begin
#Deletes a single orphan recording
result = api_instance.delete_orphanrecording(orphan_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->delete_orphanrecording: #{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
## - delete_recording_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 '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::RecordingApi.new
ids = "ids_example" # String |
begin
#Delete media retention policies
api_instance.delete_recording_mediaretentionpolicies(ids)
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->delete_recording_mediaretentionpolicies: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ids** | **String**| | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## - delete_recording_mediaretentionpolicy(policy_id)
Delete a media retention policy
Wraps DELETE /api/v2/recording/mediaretentionpolicies/{policyId}
### Example
~~~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::RecordingApi.new
policy_id = "policy_id_example" # String | Policy ID
begin
#Delete a media retention policy
api_instance.delete_recording_mediaretentionpolicy(policy_id)
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->delete_recording_mediaretentionpolicy: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**policy_id** | **String**| Policy ID | |
{: class="table table-striped"}
### Return type
nil (empty response body)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**Recording**](Recording.html) get_conversation_recording(conversation_id, recording_id, opts)
Gets a specific recording.
Wraps GET /api/v2/conversations/{conversationId}/recordings/{recordingId}
### Example
~~~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::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_recording(conversation_id, recording_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_recording: #{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] **Values**: WAV, WEBM, WAV_ULAW, OGG_VORBIS, OGG_OPUS, MP3, NONE |
**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
## -[**Annotation**](Annotation.html) get_conversation_recording_annotation(conversation_id, recording_id, annotation_id)
Get annotation
Wraps GET /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations/{annotationId}
### Example
~~~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::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_recording_annotation(conversation_id, recording_id, annotation_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_recording_annotation: #{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
## -[**Array<Annotation>**](Annotation.html) get_conversation_recording_annotations(conversation_id, recording_id)
Get annotations for recording
Wraps GET /api/v2/conversations/{conversationId}/recordings/{recordingId}/annotations
### Example
~~~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::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_recording_annotations(conversation_id, recording_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_recording_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
## -[**Array<Recording>**](Recording.html) get_conversation_recordingmetadata(conversation_id)
Get recording metadata for a conversation. Does not return playable media.
Wraps GET /api/v2/conversations/{conversationId}/recordingmetadata
### Example
~~~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::RecordingApi.new
conversation_id = "conversation_id_example" # String | Conversation ID
begin
#Get recording metadata for a conversation. Does not return playable media.
result = api_instance.get_conversation_recordingmetadata(conversation_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_recordingmetadata: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**conversation_id** | **String**| Conversation ID | |
{: 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_recordingmetadata_recording_id(conversation_id, recording_id)
Get metadata for a specific recording. Does not return playable media.
Wraps GET /api/v2/conversations/{conversationId}/recordingmetadata/{recordingId}
### Example
~~~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::RecordingApi.new
conversation_id = "conversation_id_example" # String | Conversation ID
recording_id = "recording_id_example" # String | Recording ID
begin
#Get metadata for a specific recording. Does not return playable media.
result = api_instance.get_conversation_recordingmetadata_recording_id(conversation_id, recording_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_recordingmetadata_recording_id: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**conversation_id** | **String**| Conversation ID | |
**recording_id** | **String**| Recording ID | |
{: class="table table-striped"}
### Return type
[**Recording**](Recording.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**Array<Recording>**](Recording.html) get_conversation_recordings(conversation_id, opts)
Get all of a Conversation's Recordings.
Wraps GET /api/v2/conversations/{conversationId}/recordings
### Example
~~~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::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_recordings(conversation_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_conversation_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] **Values**: WAV, WEBM, WAV_ULAW, OGG_VORBIS, OGG_OPUS, MP3, NONE |
{: class="table table-striped"}
### Return type
[**Array<Recording>**](Recording.html)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
## -[**OrphanRecording**](OrphanRecording.html) get_orphanrecording(orphan_id)
Gets a single orphan recording
Wraps GET /api/v2/orphanrecordings/{orphanId}
### Example
~~~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::RecordingApi.new
orphan_id = "orphan_id_example" # String | Orphan ID
begin
#Gets a single orphan recording
result = api_instance.get_orphanrecording(orphan_id)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_orphanrecording: #{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
## -[**Recording**](Recording.html) get_orphanrecording_media(orphan_id, opts)
Gets the media of a single orphan recording
A 202 response means the orphaned media is currently transcoding and will be available shortly.A 200 response denotes the transcoded orphan media is available now and is contained in the response body.
Wraps GET /api/v2/orphanrecordings/{orphanId}/media
### Example
~~~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::RecordingApi.new
orphan_id = "orphan_id_example" # String | Orphan 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 the media of a single orphan recording
result = api_instance.get_orphanrecording_media(orphan_id, opts)
p result
rescue PureCloud::ApiError => e
puts "Exception when calling RecordingApi->get_orphanrecording_media: #{e}"
end
~~~
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**orphan_id** | **String**| Orphan ID | |
**format_id** | **String**| The desired media format. | [optional] [default to WEBM] **Values**: WAV, WEBM, WAV_ULAW, OGG_VORBIS, OGG_OPUS, MP3, NONE |
**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
## -[**OrphanRecordingListing**](OrphanRecordingListing.html) get_orphanrecordings(opts)
Gets all orphan recordings
Wraps GET /api/v2/orphanrecordings
### Example
~~~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::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