openapi: "3.0.0" info: version: 1.0.0 title: Secrets API description: Secret management endpoints paths: /api/v4/secrets: get: operationId: listSecretsV4 summary: List secrets for a project environment description: Returns all secrets in the specified project environment and path tags: - Secrets security: - jwt: [] - identityAccessToken: [] - serviceToken: [] parameters: - name: projectId in: query required: true schema: type: string - name: environment in: query required: true schema: type: string - name: secretPath in: query schema: type: string default: / - name: viewSecretValue in: query schema: type: boolean default: true - name: expandSecretReferences in: query schema: type: boolean default: true - name: recursive in: query schema: type: boolean default: false - name: includePersonalOverrides in: query schema: type: boolean default: false - name: includeImports in: query schema: type: boolean default: true - name: tagSlugs in: query schema: type: string - name: metadataFilter in: query schema: type: string responses: '200': description: List of secrets content: application/json: schema: type: object required: [secrets] properties: secrets: type: array items: $ref: '#/components/schemas/SecretRaw' imports: type: array items: $ref: '#/components/schemas/SecretImport' /api/v4/secrets/{secretName}: get: operationId: getSecretByNameV4 summary: Get a secret by name description: Returns a single secret by its name tags: - Secrets security: - jwt: [] - identityAccessToken: [] - serviceToken: [] parameters: - name: secretName in: path required: true schema: type: string minLength: 1 - name: projectId in: query required: true schema: type: string - name: environment in: query required: true schema: type: string - name: secretPath in: query schema: type: string default: / - name: version in: query schema: type: integer - name: type in: query schema: type: string enum: [shared, personal] default: shared - name: viewSecretValue in: query schema: type: boolean default: true - name: expandSecretReferences in: query schema: type: boolean default: true - name: includeImports in: query schema: type: boolean default: true responses: '200': description: The requested secret content: application/json: schema: type: object required: [secret] properties: secret: $ref: '#/components/schemas/SecretRaw' /api/v3/secrets/raw: get: operationId: listSecretsRawV3 summary: List raw secrets (deprecated) deprecated: true tags: - Secrets security: - jwt: [] - identityAccessToken: [] - serviceToken: [] parameters: - name: workspaceId in: query schema: type: string - name: workspaceSlug in: query schema: type: string - name: environment in: query schema: type: string - name: secretPath in: query schema: type: string default: / - name: viewSecretValue in: query schema: type: boolean default: true - name: expandSecretReferences in: query schema: type: boolean default: true - name: recursive in: query schema: type: boolean default: false - name: include_imports in: query schema: type: boolean default: true - name: tagSlugs in: query schema: type: string - name: metadataFilter in: query schema: type: string responses: '200': description: List of secrets content: application/json: schema: type: object required: [secrets] properties: secrets: type: array items: $ref: '#/components/schemas/SecretRaw' imports: type: array items: $ref: '#/components/schemas/SecretImport' /api/v3/secrets/raw/{secretName}: get: operationId: getSecretByNameRawV3 summary: Get a raw secret by name (deprecated) deprecated: true tags: - Secrets security: - jwt: [] - identityAccessToken: [] - serviceToken: [] parameters: - name: secretName in: path required: true schema: type: string minLength: 1 - name: workspaceId in: query schema: type: string - name: workspaceSlug in: query schema: type: string - name: environment in: query schema: type: string - name: secretPath in: query schema: type: string default: / - name: version in: query schema: type: integer - name: type in: query schema: type: string enum: [shared, personal] default: shared - name: viewSecretValue in: query schema: type: boolean default: true - name: expandSecretReferences in: query schema: type: boolean default: true - name: include_imports in: query schema: type: boolean default: true responses: '200': description: The requested secret content: application/json: schema: type: object required: [secret] properties: secret: $ref: '#/components/schemas/SecretRaw' components: schemas: SecretRaw: type: object required: [id, _id, workspace, environment, version, type, secretKey, secretValue, secretComment, createdAt, updatedAt, secretValueHidden] properties: id: type: string _id: type: string workspace: type: string environment: type: string version: type: integer type: type: string enum: [shared, personal] secretKey: type: string secretValue: type: string secretComment: type: string secretReminderNote: type: string secretReminderRepeatDays: type: integer skipMultilineEncoding: type: boolean createdAt: type: string updatedAt: type: string actor: $ref: '#/components/schemas/SecretActor' isRotatedSecret: type: boolean rotationId: type: string secretPath: type: string secretValueHidden: type: boolean secretMetadata: type: array items: $ref: '#/components/schemas/ResourceMetadata' tags: type: array items: $ref: '#/components/schemas/SecretTag' SecretImport: type: object required: [secretPath, environment, secrets] properties: secretPath: type: string environment: type: string folderId: type: string secrets: type: array items: $ref: '#/components/schemas/ImportSecretRaw' ImportSecretRaw: type: object required: [id, _id, workspace, environment, version, type, secretKey, secretValue, secretComment, secretValueHidden] properties: id: type: string _id: type: string workspace: type: string environment: type: string version: type: integer type: type: string enum: [shared, personal] secretKey: type: string secretValue: type: string secretComment: type: string secretReminderNote: type: string secretReminderRepeatDays: type: integer skipMultilineEncoding: type: boolean actor: $ref: '#/components/schemas/SecretActor' isRotatedSecret: type: boolean rotationId: type: string secretValueHidden: type: boolean secretMetadata: type: array items: $ref: '#/components/schemas/ResourceMetadata' SecretActor: type: object properties: actorId: type: string actorType: type: string name: type: string membershipId: type: string groupId: type: string SecretTag: type: object required: [id, slug, name] properties: id: type: string slug: type: string color: type: string name: type: string ResourceMetadata: type: object required: [key, value, isEncrypted] properties: key: type: string value: type: string isEncrypted: type: boolean