Delinea KeyManagement API

View and configure Key Management settings

OpenAPI Specification

delinea-keymanagement-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Secret Server Rest Activations KeyManagement API
  description: REST API documentation for Secret Server. This document describes how to use the REST API. All requests require an authentication token; please see the <a href="../OAuth/">authentication document</a> for more information. The <a href="swagger.json">Swagger specification</a> for this API is also available.
  termsOfService: https://delinea.com/eula
  contact:
    name: Support
    url: https://delinea.com
  version: 11.7.2
servers:
- url: /SecretServer/api
security:
- BearerToken: []
tags:
- name: KeyManagement
  description: View and configure Key Management settings
paths:
  /v1/key-management:
    get:
      tags:
      - KeyManagement
      summary: Get Key Management Configuration
      description: Get the current or previous Key Management configuration
      operationId: KeyManagementService_Get
      responses:
        '200':
          description: KeyManagementConfigModel object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyManagementConfigModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '403':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationFailedResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      deprecated: false
    put:
      tags:
      - KeyManagement
      summary: Update Key Management Configuration
      description: Update the Key Management configuration
      operationId: KeyManagementService_Update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KeyManagementConfigUpdateArgs'
        description: Key Management Config update options
      responses:
        '200':
          description: KeyManagementConfigModel object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyManagementConfigModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '403':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationFailedResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      deprecated: false
  /v1/key-management/stub:
    get:
      tags:
      - KeyManagement
      summary: Get Key Management Config Stub
      description: Return the default values for a new Key Management Config
      operationId: KeyManagementService_Stub
      responses:
        '200':
          description: KeyManagementConfigModel object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyManagementConfigModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '403':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationFailedResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      deprecated: false
  /v1/key-management/mekrotationinfo:
    get:
      tags:
      - KeyManagement
      summary: Get Master Encryption Key Rotation Status Info
      description: Gets the status of Master Encryption Key Rotation
      operationId: KeyManagementService_GetMasterEncryptionKeyRotationInfo
      responses:
        '200':
          description: Status of Master Encryption Key Rotation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MEKRotationInfoResponseViewModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '403':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationFailedResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      deprecated: false
  /v1/key-management/audit:
    get:
      tags:
      - KeyManagement
      summary: Get a Master Encryption Key Rotation Audit List
      description: Search, filter, sort, and page Master Encryption Key Rotation Audits.
      operationId: KeyManagementService_SearchKeyRotationAudit
      parameters:
      - name: isExporting
        in: query
        description: isExporting
        required: false
        schema:
          type: boolean
      - name: filter.action
        in: query
        description: Action
        required: false
        schema:
          type: string
      - name: filter.date
        in: query
        description: Date
        required: false
        x-nullable: true
        schema:
          type: string
          format: date-time
      - name: filter.searchTerm
        in: query
        description: SearchTerm
        required: false
        schema:
          type: string
      - name: filter.userId
        in: query
        description: UserId
        required: false
        x-nullable: true
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: Number of records to skip before taking results
        required: false
        schema:
          type: integer
          format: int32
      - name: sortBy[0].direction
        in: query
        description: Sort direction
        required: false
        schema:
          type: string
      - name: sortBy[0].name
        in: query
        description: Sort field name
        required: false
        schema:
          type: string
      - name: sortBy[0].priority
        in: query
        description: Priority index. Sorts with lower values are executed earlier
        required: false
        schema:
          type: integer
          format: int32
      - name: take
        in: query
        description: Maximum number of records to include in results
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A paginated list of Master Encryption Key Rotation Audits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagingOfMasterEncryptionKeyRotationInfoAuditViewModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '403':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationFailedResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      deprecated: false
  /v1/key-management/audit/users:
    get:
      tags:
      - KeyManagement
      summary: Get a List of Unique Users from the Master Encryption Key Rotation Audit List
      description: Get a List of Unique Users from the Master Encryption Key Rotation Audit List
      operationId: KeyManagementService_GetKeyRotationAuditUsers
      responses:
        '200':
          description: A list of unique users from the Master Encryption Key Rotation Audits.
          content:
            application/json:
              schema:
                description: A list of unique users from the Master Encryption Key Rotation Audits.
                items:
                  $ref: '#/components/schemas/MasterEncryptionKeyRotationInfoAuditUserViewModel'
                type: array
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '403':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationFailedResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      deprecated: false
  /v1/key-management/startmekrotation:
    put:
      tags:
      - KeyManagement
      summary: Rotate Master Encryption Key
      description: Rotates the Master Encryption Key and marks data for rotation
      operationId: KeyManagementService_StartMasterEncryptionKeyRotation
      responses:
        '200':
          description: Whether the Master Encryption Key was rotated and a data rotation request initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MEKRotationInfoResponseViewModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '403':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationFailedResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      deprecated: false
  /v1/key-management/retrymekstatus:
    put:
      tags:
      - KeyManagement
      summary: Retry Master Encryption Key Status
      description: Retries Current Status of the Master Encryption Key Process
      operationId: KeyManagementService_RetryMasterEncryptionKeyStatus
      responses:
        '200':
          description: Whether the Master Encryption Key Rotation retry request was successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MEKRotationInfoResponseViewModel'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '403':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationFailedResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      deprecated: false
