Jump to: navigation, search

Recording Non-Deletion API

Overview

When you protect recordings from deletion, they cannot be deleted during Media Lifecycle Management purge tasks, by SpeechMiner, API, or any method. Protecting and unprotecting from deletion also affects associated screen recordings.

The following API operations are accessible at the base path /api/v2
For example, http://localhost:8080/api/v2/recordings/<recid>

Prerequisites

  • Configure the Elasticsearch schema v2 to enable support for labels and non-deletion features. For existing deployments, follow the migration steps here: Migrating an Existing Elasticsearch Deployment to Schema V2. New deployments after GIR version 8.5.214.02 will have Elasticsearch schema v2 enabled by default.

Roles and Permissions

Apply Non-Deletion to a Recording

Use this operation to prevent a voice recording (and any associated screens) from being deleted.

Request URL /recordings/<recid>
HTTP Method POST
Required Roles
  • Administrator
  • Supervisor
  • Agent
Required Permissions N/A RECORDING_PERMISSION_APPLY_NON_DELETE


Payload
Attribute JSON Data Type Mandatory Possible Values Default Value Description Notes
operationName String Yes applyNonDelete N/A Mark a recording for non-deletion. All the associated screen recordings at the time of the operation will also be updated.

Response

HTTP Status
Status Codes Situations Notes
200 OK The recording(s) has been marked for non-deletion successfully.
400 BAD REQUEST The operationName does not match any of the possible values described above.
403 FORBIDDEN
  • The requesting user does not have the roles required.
  • The requesting user does not have the recording permissions required.
404 NOT FOUND The recording for which to mark non-deletion cannot be found.
500 INTERNAL SERVER ERROR If an internal error occurs.


Payload
Attribute JSON Data Type Mandatory Possible Values Default Value Situations Notes
statusCode Integer Yes
0 (Ok) N/A The recording has been marked for non-deletion.
2 (InvalidRequestParameter) The operationName does not match the above-mentioned operations.
3 (OperationForbidden) The requesting user does not have the recording permissions required.
4 (InternalError) If internal error occurs.
5 (Unauthorized) The requesting user does not have the roles required.
6 (ResourceNotFound) The recording for which to mark non-deletion cannot be found.
statusMessage String No
  • Not specified.
  • A message providing information.
N/A The statusMessage will provide more information about a failure if statusCode is not 0.


Example Request

# Mark voice recording d15a8bee-a720-4def-9674-0767e6fde196 and its screen recordings(if any) for non-deletion
POST /recordings/d15a8bee-a720-4def-9674-0767e6fde196
{
     "operationName" :  "applyNonDelete"
}


Example Response

200 OK 
{ 
     "statusCode" : 0 
} 
 
400 BAD REQUEST 
{ 
     "statusCode" : 2, 
     "statusMessage" :  "Parameter 'operationName' is invalid: The specified value is not within valid range" 
} 
 
403 FORBIDDEN 
{ 
     "statusCode" : 5, 
     "statusMessage" :  "Insufficient user roles." 
} 
 
403 FORBIDDEN 
{ 
     "statusCode" : 3, 
     "statusMessage" :  "Insufficient recording permissions." 
} 
 
404 NOT FOUND 
{ 
     "statusCode" : 6, 
     "statusMessage" :  "Requested recording [f2197c79-3304-4427-9e73-48a5a8903484] cannot be found." 
} 
 
500 INTERNAL SERVER ERROR 
{ 
     "statusCode" : 4, 
     "statusMessage" :  "Internal server error - please contact administrator." 
}

Remove Non-Deletion from a Recording

Request URL /recordings/<recid>
HTTP Method POST
Required Roles
  • Administrator
  • Supervisor
  • Agent
Required Permissions N/A RECORDING_PERMISSION_UNAPPLY_NON_DELETE


Payload
Attributes JSON Data Type Mandatory Possible Values Default Value Description Notes
operationName String Yes unapplyNonDelete N/A Unmark a recording for non-deletion.

All the associated screen recordings at the time of the operation will also be updated.


Response

HTTP Status
Status Codes Situations Notes
200 OK The recording(s) has been unmarked for non-deletion successfully.
400 BAD REQUEST The operationName does not match any of the possible values described above.
403 FORBIDDEN
  • The requesting user does not have the roles required.
  • The requesting user does not have the recording permissions required.
404 NOT FOUND The recording for which to unmark non-deletion cannot be found.
500 INTERNAL SERVER ERROR An internal error occurs.


Payload
Attribute JSON Data Type Mandatory Possible Values Default Value Situations Notes
statusCode Integer Yes 0 (Ok) N/A The recording has been unmarked for non-deletion.
2 (InvalidRequestParameter) The operationName does not match any of the possible values described above.
3 (OperationForbidden) The requesting user does not have the recording permissions required.
4 (InternalError) If internal error occurs.
5 (Unauthorized) The requesting user does not have the roles required.
6 (ResourceNotFound) The recording for which to unmark non-deletion cannot be found.
statusMessage String No
  • Not specified.
  • A message providing information.
N/A The statusMessage will provide more information about a failure if statusCode is not 0.


Example Request

Use this operation to remove a voice recording's protection from deletion.

# Unmark voice recording d15a8bee-a720-4def-9674-0767e6fde196 and its screen recordings(if any) for non-deletion 
POST /recordings/d15a8bee-a720-4def-9674-0767e6fde196 
{ 
     "operationName" :  "unapplyNonDelete" 
}


Example Response

200 OK 
{ 
     "statusCode" : 0 
} 
 
400 BAD REQUEST 
{ 
     "statusCode" : 2, 
     "statusMessage" :  "Parameter 'operationName' is invalid: The specified value is not within valid range" 
} 
 
403 FORBIDDEN 
{ 
     "statusCode" : 5, 
     "statusMessage" :  "Insufficient user roles." 
} 
 
403 FORBIDDEN 
{ 
     "statusCode" : 3, 
     "statusMessage" :  "Insufficient recording permissions." 
} 
 
404 NOT FOUND 
{ 
     "statusCode" : 6, 
     "statusMessage" :  "Requested recording [f2197c79-3304-4427-9e73-48a5a8903484] cannot be found." 
} 
 
500 INTERNAL SERVER ERROR 
{ 
     "statusCode" : 4, 
     "statusMessage" :  "Internal server error - please contact administrator." 
}

Feedback

Comment on this article:

blog comments powered by Disqus
This page was last modified on 21 September 2018, at 01:28.