Infisical Folders API
The Folders API from Infisical — 16 operation(s) for folders.
The Folders API from Infisical — 16 operation(s) for folders.
openapi: 3.0.3
info:
title: Infisical Admin Folders 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: Folders
paths:
/api/v1/folders:
post:
tags:
- Folders
description: Create folders
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
workspaceId:
type: string
description: The ID of the project to create the folder in.
environment:
type: string
description: The slug of the environment to create the folder in.
name:
type: string
description: The name of the folder to create.
path:
type: string
default: /
description: The path of the folder to create.
directory:
type: string
default: /
description: The directory of the folder to create. (Deprecated in favor of path)
description:
type: string
nullable: true
description: An optional description label for the folder.
required:
- workspaceId
- environment
- name
additionalProperties: false
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
folder:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
default: 1
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
envId:
type: string
format: uuid
parentId:
type: string
format: uuid
nullable: true
isReserved:
type: boolean
default: false
nullable: true
description:
type: string
nullable: true
lastSecretModified:
type: string
format: date-time
nullable: true
path:
type: string
required:
- id
- name
- createdAt
- updatedAt
- envId
- path
additionalProperties: false
required:
- folder
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:
- Folders
description: Get folders
parameters:
- schema:
type: string
in: query
name: workspaceId
required: true
description: The ID of the project to list folders from.
- schema:
type: string
in: query
name: environment
required: true
description: The slug of the environment to list folders from.
- schema:
type: string
format: date-time
in: query
name: lastSecretModified
required: false
description: The timestamp used to filter folders with secrets modified after the specified date. The format for this timestamp is ISO 8601 (e.g. 2025-04-01T09:41:45-04:00)
- schema:
type: string
in: query
name: path
required: false
description: The path to list folders from.
- schema:
type: string
in: query
name: directory
required: false
description: The directory to list folders from. (Deprecated in favor of path)
- schema:
anyOf:
- type: boolean
- type: string
default: false
in: query
name: recursive
required: false
description: Whether or not to fetch all folders from the specified base path, and all of its subdirectories.
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
folders:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
default: 1
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
envId:
type: string
format: uuid
parentId:
type: string
format: uuid
nullable: true
isReserved:
type: boolean
default: false
nullable: true
description:
type: string
nullable: true
lastSecretModified:
type: string
format: date-time
nullable: true
relativePath:
type: string
required:
- id
- name
- createdAt
- updatedAt
- envId
additionalProperties: false
required:
- folders
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/folders/{folderId}:
patch:
tags:
- Folders
description: Update folder
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
workspaceId:
type: string
description: The ID of the project where the folder is located.
environment:
type: string
description: The slug of the environment where the folder is located.
name:
type: string
description: The new name of the folder.
path:
type: string
default: /
description: The path of the folder to update.
directory:
type: string
default: /
description: The new directory of the folder to update. (Deprecated in favor of path)
description:
type: string
nullable: true
description: An optional description label for the folder.
required:
- workspaceId
- environment
- name
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: folderId
required: true
description: The ID of the folder to update.
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
folder:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
default: 1
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
envId:
type: string
format: uuid
parentId:
type: string
format: uuid
nullable: true
isReserved:
type: boolean
default: false
nullable: true
description:
type: string
nullable: true
lastSecretModified:
type: string
format: date-time
nullable: true
path:
type: string
required:
- id
- name
- createdAt
- updatedAt
- envId
- path
additionalProperties: false
required:
- folder
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/folders/batch:
patch:
tags:
- Folders
description: Update folders by batch
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectSlug:
type: string
description: The slug of the project where the folder is located.
folders:
type: array
items:
type: object
properties:
id:
type: string
description: The ID of the folder to update.
environment:
type: string
description: The slug of the environment where the folder is located.
name:
type: string
description: The new name of the folder.
path:
type: string
default: /
description: The path of the folder to update.
description:
type: string
nullable: true
description: An optional description label for the folder.
required:
- id
- environment
- name
additionalProperties: false
minItems: 1
required:
- projectSlug
- folders
additionalProperties: false
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
folders:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
default: 1
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
envId:
type: string
format: uuid
parentId:
type: string
format: uuid
nullable: true
isReserved:
type: boolean
default: false
nullable: true
description:
type: string
nullable: true
lastSecretModified:
type: string
format: date-time
nullable: true
required:
- id
- name
- createdAt
- updatedAt
- envId
additionalProperties: false
required:
- folders
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/folders/{folderIdOrName}:
delete:
tags:
- Folders
description: Delete a folder
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
workspaceId:
type: string
description: The ID of the project to delete the folder from.
environment:
type: string
description: The slug of the environment where the folder is located.
path:
type: string
default: /
description: The path of the folder to delete.
directory:
type: string
default: /
description: The directory of the folder to delete. (Deprecated in favor of path)
required:
- workspaceId
- environment
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: folderIdOrName
required: true
description: The ID or name of the folder to delete.
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
folder:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
version:
type: number
default: 1
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
envId:
type: string
format: uuid
parentId:
type: string
format: uuid
nullable: true
isReserved:
type: boolean
default: false
nullable: true
description:
type: string
nullable: true
lastSecretModified:
type: string
format: date-time
nullable: true
required:
- id
- name
- createdAt
- updatedAt
- envId
additionalProperties: false
required:
- folder
additionalProperties: false
'400':
# --- truncated at 32 KB (153 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infisical/refs/heads/main/openapi/infisical-folders-api-openapi.yml