openapi: 3.0.3
info:
title: Infisical Admin Dynamic Secrets 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: Dynamic Secrets
paths:
/api/v1/dynamic-secrets:
post:
tags:
- Dynamic Secrets
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectSlug:
type: string
minLength: 1
description: The slug of the project to create dynamic secret in.
provider:
anyOf:
- type: object
properties:
type:
type: string
enum:
- sql-database
inputs:
type: object
properties:
client:
type: string
enum:
- postgres
- mysql2
- oracledb
- mssql
- sap-ase
- vertica
host:
type: string
port:
type: number
database:
type: string
username:
type: string
password:
type: string
passwordRequirements:
type: object
properties:
length:
type: number
minimum: 1
maximum: 250
required:
type: object
properties:
lowercase:
type: number
minimum: 0
uppercase:
type: number
minimum: 0
digits:
type: number
minimum: 0
symbols:
type: number
minimum: 0
required:
- lowercase
- uppercase
- digits
- symbols
additionalProperties: false
allowedSymbols:
type: string
required:
- length
- required
additionalProperties: false
description: Password generation requirements
creationStatement:
type: string
revocationStatement:
type: string
renewStatement:
type: string
ca:
type: string
sslEnabled:
type: boolean
sslRejectUnauthorized:
type: boolean
default: true
gatewayId:
type: string
nullable: true
gatewayPoolId:
type: string
nullable: true
required:
- client
- host
- port
- database
- username
- password
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- clickhouse
inputs:
type: object
properties:
host:
type: string
port:
type: number
database:
type: string
username:
type: string
password:
type: string
passwordRequirements:
type: object
properties:
length:
type: number
minimum: 1
maximum: 250
required:
type: object
properties:
lowercase:
type: number
minimum: 0
uppercase:
type: number
minimum: 0
digits:
type: number
minimum: 0
symbols:
type: number
minimum: 0
required:
- lowercase
- uppercase
- digits
- symbols
additionalProperties: false
allowedSymbols:
type: string
required:
- length
- required
additionalProperties: false
description: Password generation requirements
creationStatement:
type: string
revocationStatement:
type: string
renewStatement:
type: string
ca:
type: string
gatewayId:
type: string
nullable: true
gatewayPoolId:
type: string
nullable: true
required:
- host
- port
- database
- username
- password
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- cassandra
inputs:
type: object
properties:
host:
type: string
port:
type: number
localDataCenter:
type: string
minLength: 1
keyspace:
type: string
username:
type: string
password:
type: string
creationStatement:
type: string
revocationStatement:
type: string
renewStatement:
type: string
ca:
type: string
sslRejectUnauthorized:
type: boolean
default: true
required:
- host
- port
- localDataCenter
- username
- password
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- sap-ase
inputs:
type: object
properties:
host:
type: string
port:
type: number
database:
type: string
username:
type: string
password:
type: string
creationStatement:
type: string
revocationStatement:
type: string
required:
- host
- port
- database
- username
- password
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- aws-iam
inputs:
anyOf:
- type: object
properties:
method:
type: string
enum:
- access-key
credentialType:
type: string
enum:
- iam-user
- temporary-credentials
default: iam-user
accessKey:
type: string
minLength: 1
secretAccessKey:
type: string
minLength: 1
region:
type: string
minLength: 1
awsPath:
type: string
permissionBoundaryPolicyArn:
type: string
policyDocument:
type: string
userGroups:
type: string
policyArns:
type: string
tags:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
required:
- method
- accessKey
- secretAccessKey
- region
additionalProperties: false
- type: object
properties:
method:
type: string
enum:
- assume-role
credentialType:
type: string
enum:
- iam-user
- temporary-credentials
default: iam-user
roleArn:
type: string
minLength: 1
region:
type: string
minLength: 1
awsPath:
type: string
permissionBoundaryPolicyArn:
type: string
policyDocument:
type: string
userGroups:
type: string
policyArns:
type: string
tags:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
required:
- method
- roleArn
- region
additionalProperties: false
- type: object
properties:
method:
type: string
enum:
- irsa
credentialType:
type: string
enum:
- iam-user
- temporary-credentials
default: iam-user
region:
type: string
minLength: 1
awsPath:
type: string
permissionBoundaryPolicyArn:
type: string
policyDocument:
type: string
userGroups:
type: string
policyArns:
type: string
tags:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
required:
- method
- region
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- redis
inputs:
type: object
properties:
host:
type: string
port:
type: number
username:
type: string
password:
type: string
creationStatement:
type: string
revocationStatement:
type: string
renewStatement:
type: string
ca:
type: string
sslRejectUnauthorized:
type: boolean
default: true
required:
- host
- port
- username
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- sap-hana
inputs:
type: object
properties:
host:
type: string
port:
type: number
username:
type: string
password:
type: string
creationStatement:
type: string
revocationStatement:
type: string
renewStatement:
type: string
ca:
type: string
sslRejectUnauthorized:
type: boolean
default: true
required:
- host
- port
- username
- password
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- aws-elasticache
inputs:
type: object
properties:
clusterName:
type: string
minLength: 1
accessKeyId:
type: string
minLength: 1
secretAccessKey:
type: string
minLength: 1
region:
type: string
creationStatement:
type: string
revocationStatement:
type: string
required:
- clusterName
- accessKeyId
- secretAccessKey
- region
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- aws-memorydb
inputs:
type: object
properties:
clusterName:
type: string
minLength: 1
auth:
anyOf:
- type: object
properties:
type:
type: string
enum:
- iam
accessKeyId:
type: string
minLength: 1
secretAccessKey:
type: string
minLength: 1
required:
- type
- accessKeyId
- secretAccessKey
additionalProperties: false
region:
type: string
minLength: 1
creationStatement:
type: string
revocationStatement:
type: string
required:
- clusterName
- auth
- region
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- mongo-db-atlas
inputs:
type: object
properties:
adminPublicKey:
type: string
minLength: 1
description: Admin user public api key
adminPrivateKey:
type: string
minLength: 1
description: Admin user private api key
groupId:
type: string
minLength: 1
description: Unique 24-hexadecimal digit string that identifies your project. This is same as project id
roles:
type: array
items:
type: object
properties:
collectionName:
type: string
description: Collection on which this role applies.
databaseName:
type: string
minLength: 1
description: Database to which the user is granted access privileges.
roleName:
type: string
minLength: 1
description: ' Enum: "atlasAdmin" "backup" "clusterMonitor" "dbAdmin" "dbAdminAnyDatabase" "enableSharding" "read" "readAnyDatabase" "readWrite" "readWriteAnyDatabase" "".Human-readable label that identifies a group of privileges assigned to a database user. This value can either be a built-in role or a custom role.'
required:
- databaseName
- roleName
additionalProperties: false
minItems: 1
scopes:
type: array
items:
type: object
properties:
name:
type: string
minLength: 1
description: Human-readable label that identifies the cluster or MongoDB Atlas Data Lake that this database user can access.
type:
type: string
minLength: 1
description: 'Category of resource that this database user can access. Enum: CLUSTER, DATA_LAKE, STREAM'
required:
- name
- type
additionalProperties: false
required:
- adminPublicKey
- adminPrivateKey
- groupId
- roles
- scopes
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- elastic-search
inputs:
type: object
properties:
host:
type: string
minLength: 1
port:
type: number
roles:
type: array
items:
type: string
minLength: 1
minItems: 1
auth:
anyOf:
- type: object
properties:
type:
type: string
enum:
- user
username:
type: string
password:
type: string
required:
- type
- username
- password
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- api-key
apiKey:
type: string
apiKeyId:
type: string
required:
- type
- apiKey
- apiKeyId
additionalProperties: false
ca:
type: string
sslRejectUnauthorized:
type: boolean
default: true
required:
- host
- port
- roles
- auth
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- mongo-db
inputs:
type: object
properties:
host:
type: string
minLength: 1
port:
type: number
nullable: true
username:
type: string
minLength: 1
password:
type: string
minLength: 1
database:
type: string
minLength: 1
ca:
type: string
nullable: true
sslRejectUnauthorized:
type: boolean
default: true
roles:
type: array
items:
type: string
minItems: 1
description: 'Enum: "atlasAdmin" "backup" "clusterMonitor" "dbAdmin" "dbAdminAnyDatabase" "enableSharding" "read" "readAnyDatabase" "readWrite" "readWriteAnyDatabase" "".Human-readable label that identifies a group of privileges assigned to a database user. This value can either be a built-in role or a custom role.'
required:
- host
- username
- password
- database
- roles
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- rabbit-mq
inputs:
type: object
properties:
host:
type: string
minLength: 1
port:
type: number
tags:
type: array
items:
type: string
default: []
username:
type: string
minLength: 1
password:
type: string
minLength: 1
ca:
type: string
sslRejectUnauthorized:
type: boolean
default: true
virtualHost:
type: object
properties:
name:
type: string
minLength: 1
permissions:
type: object
properties:
read:
type: string
minLength: 1
write:
type: string
minLength: 1
configure:
type: string
minLength: 1
required:
- read
- write
- configure
additionalProperties: false
required:
- name
- permissions
additionalProperties: false
required:
- host
- port
- username
- password
- virtualHost
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- azure-entra-id
inputs:
type: object
properties:
tenantId:
type: string
minLength: 1
userId:
type: string
minLength: 1
email:
type: string
minLength: 1
applicationId:
type: string
minLength: 1
clientSecret:
type: string
minLength: 1
required:
- tenantId
- userId
- email
- applicationId
- clientSecret
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- azure-sql-database
inputs:
type: object
properties:
host:
type: string
port:
type: number
database:
type: string
masterDatabase:
type: string
default: master
username:
type: string
password:
type: string
passwordRequirements:
type: object
properties:
length:
type: number
minimum: 1
maximum: 250
required:
type: object
properties:
lowercase:
type: number
minimum: 0
uppercase:
type: number
minimum: 0
digits:
type: number
minimum: 0
symbols:
type: number
minimum: 0
required:
- lowercase
- uppercase
- digits
- symbols
additionalProperties: false
allowedSymbols:
type: string
required:
- length
- required
additionalProperties: false
description: Password generation requirements
masterCreationStatement:
type: string
creationStatement:
type: string
revocationStatement:
type: string
renewStatement:
type: string
ca:
type: string
sslEnabled:
type: boolean
sslRejectUnauthorized:
type: boolean
default: true
gatewayId:
type: string
nullable: true
gatewayPoolId:
type: string
nullable: true
required:
- host
- port
- database
- username
- password
- masterCreationStatement
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- ldap
inputs:
anyOf:
- type: object
properties:
url:
type: string
minLength: 1
binddn:
type: string
minLength: 1
bindpass:
type: string
minLength: 1
ca:
type: string
sslRejectUnauthorized:
type: boolean
default: true
credentialType:
type: string
enum:
- dynamic
default: dynamic
creationLdif:
type: string
minLength: 1
revocationLdif:
type: string
minLength: 1
rollbackLdif:
type: string
required:
- url
- binddn
- bindpass
- creationLdif
- revocationLdif
additionalProperties: false
- type: object
properties:
url:
type: string
minLength: 1
binddn:
type: string
minLength: 1
bindpass:
type: string
minLength: 1
ca:
type: string
sslRejectUnauthorized:
type: boolean
default: true
credentialType:
type: string
enum:
- static
rotationLdif:
type: string
minLength: 1
required:
- url
- binddn
- bindpass
- credentialType
- rotationLdif
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- snowflake
inputs:
type: object
properties:
accountId:
type: string
minLength: 1
orgId:
type: string
minLength: 1
username:
type: string
minLength: 1
password:
type: string
minLength: 1
creationStatement:
type: string
minLength: 1
revocationStatement:
type: string
minLength: 1
renewStatement:
type: string
required:
- accountId
- orgId
- username
- password
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- totp
inputs:
anyOf:
- type: object
properties:
configType:
type: string
enum:
- url
url:
type: string
format: uri
minLength: 1
required:
- configType
- url
additionalProperties: false
- type: object
properties:
configType:
type: string
enum:
- manual
secret:
type: string
minLength: 1
period:
type: number
algorithm:
type: string
enum:
- sha1
- sha256
- sha512
digits:
type: number
required:
- configType
- secret
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- kubernetes
inputs:
anyOf:
- type: object
properties:
url:
type: string
clusterToken:
type: string
ca:
type: string
sslEnabled:
type: boolean
default: false
sslRejectUnauthorized:
type: boolean
default: true
credentialType:
type: string
enum:
- static
serviceAccountName:
type: string
minLength: 1
namespace:
type: string
minLength: 1
gatewayId:
type: string
nullable: true
gatewayPoolId:
type: string
nullable: true
audiences:
type: array
items:
type: string
minLength: 1
authMethod:
type: string
enum:
- gateway
- api
default: api
required:
- credentialType
- serviceAccountName
- namespace
- audiences
additionalProperties: false
- type: object
properties:
url:
type: string
format: uri
clusterToken:
type: string
ca:
type: string
sslEnabled:
type: boolean
default: false
sslRejectUnauthorized:
type: boolean
default: true
credentialType:
type: string
enum:
- dynamic
namespace:
type: string
minLength: 1
gatewayId:
type: string
nullable: true
gatewayPoolId:
type: string
nullable: true
audiences:
type: array
items:
type: string
minLength: 1
roleType:
type: string
enum:
- cluster-role
- role
role:
type: string
minLength: 1
authMethod:
type: string
enum:
- gateway
- api
default: api
required:
- credentialType
- namespace
- audiences
- roleType
- role
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- vertica
inputs:
type: object
properties:
host:
type: string
port:
type: number
username:
type: string
password:
type: string
database:
type: string
gatewayId:
type: string
nullable: true
gatewayPoolId:
type: string
nullable: true
creationStatement:
type: string
revocationStatement:
type: string
passwordRequirements:
type: object
properties:
length:
type: number
minimum: 1
maximum: 250
required:
type: object
properties:
lowercase:
type: number
minimum: 0
uppercase:
type: number
minimum: 0
digits:
type: number
minimum: 0
symbols:
type: number
minimum: 0
required:
- lowercase
- uppercase
- digits
- symbols
additionalProperties: false
allowedSymbols:
type: string
required:
- length
- required
additionalProperties: false
description: Password generation requirements
required:
- host
- port
- username
- password
- database
- creationStatement
- revocationStatement
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- gcp-iam
inputs:
type: object
properties:
serviceAccountEmail:
type: string
format: email
minLength: 1
maxLength: 128
required:
- serviceAccountEmail
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- github
inputs:
type: object
properties:
appId:
type: number
minimum: 1
description: The ID of your GitHub App.
installationId:
type: number
minimum: 1
description: The ID of the GitHub App installation.
privateKey:
type: string
minLength: 1
description: The private key generated for your GitHub App.
required:
- appId
- installationId
- privateKey
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- couchbase
inputs:
type: object
properties:
url:
type: string
format: uri
minLength: 1
description: Couchbase Cloud API URL
orgId:
type: string
minLength: 1
description: Organization ID
projectId:
type: string
minLength: 1
description: Project ID
clusterId:
type: string
minLength: 1
description: Cluster ID
roles:
type: array
items:
type: string
minLength: 1
minItems: 1
description: Roles to assign to the user
buckets:
anyOf:
- type: string
minLength: 1
default: '*'
- type: array
items:
type: object
properties:
name:
type: string
minLength: 1
description: Bucket name
scopes:
type: array
items:
type: object
properties:
name:
type: string
minLength: 1
description: Scope name
collections:
type: array
items:
type: string
minLength: 1
description: Collection names
required:
- name
additionalProperties: false
description: Scopes within the bucket
required:
- name
additionalProperties: false
default: '*'
description: 'Bucket configuration: ''*'' for all buckets, scopes, and collections or array of bucket objects with specific scopes and collections'
passwordRequirements:
type: object
properties:
length:
type: number
minimum: 8
maximum: 128
required:
type: object
properties:
lowercase:
type: number
minimum: 1
uppercase:
type: number
minimum: 1
digits:
type: number
minimum: 1
symbols:
type: number
minimum: 1
required:
- lowercase
- uppercase
- digits
- symbols
additionalProperties: false
allowedSymbols:
type: string
required:
- length
- required
additionalProperties: false
description: Password generation requirements for Couchbase
auth:
type: object
properties:
apiKey:
type: string
minLength: 1
description: Couchbase Cloud API Key
required:
- apiKey
additionalProperties: false
required:
- url
- orgId
- projectId
- clusterId
- roles
- auth
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- milvus
inputs:
type: object
properties:
host:
type: string
minLength: 1
description: Milvus endpoint host; uses https when the host includes https:// or a CA is provided, http when the host includes http://, otherwise http (e.g. localhost).
port:
type: integer
minimum: 1
maximum: 65535
username:
type: string
minLength: 1
description: Admin username used to manage Milvus users and roles
password:
type: string
minLength: 1
description: Admin password used to manage Milvus users and roles
database:
type: string
minLength: 1
default: default
description: Default Milvus database used for privilege grants
privileges:
type: array
items:
type: object
properties:
objectType:
type: string
minLength: 1
description: Milvus object type (e.g. "Collection", "Database", "Global", "User", "Cluster")
objectName:
type: string
minLength: 1
default: '*'
description: Name of the target object, or "*" to apply to all
privilege:
type: string
minLength: 1
description: Milvus privilege name or built-in privilege group (e.g. "Search", "COLL_RO", "DB_Admin")
dbName:
type: string
minLength: 1
description: Optional database override for this privilege
required:
- objectType
- privilege
additionalProperties: false
default: []
description: Privileges granted to an ephemeral role bound to the lease user. Leave empty to create the user with only the built-in public role.
ca:
type: string
sslRejectUnauthorized:
type: boolean
default: true
gatewayId:
type: string
nullable: true
gatewayPoolId:
type: string
nullable: true
required:
- host
- port
- username
- password
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- ssh
inputs:
type: object
properties:
principals:
type: array
items:
type: string
minLength: 1
minItems: 1
keyAlgorithm:
type: string
enum:
- RSA_2048
- RSA_4096
- EC_prime256v1
- EC_secp384r1
- ED25519
default: ED25519
required:
- principals
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- ibm-api-connect
inputs:
type: object
properties:
clientId:
type: string
minLength: 1
clientSecret:
type: string
minLength: 1
instanceUrl:
type: string
format: uri
minLength: 1
apiKey:
type: string
minLength: 1
orgId:
type: string
minLength: 1
catalogId:
type: string
minLength: 1
consumerOrgId:
type: string
minLength: 1
appId:
type: string
minLength: 1
gatewayId:
type: string
nullable: true
gatewayPoolId:
type: string
nullable: true
required:
- clientId
- clientSecret
- instanceUrl
- apiKey
- orgId
- catalogId
- consumerOrgId
- appId
additionalProperties: false
required:
- type
- inputs
additionalProperties: false
description: The type of dynamic secret.
defaultTTL:
type: string
description: The default TTL that will be applied for all the leases.
maxTTL:
type: string
description: The maximum limit a TTL can be leases or renewed.
nullable: true
path:
type: string
description: The path to create the dynamic secret in.
default: /
environmentSlug:
type: string
minLength: 1
description: The slug of the environment to create the dynamic secret in.
name:
type: string
minLength: 1
maxLength: 64
description: The name of the dynamic secret.
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
usernameTemplate:
type: string
maxLength: 255
required:
- projectSlug
- provider
- defaultTTL
- environmentSlug
- name
additionalProperties: false
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
dynamicSecret:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
type:
type: string
defaultTTL:
type: string
maxTTL:
type: string
nullable: true
folderId:
type: string
format: uuid
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectGatewayId:
type: string
format: uuid
nullable: true
gatewayId:
type: string
format: uuid
nullable: true
usernameTemplate:
type: string
nullable: true
gatewayV2Id:
type: string
format: uuid
nullable: true
gatewayPoolId:
type: string
format: uuid
nullable: true
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
inputs: {}
required:
- id
- name
- version
- type
- defaultTTL
- folderId
- createdAt
- updatedAt
additionalProperties: false
required:
- dynamicSecret
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:
tags:
- Dynamic Secrets
parameters:
- schema:
type: string
minLength: 1
in: query
name: projectSlug
required: true
description: The slug of the project to create dynamic secret in.
- schema:
type: string
default: /
in: query
name: path
required: false
description: The path to list folders from.
- schema:
type: string
minLength: 1
in: query
name: environmentSlug
required: true
description: The slug of the environment to list folders from.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
dynamicSecrets:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
type:
type: string
defaultTTL:
type: string
maxTTL:
type: string
nullable: true
folderId:
type: string
format: uuid
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectGatewayId:
type: string
format: uuid
nullable: true
gatewayId:
type: string
format: uuid
nullable: true
usernameTemplate:
type: string
nullable: true
gatewayV2Id:
type: string
format: uuid
nullable: true
gatewayPoolId:
type: string
format: uuid
nullable: true
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
required:
- id
- name
- version
- type
- defaultTTL
- folderId
- createdAt
- updatedAt
additionalProperties: false
required:
- dynamicSecrets
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/dynamic-secrets/{name}:
patch:
tags:
- Dynamic Secrets
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectSlug:
type: string
minLength: 1
description: The slug of the project to update dynamic secret in.
path:
type: string
default: /
description: The path to update the dynamic secret in.
environmentSlug:
type: string
minLength: 1
description: The slug of the environment to update the dynamic secret in.
data:
type: object
properties:
inputs:
description: The new partial values for the configured provider of the dynamic secret
defaultTTL:
type: string
description: The default TTL that will be applied for all the leases.
maxTTL:
type: string
description: The maximum limit a TTL can be leases or renewed.
nullable: true
newName:
type: string
description: The new name for the dynamic secret.
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
usernameTemplate:
type: string
maxLength: 255
nullable: true
additionalProperties: false
required:
- projectSlug
- environmentSlug
- data
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: name
required: true
description: The name of the dynamic secret.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
dynamicSecret:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
type:
type: string
defaultTTL:
type: string
maxTTL:
type: string
nullable: true
folderId:
type: string
format: uuid
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectGatewayId:
type: string
format: uuid
nullable: true
gatewayId:
type: string
format: uuid
nullable: true
usernameTemplate:
type: string
nullable: true
gatewayV2Id:
type: string
format: uuid
nullable: true
gatewayPoolId:
type: string
format: uuid
nullable: true
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
inputs: {}
required:
- id
- name
- version
- type
- defaultTTL
- folderId
- createdAt
- updatedAt
additionalProperties: false
required:
- dynamicSecret
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:
tags:
- Dynamic Secrets
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectSlug:
type: string
minLength: 1
description: The slug of the project to delete dynamic secret in.
path:
type: string
default: /
description: The path to delete the dynamic secret in.
environmentSlug:
type: string
minLength: 1
description: The slug of the environment to delete the dynamic secret in.
isForced:
type: boolean
default: false
description: A boolean flag to delete the the dynamic secret from Infisical without trying to remove it from external provider. Used when the dynamic secret got modified externally.
required:
- projectSlug
- environmentSlug
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: name
required: true
description: The name of the dynamic secret.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
dynamicSecret:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
type:
type: string
defaultTTL:
type: string
maxTTL:
type: string
nullable: true
folderId:
type: string
format: uuid
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectGatewayId:
type: string
format: uuid
nullable: true
gatewayId:
type: string
format: uuid
nullable: true
usernameTemplate:
type: string
nullable: true
gatewayV2Id:
type: string
format: uuid
nullable: true
gatewayPoolId:
type: string
format: uuid
nullable: true
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
required:
- id
- name
- version
- type
- defaultTTL
- folderId
- createdAt
- updatedAt
additionalProperties: false
required:
- dynamicSecret
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:
tags:
- Dynamic Secrets
parameters:
- schema:
type: string
minLength: 1
in: query
name: projectSlug
required: true
description: The slug of the project to create dynamic secret in.
- schema:
type: string
default: /
in: query
name: path
required: false
description: The path to list folders from.
- schema:
type: string
minLength: 1
in: query
name: environmentSlug
required: true
description: The slug of the environment to list folders from.
- schema:
type: string
minLength: 1
in: path
name: name
required: true
description: The name of the dynamic secret.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
dynamicSecret:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
type:
type: string
defaultTTL:
type: string
maxTTL:
type: string
nullable: true
folderId:
type: string
format: uuid
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectGatewayId:
type: string
format: uuid
nullable: true
gatewayId:
type: string
format: uuid
nullable: true
usernameTemplate:
type: string
nullable: true
gatewayV2Id:
type: string
format: uuid
nullable: true
gatewayPoolId:
type: string
format: uuid
nullable: true
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
inputs: {}
required:
- id
- name
- version
- type
- defaultTTL
- folderId
- createdAt
- updatedAt
additionalProperties: false
required:
- dynamicSecret
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/dynamic-secrets/{name}/leases:
get:
tags:
- Dynamic Secrets
parameters:
- schema:
type: string
minLength: 1
in: query
name: projectSlug
required: true
description: The slug of the project to create dynamic secret in.
- schema:
type: string
default: /
in: query
name: path
required: false
description: The path to list folders from.
- schema:
type: string
minLength: 1
in: query
name: environmentSlug
required: true
description: The slug of the environment to list folders from.
- schema:
type: string
minLength: 1
in: path
name: name
required: true
description: The name of the dynamic secret.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
leases:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
version:
type: number
externalEntityId:
type: string
expireAt:
type: string
format: date-time
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
dynamicSecretId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
config:
nullable: true
required:
- id
- version
- externalEntityId
- expireAt
- dynamicSecretId
- createdAt
- updatedAt
additionalProperties: false
required:
- leases
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/dynamic-secrets/leases:
post:
tags:
- Dynamic Secrets
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
dynamicSecretName:
type: string
minLength: 1
description: The name of the dynamic secret.
projectSlug:
type: string
minLength: 1
description: The slug of the project of the dynamic secret in.
ttl:
type: string
description: The lease lifetime TTL. If not provided the default TTL of dynamic secret will be used.
path:
type: string
default: /
description: The path of the dynamic secret in.
environmentSlug:
type: string
minLength: 1
description: The slug of the environment of the dynamic secret in.
config: {}
required:
- dynamicSecretName
- projectSlug
- environmentSlug
additionalProperties: false
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
lease:
type: object
properties:
id:
type: string
format: uuid
version:
type: number
externalEntityId:
type: string
expireAt:
type: string
format: date-time
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
dynamicSecretId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
config:
nullable: true
required:
- id
- version
- externalEntityId
- expireAt
- dynamicSecretId
- createdAt
- updatedAt
additionalProperties: false
dynamicSecret:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
type:
type: string
defaultTTL:
type: string
maxTTL:
type: string
nullable: true
folderId:
type: string
format: uuid
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectGatewayId:
type: string
format: uuid
nullable: true
gatewayId:
type: string
format: uuid
nullable: true
usernameTemplate:
type: string
nullable: true
gatewayV2Id:
type: string
format: uuid
nullable: true
gatewayPoolId:
type: string
format: uuid
nullable: true
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
required:
- id
- name
- version
- type
- defaultTTL
- folderId
- createdAt
- updatedAt
additionalProperties: false
data: {}
required:
- lease
- dynamicSecret
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/dynamic-secrets/leases/{leaseId}:
delete:
tags:
- Dynamic Secrets
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectSlug:
type: string
minLength: 1
description: The slug of the project of the dynamic secret in.
path:
type: string
minLength: 1
default: /
description: The path of the dynamic secret in.
environmentSlug:
type: string
minLength: 1
description: The slug of the environment of the dynamic secret in.
isForced:
type: boolean
default: false
description: A boolean flag to delete the the dynamic secret from Infisical without trying to remove it from external provider. Used when the dynamic secret got modified externally.
required:
- projectSlug
- environmentSlug
additionalProperties: false
parameters:
- schema:
type: string
minLength: 1
in: path
name: leaseId
required: true
description: The ID of the dynamic secret lease.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
lease:
type: object
properties:
id:
type: string
format: uuid
version:
type: number
externalEntityId:
type: string
expireAt:
type: string
format: date-time
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
dynamicSecretId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
config:
nullable: true
required:
- id
- version
- externalEntityId
- expireAt
- dynamicSecretId
- createdAt
- updatedAt
additionalProperties: false
required:
- lease
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:
tags:
- Dynamic Secrets
parameters:
- schema:
type: string
minLength: 1
in: query
name: projectSlug
required: true
description: The slug of the project to create dynamic secret in.
- schema:
type: string
default: /
in: query
name: path
required: false
description: The path to list folders from.
- schema:
type: string
minLength: 1
in: query
name: environmentSlug
required: true
description: The slug of the environment to list folders from.
- schema:
type: string
minLength: 1
in: path
name: leaseId
required: true
description: The ID of the dynamic secret lease.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
lease:
type: object
properties:
id:
type: string
format: uuid
version:
type: number
externalEntityId:
type: string
expireAt:
type: string
format: date-time
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
dynamicSecretId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
config:
nullable: true
dynamicSecret:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
type:
type: string
defaultTTL:
type: string
maxTTL:
type: string
nullable: true
folderId:
type: string
format: uuid
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectGatewayId:
type: string
format: uuid
nullable: true
gatewayId:
type: string
format: uuid
nullable: true
usernameTemplate:
type: string
nullable: true
gatewayV2Id:
type: string
format: uuid
nullable: true
gatewayPoolId:
type: string
format: uuid
nullable: true
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
required:
- id
- name
- version
- type
- defaultTTL
- folderId
- createdAt
- updatedAt
additionalProperties: false
required:
- id
- version
- externalEntityId
- expireAt
- dynamicSecretId
- createdAt
- updatedAt
- dynamicSecret
additionalProperties: false
required:
- lease
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/dynamic-secrets/leases/{leaseId}/renew:
post:
tags:
- Dynamic Secrets
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ttl:
type: string
description: The renew TTL that gets added with current expiry (ensure it's below max TTL) for a total less than creation time + max TTL.
projectSlug:
type: string
minLength: 1
description: The slug of the project of the dynamic secret in.
path:
type: string
minLength: 1
default: /
description: The path of the dynamic secret in.
environmentSlug:
type: string
minLength: 1
description: The slug of the environment of the dynamic secret in.
required:
- projectSlug
- environmentSlug
additionalProperties: false
parameters:
- schema:
type: string
minLength: 1
in: path
name: leaseId
required: true
description: The ID of the dynamic secret lease.
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
lease:
type: object
properties:
id:
type: string
format: uuid
version:
type: number
externalEntityId:
type: string
expireAt:
type: string
format: date-time
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
dynamicSecretId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
config:
nullable: true
required:
- id
- version
- externalEntityId
- expireAt
- dynamicSecretId
- createdAt
- updatedAt
additionalProperties: false
required:
- lease
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/dynamic-secrets/leases/kubernetes:
post:
tags:
- Dynamic Secrets
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
dynamicSecretName:
type: string
minLength: 1
description: The name of the dynamic secret.
projectSlug:
type: string
minLength: 1
description: The slug of the project of the dynamic secret in.
ttl:
type: string
description: The lease lifetime TTL. If not provided the default TTL of dynamic secret will be used.
path:
type: string
default: /
description: The path of the dynamic secret in.
environmentSlug:
type: string
minLength: 1
description: The slug of the environment of the dynamic secret in.
config:
type: object
properties:
namespace:
type: string
minLength: 1
description: The Kubernetes namespace to create the lease in. If not specified, the first namespace defined in the configuration will be used.
additionalProperties: false
required:
- dynamicSecretName
- projectSlug
- environmentSlug
additionalProperties: false
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
lease:
type: object
properties:
id:
type: string
format: uuid
version:
type: number
externalEntityId:
type: string
expireAt:
type: string
format: date-time
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
dynamicSecretId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
config:
nullable: true
required:
- id
- version
- externalEntityId
- expireAt
- dynamicSecretId
- createdAt
- updatedAt
additionalProperties: false
dynamicSecret:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
type:
type: string
defaultTTL:
type: string
maxTTL:
type: string
nullable: true
folderId:
type: string
format: uuid
status:
type: string
nullable: true
statusDetails:
type: string
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
projectGatewayId:
type: string
format: uuid
nullable: true
gatewayId:
type: string
format: uuid
nullable: true
usernameTemplate:
type: string
nullable: true
gatewayV2Id:
type: string
format: uuid
nullable: true
gatewayPoolId:
type: string
format: uuid
nullable: true
metadata:
type: array
items:
type: object
properties:
key:
type: string
minLength: 1
maxLength: 255
value:
type: string
maxLength: 1020
default: ''
required:
- key
additionalProperties: false
required:
- id
- name
- version
- type
- defaultTTL
- folderId
- createdAt
- updatedAt
additionalProperties: false
data: {}
required:
- lease
- dynamicSecret
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
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: An access token in Infisical