openapi: 3.2.0 info: title: Visier Administration Encryption Keys API description: Visier APIs for managing your tenant or tenants in Visier. license: name: Apache License, Version 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: 22222222.99201.3040 security: - ApiKeyAuth: [] BearerAuth: [] - ApiKeyAuth: [] CookieAuth: [] - ApiKeyAuth: [] OAuth2Auth: [] tags: - name: Encryption Keys x-displayName: Encryption Keys description: 'Manage the encryption keys in your Visier tenant. Administrating tenants can specify the tenant in which to manage keys using the `TargetTenantID` header. For PGP keys, see `/v1/api/pgp-keys`. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).' paths: /v1alpha/admin/encryption-keys: get: tags: - Encryption Keys summary: Retrieve a list of all encryption keys description: 'Retrieve a list of all encryption keys. The response returns information about each key, including the key name, algorithm, user who generated the key, the generation date, and expiration date. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).' operationId: EncryptionKeys_ListAllEncryptionKeysMetadata responses: default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/designer.crypto.TenantEncryptionKeyDetailListDTO' post: tags: - Encryption Keys summary: Generate an encryption key description: 'Create an encryption key using a specific algorithm. The algorithm must be one of `HmacSHA224`, `HmacSHA256`, `HmacSHA384`, or `HmacSHA512`. In the request body, set the algorithm, give the key a display name and, optionally, set the UTC expiration date for the key pair in ISO-8601 format. Must be between 2 and 10 years. Default is 2 years. The maximum number of encryption keys per tenant is 5. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).' operationId: EncryptionKeys_GenerateEncryptionKeys requestBody: content: application/json: schema: $ref: '#/components/schemas/designer.crypto.GenerateKeyRequestDTO' required: true responses: default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/designer.crypto.TenantEncryptionKeyDTO' /v1alpha/admin/encryption-keys/{keyName}: delete: tags: - Encryption Keys summary: Delete an encryption key description: 'Delete a specific encryption key. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).' operationId: EncryptionKeys_DeleteEncryptionKeys parameters: - name: keyName in: path description: The encryption key's display name. The name may only contain alphanumeric or dash (-) characters and must be between 3 and 36 characters long. required: true schema: type: string responses: default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/admin.KeyName' components: schemas: Status: type: object properties: localizedMessage: type: string description: Localized error message describing the root cause of the error. code: type: string description: Error classification. message: type: string description: Not used. rci: type: string description: Optional root cause identifier. userError: type: boolean description: Indicates whether the error is a user error. description: The response structure for errors. designer.crypto.GenerateKeyRequestDTO: type: object properties: keyName: type: string description: The encryption key's display name. The name may only contain alphanumeric or dash (-) characters and must be between 6 and 36 characters long. expiryDate: type: string description: The UTC expiration date of the key in ISO-8601 format. Must be between 2 and 10 years. Default is 2 years. algorithm: type: string description: The hash-based message authentication code and cryptographic hash function associated with the encryption key. Must be one of `HmacSHA224`, `HmacSHA256`, `HmacSHA384`, or `HmacSHA512`. description: The settings to define for an encryption key. designer.crypto.TenantEncryptionKeyDetailsDTO: type: object properties: keyName: type: string description: The encryption key's display name. The name may only contain alphanumeric or dash (-) characters and must be between 6 and 36 characters long. algorithm: type: string description: The hash-based message authentication code and cryptographic hash function associated with the encryption key. generatedBy: type: string description: The user who generated the key. dateGenerated: type: string description: The UTC date that the key was generated in milliseconds since the Unix epoch. expiryDate: type: string description: The UTC expiration date of the key in milliseconds since the Unix epoch. description: Information about who generated an encryption key, its key name, algorithm, generation date, and expiration date. designer.crypto.TenantEncryptionKeyDTO: type: object properties: detail: allOf: - $ref: '#/components/schemas/designer.crypto.TenantEncryptionKeyDetailsDTO' description: Information about an encryption key. key: type: string description: The encryption key value. description: The details of an encryption key. designer.crypto.TenantEncryptionKeyDetailListDTO: type: object properties: keyDetails: type: array items: $ref: '#/components/schemas/designer.crypto.TenantEncryptionKeyDetailsDTO' description: Information about a list of encryption keys. description: A list of encryption keys. admin.KeyName: type: object properties: keyName: type: string description: The encryption key's display name. The name may only contain alphanumeric or dash (-) characters and must be between 3 and 36 characters long. securitySchemes: CookieAuth: type: apiKey name: VisierASIDToken in: cookie ApiKeyAuth: type: apiKey name: apikey in: header BearerAuth: type: http scheme: bearer OAuth2Auth: type: oauth2 flows: authorizationCode: authorizationUrl: /v1/auth/oauth2/authorize tokenUrl: /v1/auth/oauth2/token scopes: read: Grants read access write: Grants write access password: tokenUrl: /v1/auth/oauth2/token scopes: read: Grants read access write: Grants write access x-tagGroups: - name: administration tags: - Projects - ProductionVersions - UsersV3 - UsersV2 - UserGroupsV2 - UsersV1 - Profiles - Permissions - TenantsV2 - TenantsV1 - ConsolidatedAnalytics - Sources - SystemStatus - EmailDomains - EncryptionKeys - NetworkSubnets - SidecarSolutions - ReleaseVersionConfiguration - VeeConfiguration