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