Enables or disables the retain recovery key setting

Open in ChatGPT Open in ChatGPT to ask questions about this page
Open in Claude Open in Claude to ask questions about this page
Copy as MarkdownCopy this page as markdown to use with AI assistants
View as Markdown Open this page as markdown in a new tab

Enables or disables the retain recovery key setting for the customer, optionally removing old recovery keys.

Request URL

https://{serverurl}/bitlocker/api/retainRecoveryKey

Scope

DesktopCentralCloud.DataEncryption.CREATECopied!

Header

Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52

Request Parameters

- Request Headers

AcceptstringMandatory
application/jsonapplication/jsonCopied!
Content-TypestringMandatory
application/jsonapplication/jsonCopied!

- Request Body

application/json
JSON Object
Hide Sub-Attributes
retainRecoveryKeyEnabledbooleanMandatory

Set to true to enable recovery key retention, false to disable. Required.

removeOldRecKeybooleanOptional

Optional. Set to true to immediately remove old recovery keys. Only relevant when disabling retention (retainRecoveryKeyEnabled=false).

Sample Request

Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request POST \
  --url https://appdomains/bitlocker/api/retainRecoveryKey \
  --header 'Accept: application/json' \
  --header 'Authorization: Zoho-oauthtoken  d92d4xxxxxxxxxxxxx15f52' \
  --header 'Content-Type: application/json' \
  --data '{"retainRecoveryKeyEnabled":true}'

Sample Request Body

Enable recovery key retention

Copied!
  {
    "retainRecoveryKeyEnabled": true,
    "removeOldRecKey": false
  }
                
Show full

Disable recovery key retention and remove old keys

Copied!
  {
    "retainRecoveryKeyEnabled": false,
    "removeOldRecKey": true
  }
                
Show full

Response Parameters

- HTTP code 200

Response Body - application/json
JSON Object
Hide Sub-Attributes
retainRecoveryKeyEnabledboolean

Current state of the recovery key retention setting

paramValuestring

Persisted parameter value as string ('true' or 'false')

- HTTP code 400

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Validation error code raised when the request body is missing, malformed, exceeds max-len=100, or fails retainRecoveryKeyTemplate validation (retainRecoveryKeyEnabled / removeOldRecKey not boolean)

errorMsgstring

Detailed message identifying which body key failed validation or why the payload was rejected

- HTTP code 401

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Unauthorized error code: credentials missing, expired, or invalid

errorMsgstring

Authentication failure reason

- HTTP code 403

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Error code indicating insufficient permissions

errorMsgstring

Message indicating insufficient privileges to access this resource

- HTTP code 429

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Rate limit error code returned when the API call reached threshold

errorMsgstring

Rate limit exceeded message with retry guidance

- HTTP code 500

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Internal server error code (DCAPIErrorCodes.INTERNAL_ERROR) thrown when persisting the retain-recovery-key parameter or removing old recovery keys fails

errorMsgstring

Server-side error message — typically 'Exception while forming response'

Possible Response Codes

200HTTP code
400HTTP code
401HTTP code
403HTTP code
429HTTP code
500HTTP code

Sample Response: HTTP 200

Successful update of retain recovery key setting

Copied!
  {
    "retainRecoveryKeyEnabled": true,
    "paramValue": "true"
  }
                
Show full

Sample Response: HTTP 400

Invalid or malformed request body

Copied!
  {
    "errorCode": 40001,
    "errorMsg": "Invalid request parameters"
  }
                
Show full

Sample Response: HTTP 401

Authentication credentials missing or invalid

Copied!
  {
    "errorCode": 40101,
    "errorMsg": "Authentication failed"
  }
                
Show full

Sample Response: HTTP 403

User does not have DataEncryptionRecoveryKey_Admin role

Copied!
  {
    "errorCode": 40301,
    "errorMsg": "Insufficient privileges to access this resource"
  }
                
Show full

Sample Response: HTTP 429

Throttle limit exceeded; client locked out for lock-period minutes

Copied!
  {
    "errorCode": 42901,
    "errorMsg": "Too many requests. Please retry after the cooldown period"
  }
                
Show full

Sample Response: HTTP 500

Internal server error — thrown from catch block via DCAPIException

Copied!
  {
    "errorCode": 10000,
    "errorMsg": "Exception while forming response"
  }
                
Show full

Duration: 1 minute | Threshold: 30 | Lock period: 5 minutes

Duration - Time window for the threshold.
Threshold - Number of API calls allowed within the specified duration.
Lock Period - Wait time before consecutive API requests.