openapi: 3.0.3 info: title: Infisical Admin Environments 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: Environments paths: /api/v1/workspace/{workspaceId}/environments/{envId}: get: tags: - Environments description: Get Environment parameters: - schema: type: string in: path name: workspaceId required: true description: The ID of the project the environment belongs to. - schema: type: string in: path name: envId required: true description: The ID of the environment to fetch. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - environment 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/workspace/environments/{envId}: get: tags: - Environments description: Get Environment by ID parameters: - schema: type: string in: path name: envId required: true description: The ID of the environment to fetch. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - environment 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/workspace/{workspaceId}/environments: post: tags: - Environments description: Create environment requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: The name of the environment to create. position: type: number minimum: 1 description: The position of the environment. The lowest number will be displayed as the first environment. slug: type: string minLength: 1 maxLength: 64 description: The slug of the environment to create. required: - name - slug additionalProperties: false parameters: - schema: type: string in: path name: workspaceId required: true description: The ID of the project to create the environment in. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string workspace: type: string environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - message - workspace - environment 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/workspace/{workspaceId}/environments/{id}: patch: tags: - Environments description: Update environment requestBody: required: true content: application/json: schema: type: object properties: slug: type: string minLength: 1 maxLength: 64 description: The new slug of the environment. name: type: string description: The new name of the environment. position: type: number description: The new position of the environment. The lowest number will be displayed as the first environment. additionalProperties: false parameters: - schema: type: string in: path name: workspaceId required: true description: The ID of the project to update the environment in. - schema: type: string in: path name: id required: true description: The ID of the environment to update. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string workspace: type: string environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - message - workspace - environment 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: - Environments description: Delete environment parameters: - schema: type: string in: path name: workspaceId required: true description: The ID of the project to delete the environment from. - schema: type: string in: path name: id required: true description: The ID of the environment to delete. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string workspace: type: string environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - message - workspace - environment 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/projects/{projectId}/environments/{envId}: get: operationId: getEnvironmentById tags: - Environments description: Get Environment by ID parameters: - schema: type: string in: path name: envId required: true description: The ID of the environment to fetch. - schema: type: string in: path name: projectId required: true description: The ID of the project the environment belongs to. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - environment 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/projects/{projectId}/environments: post: operationId: createEnvironment tags: - Environments description: Create environment requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: The name of the environment to create. position: type: number minimum: 1 description: The position of the environment. The lowest number will be displayed as the first environment. slug: type: string minLength: 1 maxLength: 64 description: The slug of the environment to create. required: - name - slug additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to create the environment in. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string projectId: type: string environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - message - projectId - environment 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/projects/{projectId}/environments/{id}: patch: operationId: updateEnvironment tags: - Environments description: Update environment requestBody: required: true content: application/json: schema: type: object properties: slug: type: string minLength: 1 maxLength: 64 description: The new slug of the environment. name: type: string description: The new name of the environment. position: type: number description: The new position of the environment. The lowest number will be displayed as the first environment. additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to update the environment in. - schema: type: string in: path name: id required: true description: The ID of the environment to update. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string projectId: type: string environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - message - projectId - environment additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteEnvironment tags: - Environments description: Delete environment parameters: - schema: type: string enum: - 'true' - 'false' in: query name: hardDelete required: false description: When true, permanently removes the environment. When false or omitted, the environment is soft-deleted (preserved and scheduled for permanent deletion after a grace period) and hidden from subsequent reads. - schema: type: string in: path name: projectId required: true description: The ID of the project to delete the environment from. - schema: type: string in: path name: id required: true description: The ID of the environment to delete. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string projectId: type: string environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - message - projectId - environment 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/projects/{projectId}/environments/{id}/restore: post: operationId: restoreEnvironment tags: - Environments description: Restore a soft-deleted environment parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project the environment belongs to. - schema: type: string in: path name: id required: true description: The ID of the soft-deleted environment to restore. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string projectId: type: string environment: type: object properties: id: type: string format: uuid name: type: string slug: type: string position: type: number projectId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deleteAfter: type: string format: date-time nullable: true softDeletedAt: type: string format: date-time nullable: true deletedByUserId: type: string format: uuid nullable: true deletedByIdentityId: type: string format: uuid nullable: true required: - id - name - slug - position - projectId - createdAt - updatedAt additionalProperties: false required: - message - projectId - environment 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