---
title: "Create a new Vault"
method: POST
path: "/v2/control-planes/{controlPlaneId}/core-entities/vaults"
tags: ["Vaults"]
---

# Create a new Vault

`POST /v2/control-planes/{controlPlaneId}/core-entities/vaults`

Create a new Vault

## Request body

- Vault — Vault entities are used to configure different Vault connectors. Examples of Vaults are Environment Variables, Hashicorp Vault and AWS Secrets Manager. Configuring a Vault allows referencing the secrets with other entities. For example a certificate entity can store a reference to a certificate and key, stored in a vault, instead of storing the certificate and key within the entity. This allows a proper separation of secrets and configuration and prevents secret sprawl.
  - `config` object, nullable — The configuration properties for the Vault which can be found on the vaults' documentation page.
  - `created_at` integer, nullable — Unix epoch when the resource was created.
  - `description` string, nullable — The description of the Vault entity.
  - `id` string, nullable — A string representing a UUID (universally unique identifier).
  - `name` string, required — The name of the Vault that's going to be added. Currently, the Vault implementation must be installed in every Kong instance.
  - `prefix` string, required — The unique prefix (or identifier) for this Vault configuration. The prefix is used to load the right Vault configuration and implementation when referencing secrets with the other entities.
  - `tags` string[], nullable — An optional set of strings associated with the Vault for grouping and filtering.
  - `updated_at` integer, nullable — Unix epoch when the resource was last updated.

## Response `201`

Successfully created Vault

- Vault — Vault entities are used to configure different Vault connectors. Examples of Vaults are Environment Variables, Hashicorp Vault and AWS Secrets Manager. Configuring a Vault allows referencing the secrets with other entities. For example a certificate entity can store a reference to a certificate and key, stored in a vault, instead of storing the certificate and key within the entity. This allows a proper separation of secrets and configuration and prevents secret sprawl.
  - `config` object, nullable — The configuration properties for the Vault which can be found on the vaults' documentation page.
  - `created_at` integer, nullable — Unix epoch when the resource was created.
  - `description` string, nullable — The description of the Vault entity.
  - `id` string, nullable — A string representing a UUID (universally unique identifier).
  - `name` string, required — The name of the Vault that's going to be added. Currently, the Vault implementation must be installed in every Kong instance.
  - `prefix` string, required — The unique prefix (or identifier) for this Vault configuration. The prefix is used to load the right Vault configuration and implementation when referencing secrets with the other entities.
  - `tags` string[], nullable — An optional set of strings associated with the Vault for grouping and filtering.
  - `updated_at` integer, nullable — Unix epoch when the resource was last updated.

## Other responses

- `401` — Unauthorized

## Changes

- **2025-07-22** `2c77aeaee5fb` — 1 breaking, 1 info
  - the response property `tags` became nullable for the status `201`
  - the request property `tags` became nullable
- **2025-06-19** `60ce7598bbd0` — 2 breaking, 2 info
  - the response property `config` became nullable for the status `201`
  - the response property `config` became optional for the status `201`
  - the request property `config` became nullable
  - the request property `config` became optional
- **2025-04-15** `fc6abbc537f3` — 2 breaking, 6 info
  - the response property `created_at` became nullable for the status `201`
  - the response property `updated_at` became nullable for the status `201`
  - the request optional property `created_at` became not read-only
  - the request optional property `updated_at` became not read-only
  - …4 more
- **2024-12-06** `426663331655` — 3 breaking, 1 info
  - the request property `config` became not nullable
  - the request property `tags` became not nullable
  - the request property `config` became required
  - the response property `config` became required for the status `201`
- **2024-11-11** `08ead66e9ebb` — 6 breaking, 8 info
  - the request property `name` became required
  - the request property `prefix` became required
  - the response property `config` became nullable for the status `201`
  - the response property `description` became nullable for the status `201`
  - …10 more

[Change history](https://skmtc.dev/kong/apis/konnect-api/changes/v2/control-planes/:controlPlaneId/core-entities/vaults/post.md)

---

[API](https://skmtc.dev/kong/apis/konnect-api.md) · [All operations](https://skmtc.dev/kong/apis/konnect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kong/konnect-api/revisions/72502a676a92/schema)
