Generate Data Encryption Key

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://openapi-v2.exoscale.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Exoscale APIv2 MCP server": {
    "url": "https://openapi-v2.exoscale.com/mcp"
  }
}

Close
POST /kms-key/{id}/generate-data-key

Generate a Data Encryption Key from a given KMS Key.

Path parameters

  • id string(uuid) Required
application/json

Body Required

  • key-spec string

    Value is AES-256.

  • bytes-count integer

    Minimum value is 1, maximum value is 1024.

  • encryption-context string(byte) | null

    Base64-encoded Additional Authenticated Data binding key generation parameters securely to operational scope.

Responses

  • 200 application/json

    200

    Hide response attributes Show response attributes object
    • plaintext string(byte) Required

      The Base64-encoded raw symmetric data key payload. Expose only securely during active application setups.

    • ciphertext string(byte) Required

      The identical symmetric data key, returned safely wrapped/encrypted using the designated root parent KMS key.

  • 400 application/json

    400

    Hide response attributes Show response attributes object
    • type string(uri-reference) Required

      An absolute or relative URI reference pointing to human-readable documentation concerning the specific problem type encountered.

    • title string Required

      A brief summary defining the class of failure, optimal for quick user interface groupings.

    • status integer Required

      Minimum value is 100, maximum value is 599.

    • detail string Required

      A highly contextual, readable explanation breaking down explicitly what triggered this error scenario.

POST /kms-key/{id}/generate-data-key
curl \
 --request POST 'https://api-ch-gva-2.exoscale.com/v2/kms-key/{id}/generate-data-key' \
 --header "Content-Type: application/json" \
 --data '{"key-spec":"AES-256","bytes-count":42,"encryption-context":"string"}'
Request examples
{
  "key-spec": "AES-256",
  "bytes-count": 42,
  "encryption-context": "string"
}
Response examples (200)
{
  "plaintext": "string",
  "ciphertext": "string"
}
Response examples (400)
{
  "type": "string",
  "title": "string",
  "status": 42,
  "detail": "string"
}