Last updated: 2020-03-20 19:00:15

1. API Description

Domain name for API request:

This API generates a data key, which you can use to encrypt local data.

A maximum of 100 requests can be initiated per second for this API.

2. Input Parameters

The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.

Parameter Name Required Type Description
Action Yes String Common parameter. The value used for this API: GenerateDataKey.
Version Yes String Common parameter. The value used for this API: 2019-01-18.
Region Yes String Common parameter. For more information, please see the list of regions supported by the product.
KeyId Yes String
KeySpec No String Specifies the encryption algorithm and size of the DataKey. Valid values: AES_128, AES_256. Either KeySpec or NumberOfBytes must be specified.
NumberOfBytes No Integer Length of the DataKey. If both NumberOfBytes and KeySpec are specified, NumberOfBytes will prevail. Minimum value: 1; maximum value: 1024. Either KeySpec or NumberOfBytes must be specified.
EncryptionContext No String

3. Output Parameters

Parameter Name Type Description
KeyId String
Plaintext String
CiphertextBlob String Base64-encoded ciphertext that is encrypted by DataKey. You should keep the ciphertext private.
RequestId String The unique request ID, which is returned for each request. RequestId is required for locating a problem.

4. Example

Example1 Generate a data key

Generate a data key using the specified CMK.

Input Example
&<common request parameters>

Output Example

  "Response": {
    "RequestId": "fe11aa29-0cc2-4204-bfea-6ebb30cc00d7",
    "KeyId": "23e80852-1e38-11e9-b129-5cb9019b4b01",
    "Plaintext": "uW9wqntw+FAgnfsIrxOpOA==",
    "CiphertextBlob": "g2F8eQk44QrTbfj09TL17AZyFPgs8BTtZe2j27Wuw1YzTBCxnd0T/gwFQSasmtzxZi6mmvD7DCjCE+LxJmdhXQ==-k-fKVP3WIlGpg8m9LMW4jEkQ==-k-h/nUfRbaTUY7/KWXwuSK1Py+ZFRTK5WQiUz6yQE5XBFUN3UwPOUbl8P3A3caow2rlqTjUw=="

5. Developer Resources

API Explorer

This tool allows online call, signature authentication, SDK code generation and quick search of APIs to greatly improve the efficiency of using TencentCloud APIs.


TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

Command Line Interface

6. Error Code

The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.

Error Code Description
InternalError Internal error.
InvalidParameter Invalid parameter.
InvalidParameterValue.InvalidKeyId Invalid Keyld.
ResourceUnavailable.CmkDisabled CMK has been disabled.
ResourceUnavailable.CmkNotFound CMK does not exist.
UnauthorizedOperation Unauthorized operation.