POST /kms-key

Create a KMS Key in a given zone with a given name.

application/json

Body Required

  • name string Required
  • description string Required
  • usage string Required

    Value is encrypt-decrypt.

  • multi-zone boolean Required

Responses

  • 201 application/json

    201

    Hide response attributes Show response attributes object
    • description string Required
    • revision object Required
      Hide revision attributes Show revision attributes object
      • at string(date-time) Required
      • seq integer Required

        Minimum value is 0.

    • name string Required
    • multi-zone boolean Required
    • source string Required

      Value is exoscale-kms.

    • policy string Required
    • usage string Required
    • status string Required

      Values are enabled, disabled, or pending-deletion.

    • status-since string(date-time) Required
    • id string(uuid) Required
    • origin-zone string Required
    • created-at string(date-time) Required
  • 400 application/json

    400

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

      Minimum value is 100, maximum value is 599.

    • detail string Required
    • instance string(uri-reference)
    • errors array[object]
      Hide errors attributes Show errors attributes object
      • path string
      • detail string
      • pointer string
      • location string
  • 409 application/json

    409

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

      Minimum value is 100, maximum value is 599.

    • detail string Required
    • instance string(uri-reference)
    • errors array[object]
      Hide errors attributes Show errors attributes object
      • path string
      • detail string
      • pointer string
      • location string
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":true}'
Request examples
{
  "name": "string",
  "description": "string",
  "usage": "encrypt-decrypt",
  "multi-zone": true
}
Response examples (201)
{
  "description": "string",
  "revision": {
    "at": "2026-05-04T09:42:00Z",
    "seq": 42
  },
  "name": "string",
  "multi-zone": true,
  "source": "exoscale-kms",
  "policy": "string",
  "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",
  "instance": "string",
  "errors": [
    {
      "path": "string",
      "detail": "string",
      "pointer": "string",
      "location": "string"
    }
  ]
}
Response examples (409)
{
  "type": "string",
  "title": "string",
  "status": 42,
  "detail": "string",
  "instance": "string",
  "errors": [
    {
      "path": "string",
      "detail": "string",
      "pointer": "string",
      "location": "string"
    }
  ]
}