HashiCorp Vault Secrets - KV v2 API

Key/Value secrets engine version 2

OpenAPI Specification

hashicorp-vault-secrets-kv-v2-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: HashiCorp Vault HTTP Auth - AppRole Secrets - KV v2 API
  description: The Vault HTTP API provides full access to Vault functionality via HTTP. Every aspect of Vault can be controlled via this API including secrets management, authentication, system configuration, identity, and policy management.
  version: 1.15.0
  contact:
    name: HashiCorp
    url: https://www.vaultproject.io/
  license:
    name: Business Source License 1.1
    url: https://github.com/hashicorp/vault/blob/main/LICENSE
servers:
- url: https://127.0.0.1:8200/v1
  description: Local Vault server
- url: https://{vault_host}:{port}/v1
  description: Custom Vault server
  variables:
    vault_host:
      default: 127.0.0.1
    port:
      default: '8200'
security:
- VaultToken: []
tags:
- name: Secrets - KV v2
  description: Key/Value secrets engine version 2
paths:
  /secret/data/{path}:
    get:
      operationId: readKVSecret
      summary: Read KV secret (v2)
      description: Reads a secret from the KV v2 secrets engine at the given path.
      tags:
      - Secrets - KV v2
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
        description: Specific version to read
      responses:
        '200':
          description: Secret data
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                  lease_id:
                    type: string
                  renewable:
                    type: boolean
                  lease_duration:
                    type: integer
                  data:
                    type: object
                    properties:
                      data:
                        type: object
                        additionalProperties: true
                      metadata:
                        type: object
                        properties:
                          created_time:
                            type: string
                            format: date-time
                          custom_metadata:
                            type: object
                          deletion_time:
                            type: string
                          destroyed:
                            type: boolean
                          version:
                            type: integer
        '404':
          description: Secret not found
    post:
      operationId: createKVSecret
      summary: Create or update KV secret (v2)
      description: Creates a new version of a secret at the specified path.
      tags:
      - Secrets - KV v2
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              properties:
                options:
                  type: object
                  properties:
                    cas:
                      type: integer
                      description: Check-And-Set version for optimistic locking
                data:
                  type: object
                  additionalProperties: true
                  description: Secret key-value pairs
      responses:
        '200':
          description: Secret created/updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      created_time:
                        type: string
                        format: date-time
                      deletion_time:
                        type: string
                      destroyed:
                        type: boolean
                      version:
                        type: integer
    delete:
      operationId: deleteKVSecretLatest
      summary: Delete latest version of KV secret
      tags:
      - Secrets - KV v2
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Secret version deleted (soft delete)
  /secret/metadata/{path}:
    get:
      operationId: getKVMetadata
      summary: Read KV secret metadata
      description: Returns metadata and version history for the secret at the given path.
      tags:
      - Secrets - KV v2
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Secret metadata
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      cas_required:
                        type: boolean
                      created_time:
                        type: string
                        format: date-time
                      current_version:
                        type: integer
                      delete_version_after:
                        type: string
                      max_versions:
                        type: integer
                      oldest_version:
                        type: integer
                      updated_time:
                        type: string
                        format: date-time
                      custom_metadata:
                        type: object
                      versions:
                        type: object
                        additionalProperties:
                          type: object
                          properties:
                            created_time:
                              type: string
                              format: date-time
                            deletion_time:
                              type: string
                            destroyed:
                              type: boolean
    delete:
      operationId: deleteKVMetadata
      summary: Delete all versions and metadata
      description: Permanently deletes the key metadata and all version data.
      tags:
      - Secrets - KV v2
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: All versions and metadata deleted
  /secret/delete/{path}:
    post:
      operationId: deleteKVSecretVersions
      summary: Delete specific versions of KV secret
      tags:
      - Secrets - KV v2
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - versions
              properties:
                versions:
                  type: array
                  items:
                    type: integer
      responses:
        '204':
          description: Versions deleted (soft delete)
  /secret/undelete/{path}:
    post:
      operationId: undeleteKVSecretVersions
      summary: Undelete versions of KV secret
      tags:
      - Secrets - KV v2
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - versions
              properties:
                versions:
                  type: array
                  items:
                    type: integer
      responses:
        '204':
          description: Versions restored
  /secret/destroy/{path}:
    post:
      operationId: destroyKVSecretVersions
      summary: Permanently destroy versions
      description: Permanently removes the data for the specified versions (cannot be recovered).
      tags:
      - Secrets - KV v2
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - versions
              properties:
                versions:
                  type: array
                  items:
                    type: integer
      responses:
        '204':
          description: Versions permanently destroyed
components:
  securitySchemes:
    VaultToken:
      type: apiKey
      name: X-Vault-Token
      in: header
      description: Vault client token