Create KMS 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

Create a customer-managed unique KMS Key in your organization. A KMS Key is a logical represention of a cryptographic key material. It also includes metadata such as a UUID, a name and its state.

application/json

Body Required

  • name string Required

    A human-readable display name uniquely identifying the KMS key within the tenant space.

  • description string

    An optional detailed description providing additional context about the key's intended use case.

  • usage string

    Value is encrypt-decrypt. Default value is encrypt-decrypt.

  • multi-zone boolean

    True if this is a multi-zone key.

    Default value is false.

Responses

  • 200 application/json

    200

    Hide response attributes Show response attributes object
    • description string

      An optional detailed description providing additional context about the key's intended use case.

    • revision object Required
      Hide revision attributes Show revision attributes object
      • at string(date-time) Required

        The timestamp recording exactly when this specific revision iteration occurred.

      • seq integer Required

        Monotonically increasing sequencing value utilized for optimistic concurrency control locks.

        Minimum value is 0.

    • name string Required

      The display name assigned to the KMS key.

    • multi-zone boolean Required

      True if this is a multi-zone key.

    • source string Required

      Value is exoscale-kms.

    • usage string Required

      The cryptographic operation constraints allowed on this key.

    • status string Required

      Values are enabled, disabled, or pending-deletion.

    • status-since string(date-time) Required

      The timestamp indicating exactly when the current key status was last transitioned.

    • id string(uuid) Required

      The globally unique identifier (UUID) assigned to the newly created KMS key.

    • origin-zone string Required

      The creation zone of the KMS key.

    • created-at string(date-time) Required

      The UTC timestamp showing when the KMS key was originally provisioned.

  • 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
curl \
 --request POST 'https://api-ch-gva-2.exoscale.com/v2/kms-key' \
 --header "Content-Type: application/json" \
 --data '{"name":"string","description":"string","usage":"encrypt-decrypt","multi-zone":false}'
Request examples
{
  "name": "string",
  "description": "string",
  "usage": "encrypt-decrypt",
  "multi-zone": false
}
Response examples (200)
{
  "description": "string",
  "revision": {
    "at": "2026-05-04T09:42:00Z",
    "seq": 42
  },
  "name": "string",
  "multi-zone": true,
  "source": "exoscale-kms",
  "usage": "string",
  "status": "enabled",
  "status-since": "2026-05-04T09:42:00Z",
  "id": "string",
  "origin-zone": "string",
  "created-at": "2026-05-04T09:42:00Z"
}
Response examples (400)
{
  "type": "string",
  "title": "string",
  "status": 42,
  "detail": "string"
}