Infisical KMS Keys API
The KMS Keys API from Infisical — 6 operation(s) for kms keys.
The KMS Keys API from Infisical — 6 operation(s) for kms keys.
openapi: 3.0.3
info:
title: Infisical Admin KMS Keys API
description: List of all available APIs that can be consumed
version: 0.0.1
servers:
- url: https://us.infisical.com
description: Production server (US)
- url: https://eu.infisical.com
description: Production server (EU)
- url: http://localhost:8080
description: Local server
tags:
- name: KMS Keys
paths:
/api/v1/kms/keys:
post:
operationId: createKmsKey
tags:
- KMS Keys
description: Create KMS key
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectId:
type: string
description: The ID of the project to create the key in.
name:
type: string
minLength: 1
maxLength: 32
description: The name of the key to be created. Must be slug-friendly.
description:
type: string
maxLength: 500
description: An optional description of the key.
keyUsage:
type: string
enum:
- encrypt-decrypt
- sign-verify
default: encrypt-decrypt
description: The type of key to be created, either encrypt-decrypt or sign-verify, based on your intended use for the key.
encryptionAlgorithm:
type: string
enum:
- aes-256-gcm
- aes-128-gcm
- RSA_4096
- ECC_NIST_P256
- ECC_NIST_P384
- ECC_NIST_P521
- ML_DSA_44
- ML_DSA_65
- ML_DSA_87
default: aes-256-gcm
description: The algorithm to use when performing cryptographic operations with the key.
required:
- projectId
- name
additionalProperties: false
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
key:
type: object
properties:
id:
type: string
format: uuid
description:
type: string
nullable: true
isDisabled:
type: boolean
default: false
nullable: true
orgId:
type: string
format: uuid
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectId:
type: string
nullable: true
keyUsage:
type: string
default: encrypt-decrypt
kmipMetadata:
nullable: true
version:
type: number
default: 1
encryptionAlgorithm:
type: string
required:
- id
- orgId
- name
- createdAt
- updatedAt
- encryptionAlgorithm
additionalProperties: false
required:
- key
additionalProperties: false
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 400
message:
type: string
error:
type: string
details: {}
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 401
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'403':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 403
message:
type: string
details: {}
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 404
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'422':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 422
message: {}
error:
type: string
required:
- reqId
- statusCode
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 500
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
get:
operationId: listKmsKeys
tags:
- KMS Keys
description: List KMS keys
parameters:
- schema:
type: string
in: query
name: projectId
required: true
description: The ID of the project to list keys from.
- schema:
type: number
minimum: 0
default: 0
in: query
name: offset
required: false
description: The offset to start from. If you enter 10, it will start from the 10th key.
- schema:
type: number
minimum: 1
maximum: 100
default: 100
in: query
name: limit
required: false
description: The number of keys to return.
- schema:
type: string
enum:
- name
default: name
in: query
name: orderBy
required: false
description: The column to order keys by.
- schema:
type: string
enum:
- asc
- desc
default: asc
in: query
name: orderDirection
required: false
description: The direction to order keys in.
- schema:
type: string
in: query
name: search
required: false
description: The text string to filter key names by.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
keys:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description:
type: string
nullable: true
isDisabled:
type: boolean
default: false
nullable: true
orgId:
type: string
format: uuid
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectId:
type: string
nullable: true
keyUsage:
type: string
default: encrypt-decrypt
kmipMetadata:
nullable: true
version:
type: number
default: 1
encryptionAlgorithm:
type: string
required:
- id
- orgId
- name
- createdAt
- updatedAt
- encryptionAlgorithm
additionalProperties: false
totalCount:
type: number
required:
- keys
- totalCount
additionalProperties: false
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 400
message:
type: string
error:
type: string
details: {}
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 401
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'403':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 403
message:
type: string
details: {}
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 404
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'422':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 422
message: {}
error:
type: string
required:
- reqId
- statusCode
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 500
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
/api/v1/kms/keys/{keyId}:
patch:
operationId: updateKmsKey
tags:
- KMS Keys
description: Update KMS key
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 32
description: The updated name of this key. Must be slug-friendly.
isDisabled:
type: boolean
description: The flag to enable or disable this key.
description:
type: string
maxLength: 500
description: The updated description of this key.
additionalProperties: false
parameters:
- schema:
type: string
format: uuid
in: path
name: keyId
required: true
description: The ID of the key to be updated.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
key:
type: object
properties:
id:
type: string
format: uuid
description:
type: string
nullable: true
isDisabled:
type: boolean
default: false
nullable: true
orgId:
type: string
format: uuid
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectId:
type: string
nullable: true
keyUsage:
type: string
default: encrypt-decrypt
kmipMetadata:
nullable: true
version:
type: number
default: 1
encryptionAlgorithm:
type: string
required:
- id
- orgId
- name
- createdAt
- updatedAt
- encryptionAlgorithm
additionalProperties: false
required:
- key
additionalProperties: false
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 400
message:
type: string
error:
type: string
details: {}
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 401
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'403':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 403
message:
type: string
details: {}
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 404
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'422':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 422
message: {}
error:
type: string
required:
- reqId
- statusCode
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 500
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
delete:
operationId: deleteKmsKey
tags:
- KMS Keys
description: Delete KMS key
parameters:
- schema:
type: string
format: uuid
in: path
name: keyId
required: true
description: The ID of the key to be deleted.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
key:
type: object
properties:
id:
type: string
format: uuid
description:
type: string
nullable: true
isDisabled:
type: boolean
default: false
nullable: true
orgId:
type: string
format: uuid
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectId:
type: string
nullable: true
keyUsage:
type: string
default: encrypt-decrypt
kmipMetadata:
nullable: true
version:
type: number
default: 1
encryptionAlgorithm:
type: string
required:
- id
- orgId
- name
- createdAt
- updatedAt
- encryptionAlgorithm
additionalProperties: false
required:
- key
additionalProperties: false
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 400
message:
type: string
error:
type: string
details: {}
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 401
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'403':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 403
message:
type: string
details: {}
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 404
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'422':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 422
message: {}
error:
type: string
required:
- reqId
- statusCode
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 500
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
get:
operationId: getKmsKeyById
tags:
- KMS Keys
description: Get KMS key by ID
parameters:
- schema:
type: string
format: uuid
in: path
name: keyId
required: true
description: The ID of the KMS key to retrieve.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
key:
type: object
properties:
id:
type: string
format: uuid
description:
type: string
nullable: true
isDisabled:
type: boolean
default: false
nullable: true
orgId:
type: string
format: uuid
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectId:
type: string
nullable: true
keyUsage:
type: string
default: encrypt-decrypt
kmipMetadata:
nullable: true
version:
type: number
default: 1
encryptionAlgorithm:
type: string
required:
- id
- orgId
- name
- createdAt
- updatedAt
- encryptionAlgorithm
additionalProperties: false
required:
- key
additionalProperties: false
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 400
message:
type: string
error:
type: string
details: {}
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 401
message:
type: string
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'403':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 403
message:
type: string
details: {}
error:
type: string
required:
- reqId
- statusCode
- message
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
reqId:
type: string
statusCode:
type: number
enum:
- 404
message:
type: string
error:
typ
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infisical/refs/heads/main/openapi/infisical-kms-keys-api-openapi.yml