components:
  schemas:
    Sort:
      description: Sort options. Multiple sort options can be provided in the query string.
      required:
      - name
      - direction
      properties:
        direction:
          $ref: '#/components/schemas/SortDirection'
        name:
          description: Sort field name
          type: string
        priority:
          description: Priority index. Sorts with lower values are executed earlier
          type: integer
          format: int32
      type: object
    MEKRotationProcessStateTypes:
      description: ProcessState
      properties: {}
      type: string
      enum:
      - None
      - Completed
      - Pending
      - Running
      - Retry
      - Failed
    BadRequestResponse:
      description: Response object for invalid requests
      required:
      - message
      properties:
        message:
          description: Error message
          type: string
        messageDetail:
          description: Error message detail
          type: string
        errorCode:
          description: Error message code
          type: string
        modelState:
          description: An object describing validation errors
          type: object
      type: object
    KeyManagementConfigModel:
      description: KeyManagementConfigModel
      properties:
        awsKmsAccessKeyId:
          description: AwsKmsAccessKeyId
          type: string
        awsKmsKeyArn:
          description: AwsKmsKeyArn
          type: string
        awsKmsKeyId:
          description: AwsKmsKeyId
          type: string
        awsKmsSecretAccessKey:
          description: AwsKmsSecretAccessKey
          type: string
        keyManagementConfigId:
          description: KeyManagementConfigId
          type: integer
          format: int32
        keyManagementTypeId:
          description: KeyManagementTypeId
          type: integer
          format: int32
        keyManagementTypeName:
          description: KeyManagementTypeName
          type: string
      type: object
    PagingOfMasterEncryptionKeyRotationInfoAuditViewModel:
      description: Specify paging and sorting options for querying records and returning results
      properties:
        batchCount:
          description: Number of result batches available with current query options
          type: integer
          format: int32
        currentPage:
          description: Index of current result page
          type: integer
          format: int32
        hasNext:
          description: Whether there are any results in additional pages
          type: boolean
        hasPrev:
          description: Whether there are any results in previous pages
          type: boolean
        nextSkip:
          description: Correct value of 'skip' for the next page of results
          type: integer
          format: int32
        pageCount:
          description: Number of result pages available with current query options
          type: integer
          format: int32
        prevSkip:
          description: Correct value of 'skip' for the previous page of results
          type: integer
          format: int32
        records:
          description: Query results
          items:
            $ref: '#/components/schemas/MasterEncryptionKeyRotationInfoAuditViewModel'
          type: array
        severity:
          $ref: '#/components/schemas/Severity'
        skip:
          description: Number of records to skip before taking results
          type: integer
          format: int32
        sortBy:
          description: List of sort properties
          items:
            $ref: '#/components/schemas/Sort'
          type: array
        success:
          description: Whether the query executed successfully
          type: boolean
        take:
          description: Maximum number of records to include in results
          type: integer
          format: int32
        total:
          description: Total number of results available
          type: integer
          format: int32
      type: object
    SortDirection:
      description: Sort direction
      properties: {}
      type: string
      enum:
      - None
      - Asc
      - Desc
    MEKRotationInfoResponseViewModel:
      description: MEKRotationInfoResponseViewModel
      properties:
        canRequestRotation:
          description: CanRequestRotation
          type: boolean
        canRetryStatus:
          description: CanRetryStatus
          type: boolean
        errorMessage:
          description: ErrorMessage
          type: string
        hasPermission:
          description: HasPermission
          type: boolean
        isReplicationEnabled:
          description: IsReplicationEnabled
          type: boolean
        itemsToRotate:
          description: ItemsToRotate
          type: integer
          format: int32
        pollInfo:
          description: PollInfo
          type: boolean
        processState:
          $ref: '#/components/schemas/MEKRotationProcessStateTypes'
        rotationInfo:
          $ref: '#/components/schemas/MEKRotationInfoModel'
        showBackupConfirmation:
          description: ShowBackupConfirmation
          type: boolean
        totalItems:
          description: TotalItems
          type: integer
          format: int32
        warningMessage:
          description: WarningMessage
          type: string
      type: object
    MEKRotationInfoModel:
      description: RotationInfo
      properties:
        lastEndDateUtc:
          description: LastEndDateUtc
          type: string
          format: date-time
          nullable: true
        startedDateUtc:
          description: StartedDateUtc
          type: string
          format: date-time
          nullable: true
        status:
          description: Status
          type: string
        statusUpdatedDateUtc:
          description: StatusUpdatedDateUtc
          type: string
          format: date-time
          nullable: true
        statusValue:
          description: StatusValue
          type: integer
          format: int32
      type: object
    Severity:
      description: Error severity level
      properties: {}
      type: string
      enum:
      - None
      - Retry
      - Warn
      - Critical
      - Fatal
    MasterEncryptionKeyRotationInfoAuditViewModel:
      description: Query results
      properties:
        action:
          description: Action
          type: string
        currentStatus:
          $ref: '#/components/schemas/MasterEncryptionKeyRotationStatus'
        date:
          description: Date
          type: string
          format: date-time
        displayName:
          description: DisplayName
          type: string
        formattedDate:
          description: FormattedDate
          type: string
        masterEncryptionKeyRotationInfoAuditId:
          description: MasterEncryptionKeyRotationInfoAuditId
          type: integer
          format: int32
        masterEncryptionKeyRotationInfoId:
          description: MasterEncryptionKeyRotationInfoId
          type: integer
          format: int32
        notes:
          description: Notes
          type: string
        userId:
          description: UserId
          type: integer
          format: int32
        userName:
          description: UserName
          type: string
      type: object
    MasterEncryptionKeyRotationStatus:
      description: CurrentStatus
      properties: {}
      type: string
      enum:
      - NeverRun
      - RotationRequested
      - KeyRotationStarted
      - KeyRotationCompleted
      - PendingRestart
      - MarkDataStarted
      - MarkDataCompleted
      - DataRotationStarted
      - DataRotationCompleted
      - SessionDataRotationStarted
      - SessionDataRotationCompleted
      - ProcessCompletedWithErrorsBeforeRotation
      - ProcessFailedAfterRotation
    InternalServerErrorResponse:
      description: Response object for internal server errors
      required:
      - message
      - exceptionMessage
      - exceptionType
      - stackTrace
      properties:
        message:
          description: Error message
          type: string
        exceptionMessage:
          description: Error message from exception
          type: string
        exceptionType:
          description: Exception type
          type: string
        stackTrace:
          description: Exception stack trace
          type: string
      type: object
    AuthenticationFailedResponse:
      description: Response object for authentication failures
      required:
      - message
      properties:
        message:
          description: Error message
          type: string
      type: object
    KeyManagementConfigUpdateArgs:
      description: KeyManagementConfigUpdateArgs
      properties:
        awsKmsAccessKeyId:
          description: AwsKmsAccessKeyId
          type: string
        awsKmsKeyArn:
          description: AwsKmsKeyArn
          type: string
        awsKmsKeyId:
          description: AwsKmsKeyId
          type: string
        awsKmsSecretAccessKey:
          description: AwsKmsSecretAccessKey
          type: string
        azureKeyVaultBaseUrl:
          description: AzureKeyVaultBaseUrl
          type: string
        azureKeyVaultKeyName:
          description: AzureKeyVaultKeyName
          type: string
        azureKeyVaultKeyVersion:
          description: AzureKeyVaultKeyVersion
          type: string
        azureKeyVaultPrincipalId:
          description: AzureKeyVaultPrincipalId
          type: string
        azureKeyVaultPrincipalSecret:
          description: AzureKeyVaultPrincipalSecret
          type: string
        keyManagementTypeId:
          description: KeyManagementTypeId
          type: integer
          format: int32
      type: object
    MasterEncryptionKeyRotationInfoAuditUserViewModel:
      description: MasterEncryptionKeyRotationInfoAuditUserViewModel[]
      properties:
        displayName:
          description: DisplayName
          type: string
        userId:
          description: UserId
          type: integer
          format: int32
      type: object
  securitySchemes:
    BearerToken:
      type: apiKey
      description: 'Perform a POST request to `/oauth2/token`. It should include three form data parameters - `username`, `password`, and `grant_type`.The `grant_type` parameter should always have the value `password`.The access token returned should be included in the header of subsequent requests, like ''Authorization: Bearer <em>token</em>''. The token remains valid for a time period returned in the ''expires_in'' property (in seconds). For details, see the <a href="../OAuth/">token request documentation</a>.'
      name: Authorization
      in: header