Visier Encryption Keys API

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).

OpenAPI Specification

visier-encryptionkeys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Visier Administration Encryption Keys API
  description: Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.<br>**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint.
  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: EncryptionKeys
  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`.

    <br>**Note:** <em>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).</em>'
paths:
  /v1alpha/admin/encryption-keys:
    get:
      tags:
      - EncryptionKeys
      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.\n\n <br>**Note:** <em>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.\n If you are interested in using this API, please contact your Customer Success Manager (CSM).</em>"
      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:
      - EncryptionKeys
      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`.\n \n 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.\n \n The maximum number of encryption keys per tenant is 5.\n\n <br>**Note:** <em>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.\n If you are interested in using this API, please contact your Customer Success Manager (CSM).</em>"
      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:
      - EncryptionKeys
      summary: Delete an encryption key
      description: "Delete a specific encryption key.\n\n <br>**Note:** <em>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.\n If you are interested in using this API, please contact your Customer Success Manager (CSM).</em>"
      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:
    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.
    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.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.
    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.
    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.
  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