openapi: 3.0.3 info: title: Infisical Admin Projects 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: Projects paths: /api/v1/workspace/{workspaceId}/secret-snapshots: get: tags: - Projects description: Return project secret snapshots ids parameters: - schema: type: string in: query name: environment required: true description: The environment to get snapshots from. - schema: type: string default: / in: query name: path required: false description: The secret path to get snapshots from. - schema: type: number default: 0 in: query name: offset required: false description: The offset to start from. If you enter 10, it will start from the 10th snapshot. - schema: type: number default: 20 in: query name: limit required: false description: The number of snapshots to return. - schema: type: string in: path name: workspaceId required: true description: The ID of the project to get snapshots from. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: secretSnapshots: type: array items: type: object properties: id: type: string format: uuid envId: type: string format: uuid folderId: type: string format: uuid parentFolderId: type: string format: uuid nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - envId - folderId - createdAt - updatedAt additionalProperties: false required: - secretSnapshots 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}/secret-snapshots: get: tags: - Projects description: Return project secret snapshots ids parameters: - schema: type: string in: query name: environment required: true description: The environment to get snapshots from. - schema: type: string default: / in: query name: path required: false description: The secret path to get snapshots from. - schema: type: number default: 0 in: query name: offset required: false description: The offset to start from. If you enter 10, it will start from the 10th snapshot. - schema: type: number default: 20 in: query name: limit required: false description: The number of snapshots to return. - schema: type: string in: path name: projectId required: true description: The ID of the project to get snapshots from. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: secretSnapshots: type: array items: type: object properties: id: type: string format: uuid envId: type: string format: uuid folderId: type: string format: uuid parentFolderId: type: string format: uuid nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - envId - folderId - createdAt - updatedAt additionalProperties: false required: - secretSnapshots 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}: get: tags: - Projects description: Get project parameters: - schema: type: string in: path name: workspaceId required: true description: The ID of the project. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: workspace: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true _id: type: string environments: type: array items: type: object properties: name: type: string slug: type: string id: type: string required: - name - slug - id additionalProperties: false required: - id - name - type - slug - orgId - createdAt - updatedAt - _id - environments additionalProperties: false 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: - Projects description: Delete project parameters: - schema: type: string in: path name: workspaceId required: true description: The ID of the project to delete. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: workspace: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true required: - id - name - type - slug - orgId - createdAt - updatedAt additionalProperties: false 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 patch: tags: - Projects description: Update project requestBody: required: true content: application/json: schema: type: object properties: name: type: string maxLength: 64 description: The new name of the project. description: type: string maxLength: 1024 description: An optional description label for the project. autoCapitalization: type: boolean description: Disable or enable auto-capitalization for the project. hasDeleteProtection: type: boolean description: Enable or disable delete protection for the project. slug: type: string maxLength: 64 description: An optional slug for the project. (must be unique within the organization) secretSharing: type: boolean description: Enable or disable secret sharing for the project. showSnapshotsLegacy: type: boolean description: Enable or disable legacy snapshots for the project. defaultProduct: type: string enum: - secret-manager - cert-manager - kms - ssh - secret-scanning - pam - ai description: The default product in which the project will open secretDetectionIgnoreValues: type: array items: type: string description: The list of secret values to ignore for secret detection. additionalProperties: false parameters: - schema: type: string in: path name: workspaceId required: true description: The ID of the project to update. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: workspace: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true required: - id - name - type - slug - orgId - createdAt - updatedAt additionalProperties: false required: - workspace 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: post: operationId: createProject tags: - Projects description: Create a new project requestBody: required: true content: application/json: schema: type: object properties: projectName: type: string maxLength: 64 description: The name of the project to create. projectDescription: type: string maxLength: 1024 description: An optional description label for the project. slug: type: string minLength: 5 maxLength: 36 description: An optional slug for the project. kmsKeyId: type: string template: type: string minLength: 1 maxLength: 64 default: default description: The name of the project template, if specified, to apply to this project. type: type: string enum: - secret-manager - cert-manager - kms - ssh - secret-scanning - pam - ai default: secret-manager shouldCreateDefaultEnvs: type: boolean default: true hasDeleteProtection: type: boolean default: false required: - projectName additionalProperties: false security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: project: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true _id: type: string environments: type: array items: type: object properties: name: type: string slug: type: string id: type: string required: - name - slug - id additionalProperties: false deletedEnvironments: type: array items: type: object properties: id: type: string name: type: string slug: type: string deleteAfter: type: string format: date-time softDeletedAt: type: string format: date-time deletedBy: anyOf: - type: object properties: type: type: string enum: - user id: type: string email: type: string nullable: true username: type: string nullable: true firstName: type: string nullable: true lastName: type: string nullable: true required: - type - id - email - username - firstName - lastName additionalProperties: false - type: object properties: type: type: string enum: - identity id: type: string name: type: string required: - type - id - name additionalProperties: false nullable: true required: - id - name - slug - deleteAfter - softDeletedAt - deletedBy additionalProperties: false required: - id - name - type - slug - orgId - createdAt - updatedAt - _id - environments - deletedEnvironments additionalProperties: false required: - project additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false get: operationId: listProjects tags: - Projects description: List projects parameters: - schema: type: string enum: - 'true' - 'false' default: 'false' in: query name: includeRoles required: false - schema: type: string enum: - secret-manager - cert-manager - kms - ssh - secret-scanning - pam - ai in: query name: type required: false security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: projects: type: array items: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true _id: type: string environments: type: array items: type: object properties: name: type: string slug: type: string id: type: string required: - name - slug - id additionalProperties: false deletedEnvironments: type: array items: type: object properties: id: type: string name: type: string slug: type: string deleteAfter: type: string format: date-time softDeletedAt: type: string format: date-time deletedBy: anyOf: - type: object properties: type: type: string enum: - user id: type: string email: type: string nullable: true username: type: string nullable: true firstName: type: string nullable: true lastName: type: string nullable: true required: - type - id - email - username - firstName - lastName additionalProperties: false - type: object properties: type: type: string enum: - identity id: type: string name: type: string required: - type - id - name additionalProperties: false nullable: true required: - id - name - slug - deleteAfter - softDeletedAt - deletedBy additionalProperties: false roles: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true slug: type: string permissions: {} createdAt: type: string format: date-time updatedAt: type: string format: date-time projectId: type: string version: type: number default: 1 required: - id - name - slug - createdAt - updatedAt - projectId additionalProperties: false required: - id - name - type - slug - orgId - createdAt - updatedAt - _id - environments - deletedEnvironments additionalProperties: false required: - projects 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}: get: operationId: getProjectById tags: - Projects description: Get project parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: project: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true _id: type: string environments: type: array items: type: object properties: name: type: string slug: type: string id: type: string required: - name - slug - id additionalProperties: false deletedEnvironments: type: array items: type: object properties: id: type: string name: type: string slug: type: string deleteAfter: type: string format: date-time softDeletedAt: type: string format: date-time deletedBy: anyOf: - type: object properties: type: type: string enum: - user id: type: string email: type: string nullable: true username: type: string nullable: true firstName: type: string nullable: true lastName: type: string nullable: true required: - type - id - email - username - firstName - lastName additionalProperties: false - type: object properties: type: type: string enum: - identity id: type: string name: type: string required: - type - id - name additionalProperties: false nullable: true required: - id - name - slug - deleteAfter - softDeletedAt - deletedBy additionalProperties: false required: - id - name - type - slug - orgId - createdAt - updatedAt - _id - environments - deletedEnvironments additionalProperties: false 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: deleteProject tags: - Projects description: Delete project parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to delete. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: project: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true required: - id - name - type - slug - orgId - createdAt - updatedAt additionalProperties: false 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 patch: operationId: updateProject tags: - Projects description: Update project requestBody: required: true content: application/json: schema: type: object properties: name: type: string maxLength: 64 description: The new name of the project. description: type: string maxLength: 1024 description: An optional description label for the project. autoCapitalization: type: boolean description: Disable or enable auto-capitalization for the project. hasDeleteProtection: type: boolean description: Enable or disable delete protection for the project. enforceEncryptedSecretManagerSecretMetadata: type: boolean description: Enable or disable enforcement of encrypted secret metadata for the project. slug: type: string maxLength: 64 description: An optional slug for the project. (must be unique within the organization) secretSharing: type: boolean description: Enable or disable secret sharing for the project. showSnapshotsLegacy: type: boolean description: Enable or disable legacy snapshots for the project. secretDetectionIgnoreValues: type: array items: type: string description: The list of secret values to ignore for secret detection. pitVersionLimit: type: number minimum: 1 maximum: 100 additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to update. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: project: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true required: - id - name - type - slug - orgId - createdAt - updatedAt additionalProperties: false required: - project 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/slug/{slug}: get: operationId: getProjectBySlug tags: - Projects description: Get project details by slug parameters: - schema: type: string minLength: 1 maxLength: 64 in: path name: slug required: true description: The slug of the project to get. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true _id: type: string environments: type: array items: type: object properties: name: type: string slug: type: string id: type: string required: - name - slug - id additionalProperties: false deletedEnvironments: type: array items: type: object properties: id: type: string name: type: string slug: type: string deleteAfter: type: string format: date-time softDeletedAt: type: string format: date-time deletedBy: anyOf: - type: object properties: type: type: string enum: - user id: type: string email: type: string nullable: true username: type: string nullable: true firstName: type: string nullable: true lastName: type: string nullable: true required: - type - id - email - username - firstName - lastName additionalProperties: false - type: object properties: type: type: string enum: - identity id: type: string name: type: string required: - type - id - name additionalProperties: false nullable: true required: - id - name - slug - deleteAfter - softDeletedAt - deletedBy additionalProperties: false required: - id - name - type - slug - orgId - createdAt - updatedAt - _id - environments - deletedEnvironments 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}/secret-validation-rules: get: parameters: - schema: type: string in: path name: projectId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: rules: type: array items: allOf: - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true projectId: type: string envId: type: string format: uuid nullable: true secretPath: type: string isActive: type: boolean default: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - projectId - secretPath - createdAt - updatedAt - anyOf: - type: object properties: type: type: string enum: - static-secrets inputs: type: object properties: constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - dynamic-secrets inputs: type: object properties: providers: type: array items: type: string enum: - sql-database - milvus minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - secret-rotations inputs: type: object properties: providers: type: array items: type: string enum: - postgres-credentials minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false required: - rules 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 tags: - Projects post: requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 100 description: type: string maxLength: 500 nullable: true environmentSlug: type: string minLength: 1 secretPath: type: string minLength: 1 rule: anyOf: - type: object properties: type: type: string enum: - static-secrets inputs: type: object properties: constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - dynamic-secrets inputs: type: object properties: providers: type: array items: type: string enum: - sql-database - milvus minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - secret-rotations inputs: type: object properties: providers: type: array items: type: string enum: - postgres-credentials minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false required: - name - secretPath - rule additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: rule: allOf: - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true projectId: type: string envId: type: string format: uuid nullable: true secretPath: type: string isActive: type: boolean default: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - projectId - secretPath - createdAt - updatedAt - anyOf: - type: object properties: type: type: string enum: - static-secrets inputs: type: object properties: constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - dynamic-secrets inputs: type: object properties: providers: type: array items: type: string enum: - sql-database - milvus minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - secret-rotations inputs: type: object properties: providers: type: array items: type: string enum: - postgres-credentials minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false required: - rule 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 tags: - Projects /api/v1/projects/{projectId}/secret-validation-rules/{ruleId}: patch: requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 100 description: type: string maxLength: 500 nullable: true environmentSlug: type: string minLength: 1 nullable: true secretPath: type: string minLength: 1 type: type: string enum: - static-secrets - dynamic-secrets - secret-rotations inputs: type: object properties: {} additionalProperties: true isActive: type: boolean additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true - schema: type: string format: uuid in: path name: ruleId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: rule: allOf: - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true projectId: type: string envId: type: string format: uuid nullable: true secretPath: type: string isActive: type: boolean default: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - projectId - secretPath - createdAt - updatedAt - anyOf: - type: object properties: type: type: string enum: - static-secrets inputs: type: object properties: constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - dynamic-secrets inputs: type: object properties: providers: type: array items: type: string enum: - sql-database - milvus minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - secret-rotations inputs: type: object properties: providers: type: array items: type: string enum: - postgres-credentials minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false required: - rule 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 tags: - Projects delete: parameters: - schema: type: string in: path name: projectId required: true - schema: type: string format: uuid in: path name: ruleId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: rule: allOf: - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true projectId: type: string envId: type: string format: uuid nullable: true secretPath: type: string isActive: type: boolean default: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - projectId - secretPath - createdAt - updatedAt - anyOf: - type: object properties: type: type: string enum: - static-secrets inputs: type: object properties: constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - dynamic-secrets inputs: type: object properties: providers: type: array items: type: string enum: - sql-database - milvus minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false - type: object properties: type: type: string enum: - secret-rotations inputs: type: object properties: providers: type: array items: type: string enum: - postgres-credentials minItems: 1 constraints: type: array items: type: object properties: type: type: string enum: - min-length - max-length - regex-pattern - required-prefix - required-suffix - prevent-value-reuse appliesTo: type: string enum: - key - value - password value: type: string required: - type - appliesTo - value additionalProperties: false minItems: 1 required: - providers - constraints additionalProperties: false required: - type - inputs additionalProperties: false required: - rule 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 tags: - Projects /api/v2/workspace: post: tags: - Projects description: Create a new project requestBody: required: true content: application/json: schema: type: object properties: projectName: type: string maxLength: 64 description: The name of the project to create. projectDescription: type: string maxLength: 1024 description: An optional description label for the project. slug: type: string minLength: 5 maxLength: 36 description: An optional slug for the project. kmsKeyId: type: string template: type: string minLength: 1 maxLength: 64 default: default description: The name of the project template, if specified, to apply to this project. type: type: string enum: - secret-manager - cert-manager - kms - ssh - secret-scanning - pam - ai default: secret-manager shouldCreateDefaultEnvs: type: boolean default: true hasDeleteProtection: type: boolean default: false required: - projectName additionalProperties: false security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: project: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true _id: type: string environments: type: array items: type: object properties: name: type: string slug: type: string id: type: string required: - name - slug - id additionalProperties: false kmsSecretManagerKeyId: type: string nullable: true required: - id - name - type - slug - orgId - createdAt - updatedAt - _id - environments additionalProperties: false required: - project 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/v2/workspace/{slug}: delete: tags: - Projects description: Delete project parameters: - schema: type: string minLength: 5 maxLength: 64 in: path name: slug required: true description: The slug of the project to delete. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true required: - id - name - type - slug - orgId - createdAt - updatedAt 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: - Projects description: Get project details by slug parameters: - schema: type: string minLength: 1 maxLength: 64 in: path name: slug required: true description: The slug of the project to get. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string name: type: string description: type: string nullable: true type: type: string defaultProduct: type: string nullable: true slug: type: string autoCapitalization: type: boolean default: false nullable: true orgId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: number default: 1 upgradeStatus: type: string nullable: true pitVersionLimit: type: number default: 10 kmsCertificateKeyId: type: string format: uuid nullable: true auditLogsRetentionDays: type: number nullable: true hasDeleteProtection: type: boolean default: false nullable: true secretSharing: type: boolean default: true showSnapshotsLegacy: type: boolean default: false secretDetectionIgnoreValues: type: array items: type: string nullable: true enforceEncryptedSecretManagerSecretMetadata: type: boolean nullable: true _id: type: string environments: type: array items: type: object properties: name: type: string slug: type: string id: type: string required: - name - slug - id additionalProperties: false kmsSecretManagerKeyId: type: string nullable: true required: - id - name - type - slug - orgId - createdAt - updatedAt - _id - environments 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