openapi: 3.1.0
info:
  title: Uncategorized API
  description: Various uncategorized REST APIs of the platform
  contact:
    name: ILM
    url: https://www.otilm.com
    email: ilm@omnitrust.com
  license:
    name: "Apache License, Version 2.0"
    url: https://github.com/OmniTrustILM/interface-documentation/blob/main/LICENSE.md
  version: 2.20.0
  x-logo:
    url: images/ilm-logo.svg
externalDocs:
  description: ILM Documentation
  url: https://docs.otilm.com
servers:
- url: https://demo.otilm.com/api
  description: ILM Demo server
tags:
- name: Custom OID Management
  description: Custom OID Management API
- name: Audit Log
  description: Audit Log API
- name: Enums
  description: Enums API
- name: Info
  description: Platform Application Information API
- name: Branding
  description: Public branding API
- name: Resource Management
  description: Resource Management API
- name: Statistics/Dashboard
  description: Statistics/Dashboard API
- name: List View
  description: "List View API that manages the saved column selections of the logged\
    \ user. A view belongs to one user and one resource; views are never shared between\
    \ users, so every operation here acts on the views of the user the request is\
    \ authenticated as."
- name: Settings
  description: Settings API
paths:
  /v1/settings/platform:
    get:
      tags:
      - Settings
      summary: Get platform settings
      operationId: getPlatformSettings
      responses:
        "200":
          description: Platform settings retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PlatformSettingsDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    put:
      tags:
      - Settings
      summary: Update platform settings
      description: "**Request semantics:** a section left out of the body (`utils`,\
        \ `certificates`) is left untouched. A `utils` that is present is stored as\
        \ sent, so it carries the full desired state of that section: a field left\
        \ out is cleared, or returns to the platform default where it has one. Inside\
        \ `certificates`, each group (`validation`, `requestAttributes`, `registration`)\
        \ behaves the same way as a section: one left out is untouched, one that is\
        \ present is stored as sent."
      operationId: updatePlatformSettings
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PlatformSettingsUpdateDto"
        required: true
      responses:
        "200":
          description: Settings updated
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/settings/platform/branding:
    get:
      tags:
      - Settings
      summary: Get platform branding
      description: "Reads the branding category of the platform settings. Branding\
        \ is also returned by `GET /v1/settings/platform`; only the write is split\
        \ onto a dedicated endpoint, because reading it takes the same grant either\
        \ way."
      operationId: getBrandingSettings
      responses:
        "200":
          description: Platform branding retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BrandingSettingsDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    put:
      tags:
      - Settings
      summary: Update platform branding
      description: |-
        The only way to write branding.

        **Authorization:** gated by `UPDATE_BRANDING`, a narrower action than the `UPDATE` that gates the rest of settings. Authorization is applied per endpoint. Branding is therefore deliberately absent from the `PUT /v1/settings/platform` body. Carried there, it would be writable by anyone holding plain `UPDATE`, leaving `UPDATE_BRANDING` nothing extra to grant.

        **Request semantics:** the request carries the full desired state. A field left out clears that part of the branding.
      operationId: updateBrandingSettings
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BrandingSettingsUpdateDto"
        required: true
      responses:
        "204":
          description: Platform branding updated
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/settings/logging:
    get:
      tags:
      - Settings
      summary: Get logging settings
      operationId: getLoggingSettings
      responses:
        "200":
          description: Logging settings retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LoggingSettingsDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    put:
      tags:
      - Settings
      summary: Update logging settings
      operationId: updateLoggingSettings
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LoggingSettingsDto"
        required: true
      responses:
        "200":
          description: Logging settings updated
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/settings/events:
    get:
      tags:
      - Settings
      summary: Get events settings
      operationId: getEventsSettings
      responses:
        "200":
          description: Notification settings retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EventsSettingsDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    put:
      tags:
      - Settings
      summary: Update multiple events settings
      operationId: updateEventsSettings
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EventsSettingsDto"
        required: true
      responses:
        "204":
          description: Setting updated
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    patch:
      tags:
      - Settings
      summary: Update single event settings
      operationId: updateEventSettings
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EventSettingsDto"
        required: true
      responses:
        "204":
          description: Setting updated
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/settings/authentication:
    get:
      tags:
      - Settings
      summary: Get authentication settings
      operationId: getAuthenticationSettings
      responses:
        "200":
          description: Authentication settings retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationSettingsDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    put:
      tags:
      - Settings
      summary: Update authentication settings
      operationId: updateAuthenticationSettings
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AuthenticationSettingsUpdateDto"
        required: true
      responses:
        "200":
          description: Authentication settings updated
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/settings/authentication/oauth2Providers/{providerName}:
    get:
      tags:
      - Settings
      summary: Get OAuth2 Provider settings
      operationId: getOAuth2ProviderSettings
      parameters:
      - name: providerName
        in: path
        description: OAuth2 Provider Name
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OAuth2 Provider settings retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OAuth2ProviderSettingsResponseDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    put:
      tags:
      - Settings
      summary: Update OAuth2 Provider settings
      operationId: updateOAuth2ProviderSettings
      parameters:
      - name: providerName
        in: path
        description: OAuth2 Provider Name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OAuth2ProviderSettingsUpdateDto"
        required: true
      responses:
        "204":
          description: Setting updated
        "400":
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    delete:
      tags:
      - Settings
      summary: Remove OAuth2 Provider
      operationId: removeOAuth2Provider
      parameters:
      - name: providerName
        in: path
        description: OAuth2 Provider Name
        required: true
        schema:
          type: string
      responses:
        "204":
          description: OAuth2 Provider removed.
        "400":
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/oids/{oid}:
    get:
      tags:
      - Custom OID Management
      summary: Get custom OID entry by OID
      operationId: getCustomOidEntry
      parameters:
      - name: oid
        in: path
        description: OID identifier
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Custom OID entry retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomOidEntryDetailResponseDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    put:
      tags:
      - Custom OID Management
      summary: Edit an existing custom OID entry
      operationId: editCustomOidEntry
      parameters:
      - name: oid
        in: path
        description: OID identifier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CustomOidEntryUpdateRequestDto"
        required: true
      responses:
        "200":
          description: Custom OID entry updated
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomOidEntryDetailResponseDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    delete:
      tags:
      - Custom OID Management
      summary: Delete a custom OID entry by OID
      operationId: deleteCustomOidEntry
      parameters:
      - name: oid
        in: path
        description: OID identifier
        required: true
        schema:
          type: string
      responses:
        "204":
          description: Custom OID entry deleted
        "400":
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/listViews/{uuid}:
    put:
      tags:
      - List View
      summary: Edit a view of logged user
      operationId: editView
      parameters:
      - name: uuid
        in: path
        description: View UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ListViewUpdateRequestDto"
        required: true
      responses:
        "200":
          description: View updated
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListViewDto"
        "404":
          description: View not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "409":
          description: View of that name already exists for the resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "422":
          description: Unprocessable Content
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Error Message 1
              - Error Message 2
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    delete:
      tags:
      - List View
      summary: Delete a view of logged user
      operationId: deleteView
      parameters:
      - name: uuid
        in: path
        description: View UUID
        required: true
        schema:
          type: string
      responses:
        "204":
          description: View deleted
        "404":
          description: View not found
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "400":
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/oids:
    post:
      tags:
      - Custom OID Management
      summary: Create a new custom OID entry
      operationId: createCustomOidEntry
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CustomOidEntryRequestDto"
        required: true
      responses:
        "200":
          description: Custom OID entry created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomOidEntryDetailResponseDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    delete:
      tags:
      - Custom OID Management
      summary: Bulk delete customOID entries
      operationId: bulkDeleteCustomOidEntry
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        "204":
          description: Custom OID entries deleted
        "400":
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/oids/list:
    post:
      tags:
      - Custom OID Management
      summary: List custom OID entries with filtering and pagination
      operationId: listCustomOidEntries
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SearchRequestDto"
        required: true
      responses:
        "200":
          description: Custom OID entries retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomOidEntryListResponseDto"
        "422":
          description: Unprocessable Content
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Error Message 1
              - Error Message 2
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/listViews:
    get:
      tags:
      - List View
      summary: List views of logged user
      operationId: listViews
      parameters:
      - name: resource
        in: query
        description: Return only views of this resource
        required: false
        schema:
          $ref: "#/components/schemas/Resource"
      responses:
        "200":
          description: List of views
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/ListViewDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    post:
      tags:
      - List View
      summary: Create a view for logged user
      operationId: createView
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ListViewRequestDto"
        required: true
      responses:
        "200":
          description: View created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListViewDto"
        "409":
          description: View of that name already exists for the resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "422":
          description: Unprocessable Content
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Error Message 1
              - Error Message 2
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/auditLogs:
    post:
      tags:
      - Audit Log
      summary: List Audit logs
      operationId: listAuditLogs
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SearchRequestDto"
        required: true
      responses:
        "200":
          description: List of audit logs
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuditLogResponseDto"
        "422":
          description: Unprocessable Content
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Error Message 1
              - Error Message 2
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/auditLogs/purge:
    post:
      tags:
      - Audit Log
      summary: Purge Audit logs
      operationId: purgeAuditLogs
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/SearchFilterRequestDto"
        required: true
      responses:
        "204":
          description: Audit logs purged
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/auditLogs/export:
    post:
      tags:
      - Audit Log
      summary: Export Audit logs
      operationId: exportAuditLogs
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/SearchFilterRequestDto"
        required: true
      responses:
        "200":
          description: Export of audit logs
          content:
            application/json:
              schema:
                type: string
                format: binary
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/statistics:
    get:
      tags:
      - Statistics/Dashboard
      summary: Get Dashboard/Statistics Details
      operationId: getStatistics
      parameters:
      - name: includeArchived
        in: query
        description: Include archived certificates in the statistics
        required: false
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Details retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StatisticsDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/statistics/signingRecords:
    get:
      tags:
      - Statistics/Dashboard
      summary: Get Signing Records dashboard statistics
      operationId: getSigningRecordStatistics
      parameters:
      - name: period
        in: query
        description: Time window for the volume-over-time series (the count badges
          and breakdowns are window-independent)
        required: false
        schema:
          $ref: "#/components/schemas/SigningRecordStatisticsPeriod"
          default: 7d
      responses:
        "200":
          description: Signing Records statistics retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SigningRecordStatisticsDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/statistics/cryptoAssets:
    get:
      tags:
      - Statistics/Dashboard
      summary: Get Cryptographic Asset Inventory dashboard statistics
      description: "Returns count badges, distribution maps and the sync-completeness\
        \ block for the cross-CBOM cryptographic asset inventory. Counts are computed\
        \ over deduplicated assets, so an asset referenced by several CBOM documents\
        \ counts once."
      operationId: getCryptographicAssetStatistics
      responses:
        "200":
          description: Cryptographic asset statistics retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CryptographicAssetStatisticsDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/resources:
    get:
      tags:
      - Resource Management
      summary: Retrieve list of resources with information and settings
      operationId: listResources
      responses:
        "200":
          description: Resources retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/ResourceDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/resources/{resource}/filters/rules:
    get:
      tags:
      - Resource Management
      summary: Retrieve filter fields that can be used for creating rule conditions
        and actions
      operationId: listResourceRuleFilterFields
      parameters:
      - name: resource
        in: path
        description: Resource
        required: true
        schema:
          $ref: "#/components/schemas/Resource"
      - name: settable
        in: query
        required: false
        schema:
          type: boolean
      responses:
        "200":
          description: Filter fields retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/SearchFieldDataByGroupDto"
        "404":
          description: Resource objects not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/resources/{resource}/events:
    get:
      tags:
      - Resource Management
      summary: Retrieve a list of all events that can be triggered by a resource
      operationId: listResourceEvents
      parameters:
      - name: resource
        in: path
        description: Resource
        required: true
        schema:
          $ref: "#/components/schemas/Resource"
      responses:
        "200":
          description: Events retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/ResourceEventDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/resources/events:
    get:
      tags:
      - Resource Management
      summary: Retrieve a list of all events that can be triggered by all resources
      description: "This endpoint returns a map of resource events, where the key\
        \ is the event type and the value is a list of event details."
      operationId: listAllResourceEvents
      responses:
        "200":
          description: Events retrieved
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    $ref: "#/components/schemas/ResourceEventDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/oids/system:
    get:
      tags:
      - Custom OID Management
      summary: "List built-in system OID entries, optionally filtered by category"
      operationId: listSystemOidEntries
      parameters:
      - name: category
        in: query
        description: Optional OID category filter
        required: false
        schema:
          $ref: "#/components/schemas/OidCategory"
      responses:
        "200":
          description: System OID entries retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/CustomOidEntryDetailResponseDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/oids/search:
    get:
      tags:
      - Custom OID Management
      summary: Get searchable filter fields for custom OID entries
      operationId: getCustomOidEntrySearchableFields
      responses:
        "200":
          description: Searchable fields retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/SearchFieldDataByGroupDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/info:
    get:
      tags:
      - Info
      summary: Get information about running Platform Application
      operationId: getInfo
      responses:
        "200":
          description: Platform Application info retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CoreInfoResponseDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/health/readiness:
    get:
      tags:
      - Info
      summary: Health readiness check endpoint
      operationId: getHealthReadiness
      responses:
        "200":
          description: Health readiness checked
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActuatorHealthDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "500":
          description: Internal Server Error
      security: []
  /v1/health/liveness:
    get:
      tags:
      - Info
      summary: Health liveness check endpoint
      operationId: getHealthLiveness
      responses:
        "200":
          description: Health liveness checked
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActuatorHealthDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "500":
          description: Internal Server Error
      security: []
  /v1/enums:
    get:
      tags:
      - Enums
      summary: Get platform enums
      operationId: getPlatformEnums
      responses:
        "200":
          description: Platform settings retrieved
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
                  additionalProperties:
                    $ref: "#/components/schemas/EnumItemDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/branding:
    get:
      tags:
      - Branding
      summary: Get branding available to unauthenticated clients
      operationId: getBranding
      responses:
        "200":
          description: Branding retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PublicBrandingDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "500":
          description: Internal Server Error
      security: []
  /v1/auditLogs/search:
    get:
      tags:
      - Audit Log
      summary: Get Audit logs searchable fields information
      operationId: getAuditLogSearchableFields
      responses:
        "200":
          description: Audit logs searchable field information retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/SearchFieldDataByGroupDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
components:
  schemas:
    ApiKeySecretContent:
      type: object
      description: Secret representing an API Key
      properties:
        type:
          $ref: "#/components/schemas/SecretType"
          description: Secret type
          examples:
          - apiKey
        content:
          type: string
          description: API Key content string
          minLength: 1
      required:
      - content
      - type
      title: ApiKeySecretContent
    AttributeCallback:
      type: object
      properties:
        callbackContext:
          type: string
          description: Context part of callback URL
        callbackMethod:
          type: string
          description: HTTP method of the callback. This value is required for connector
            callbacks and optional only for callbacks defined on resource objects.
        mappings:
          type: array
          description: Mappings for the callback method
          items:
            $ref: "#/components/schemas/AttributeCallbackMapping"
          uniqueItems: true
        dependsOn:
          type: array
          description: "Names of the attributes, within this same form, whose values\
            \ this Attributes v2 callback consumes and is triggered by. Providing\
            \ this field — even as an empty list — marks the callback as an Attributes\
            \ v2 callback; an empty list means the callback fires once when the form\
            \ opens (it depends on no other field). At most one of dependsOn or callbackContext\
            \ may be set; a callback with neither field set defines no callback. Not\
            \ allowed on RESOURCE attributes. These rules are enforced by the platform."
          items:
            type: string
      required:
      - mappings
    AttributeCallbackMapping:
      type: object
      properties:
        from:
          type: string
          description: Name of the attribute whose value is to be used as value of
            path variable or request param or body field.It is optional and must be
            set only if value is not set.
        attributeType:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the attribute. It is optional and must be set only
            if special behaviour is needed.
        attributeContentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: 'Type of the attribute content. '
        to:
          type: string
          description: Name of the path variable or request param or body field which
            is to be used to assign value of attribute
        targets:
          type: array
          description: Set of targets for propagating value.
          items:
            $ref: "#/components/schemas/AttributeValueTarget"
          uniqueItems: true
        value:
          description: Static value to be propagated to targets. It is optional and
            is set only if the value is known at attribute creation time.
      required:
      - targets
      - to
    AttributeConstraintType:
      type: string
      enum:
      - regExp
      - range
      - dateTime
      - jsonSchema
    AttributeContentType:
      type: string
      enum:
      - string
      - text
      - integer
      - boolean
      - float
      - date
      - time
      - datetime
      - secret
      - file
      - credential
      - codeblock
      - object
      - resource
    AttributeResource:
      type: string
      enum:
      - certificates
      - credentials
      - authorities
      - entities
      - locations
      - secrets
    AttributeType:
      type: string
      enum:
      - data
      - group
      - info
      - meta
      - custom
    AttributeValueTarget:
      type: string
      enum:
      - pathVariable
      - requestParameter
      - body
      - filter
    AttributeVersion:
      type: string
      enum:
      - v2
      - v3
    BaseAttributeConstraint:
      type: object
      description: Base Attribute Constraint definition
      discriminator:
        propertyName: type
        mapping:
          regExp: "#/components/schemas/RegexpAttributeConstraint"
          range: "#/components/schemas/RangeAttributeConstraint"
          dateTime: "#/components/schemas/DateTimeAttributeConstraint"
          jsonSchema: "#/components/schemas/JsonSchemaAttributeConstraint"
      oneOf:
      - $ref: "#/components/schemas/RegexpAttributeConstraint"
      - $ref: "#/components/schemas/RangeAttributeConstraint"
      - $ref: "#/components/schemas/DateTimeAttributeConstraint"
      - $ref: "#/components/schemas/JsonSchemaAttributeConstraint"
      properties:
        description:
          type: string
          description: Description of the constraint
        errorMessage:
          type: string
          description: Error message to be displayed for wrong data
        type:
          $ref: "#/components/schemas/AttributeConstraintType"
          description: Attribute Constraint Type
      required:
      - type
    BaseAttributeContentDtoV2:
      type: object
      description: Base Attribute ContentV2 definition
      oneOf:
      - $ref: "#/components/schemas/BooleanAttributeContentV2"
      - $ref: "#/components/schemas/CodeBlockAttributeContentV2"
      - $ref: "#/components/schemas/CredentialAttributeContentV2"
      - $ref: "#/components/schemas/DateAttributeContentV2"
      - $ref: "#/components/schemas/DateTimeAttributeContentV2"
      - $ref: "#/components/schemas/FileAttributeContentV2"
      - $ref: "#/components/schemas/FloatAttributeContentV2"
      - $ref: "#/components/schemas/IntegerAttributeContentV2"
      - $ref: "#/components/schemas/ObjectAttributeContentV2"
      - $ref: "#/components/schemas/SecretAttributeContentV2"
      - $ref: "#/components/schemas/StringAttributeContentV2"
      - $ref: "#/components/schemas/TextAttributeContentV2"
      - $ref: "#/components/schemas/TimeAttributeContentV2"
      properties:
        reference:
          type: string
          description: ContentV2 Reference
    BaseAttributeContentDtoV3:
      description: Base Attribute Content
      discriminator:
        propertyName: contentType
        mapping:
          boolean: "#/components/schemas/BooleanAttributeContentV3"
          codeblock: "#/components/schemas/CodeBlockAttributeContentV3"
          date: "#/components/schemas/DateAttributeContentV3"
          datetime: "#/components/schemas/DateTimeAttributeContentV3"
          file: "#/components/schemas/FileAttributeContentV3"
          float: "#/components/schemas/FloatAttributeContentV3"
          integer: "#/components/schemas/IntegerAttributeContentV3"
          object: "#/components/schemas/ObjectAttributeContentV3"
          string: "#/components/schemas/StringAttributeContentV3"
          text: "#/components/schemas/TextAttributeContentV3"
          time: "#/components/schemas/TimeAttributeContentV3"
          resource: "#/components/schemas/ResourceObjectContent"
      oneOf:
      - $ref: "#/components/schemas/BooleanAttributeContentV3"
      - $ref: "#/components/schemas/CodeBlockAttributeContentV3"
      - $ref: "#/components/schemas/DateAttributeContentV3"
      - $ref: "#/components/schemas/DateTimeAttributeContentV3"
      - $ref: "#/components/schemas/FileAttributeContentV3"
      - $ref: "#/components/schemas/FloatAttributeContentV3"
      - $ref: "#/components/schemas/IntegerAttributeContentV3"
      - $ref: "#/components/schemas/ObjectAttributeContentV3"
      - $ref: "#/components/schemas/StringAttributeContentV3"
      - $ref: "#/components/schemas/TextAttributeContentV3"
      - $ref: "#/components/schemas/TimeAttributeContentV3"
      - $ref: "#/components/schemas/ResourceObjectContent"
    BaseAttributeDto:
      type: object
      description: Base Attribute definition
      oneOf:
      - $ref: "#/components/schemas/BaseAttributeDtoV2"
      - $ref: "#/components/schemas/BaseAttributeDtoV3"
      properties:
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
      required:
      - name
      - type
      - uuid
    BaseAttributeDtoV2:
      description: Base Attribute definition
      discriminator:
        propertyName: type
        mapping:
          data: "#/components/schemas/DataAttributeV2"
          info: "#/components/schemas/InfoAttributeV2"
          group: "#/components/schemas/GroupAttributeV2"
          meta: "#/components/schemas/MetadataAttributeV2"
          custom: "#/components/schemas/CustomAttributeV2"
      oneOf:
      - $ref: "#/components/schemas/DataAttributeV2"
      - $ref: "#/components/schemas/InfoAttributeV2"
      - $ref: "#/components/schemas/GroupAttributeV2"
      - $ref: "#/components/schemas/MetadataAttributeV2"
      - $ref: "#/components/schemas/CustomAttributeV2"
    BaseAttributeDtoV3:
      type: object
      description: Base Attribute definition
      discriminator:
        propertyName: type
        mapping:
          data: "#/components/schemas/DataAttributeV3"
          info: "#/components/schemas/InfoAttributeV3"
          group: "#/components/schemas/GroupAttributeV3"
          meta: "#/components/schemas/MetadataAttributeV3"
          custom: "#/components/schemas/CustomAttributeV3"
      oneOf:
      - $ref: "#/components/schemas/DataAttributeV3"
      - $ref: "#/components/schemas/InfoAttributeV3"
      - $ref: "#/components/schemas/GroupAttributeV3"
      - $ref: "#/components/schemas/MetadataAttributeV3"
      - $ref: "#/components/schemas/CustomAttributeV3"
      required:
      - schemaVersion
    BasicAuthSecretContent:
      type: object
      description: Secret representing Basic Authentication credentials
      properties:
        type:
          $ref: "#/components/schemas/SecretType"
          description: Secret type
          examples:
          - apiKey
        username:
          type: string
          description: Username for Basic Authentication
          example: admin
          minLength: 1
        password:
          type: string
          description: Password for Basic Authentication
          minLength: 1
      required:
      - password
      - type
      - username
      title: BasicAuthSecretContent
    BooleanAttributeContentV2:
      type: object
      description: Boolean attribute content to store true/false values
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          type: boolean
          description: Boolean attribute value
      required:
      - data
    BooleanAttributeContentV3:
      type: object
      description: Boolean attribute content to store true/false values
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          type: boolean
          description: Boolean attribute value
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Boolean attribute value
      required:
      - contentType
      - data
    CertificateRegistrationSettingsUpdateDto:
      type: object
      properties:
        defaultIssuanceWindowDays:
          type: integer
          format: int32
          default: 7
          description: "Default issuance window in days, applied when a pre-registration\
            \ omits an explicit expiry"
          minimum: 1
        maxFailedAttempts:
          type: integer
          format: int32
          default: 5
          description: Maximum failed challenge-verification attempts before the registration
            authorization locks
          minimum: 1
    CertificateRequestAttributesSettingsUpdateDto:
      type: object
      description: Request to set the editable platform default request-attribute
        definitions.
      properties:
        requestAttributes:
          type: array
          description: Ordered list of platform default request-attribute definitions
          items:
            $ref: "#/components/schemas/BaseAttributeDto"
        externalCsrValidationStrict:
          type: boolean
          description: Platform default for external-CSR strictness; an RA Profile
            inherits this when its own externalCsrValidationStrict is null
    CertificateSettingsUpdateDto:
      type: object
      properties:
        validation:
          $ref: "#/components/schemas/CertificateValidationSettingsUpdateDto"
          description: Settings of validation of certificates
        requestAttributes:
          $ref: "#/components/schemas/CertificateRequestAttributesSettingsUpdateDto"
          description: Platform default request-attribute set
        registration:
          $ref: "#/components/schemas/CertificateRegistrationSettingsUpdateDto"
          description: Certificate pre-registration settings
    CertificateType:
      type: string
      enum:
      - X.509
      - SSH
    CertificateValidationSettingsUpdateDto:
      type: object
      properties:
        enabled:
          type: boolean
          default: true
          description: Indicator whether validation of certificates should be enabled
        frequency:
          type: integer
          format: int32
          default: 1
          description: Frequency of validation of certificates in days
          minimum: 1
        expiringThreshold:
          type: integer
          format: int32
          default: 30
          description: How many days before expiration should certificate validation
            status change to Expiring
          minimum: 1
      required:
      - enabled
    CodeBlockAttributeContentData:
      type: object
      properties:
        language:
          $ref: "#/components/schemas/ProgrammingLanguageEnum"
          description: Definition of programming languages used for code
          examples:
          - "JAVA, PHP, C, etc"
        code:
          type: string
          description: Block of the code in Base64. Formatting of the code is specified
            by variable language
      required:
      - code
      - language
    CodeBlockAttributeContentV2:
      type: object
      description: Codeblock attribute content to store encoded snippets of programming
        language code
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          $ref: "#/components/schemas/CodeBlockAttributeContentData"
          description: CodeBlock attribute content data
      required:
      - data
    CodeBlockAttributeContentV3:
      type: object
      description: Codeblock attribute content to store encoded snippets of programming
        language code
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          $ref: "#/components/schemas/CodeBlockAttributeContentData"
          description: CodeBlock attribute content data
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    CredentialAttributeContentData:
      type: object
      properties:
        uuid:
          type: string
          description: Object identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Object Name
          examples:
          - Name
        kind:
          type: string
          description: Credential Kind
          examples:
          - "SoftKeyStore, Basic, ApiKey, etc"
        attributes:
          type: array
          description: List of Credential Attributes
          items:
            $ref: "#/components/schemas/DataAttributeV2"
      required:
      - attributes
      - kind
      - name
      - uuid
    CredentialAttributeContentV2:
      type: object
      description: Credential attribute content carrying information about credential
        to use
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          $ref: "#/components/schemas/CredentialAttributeContentData"
          description: Credential attribute content data
      required:
      - data
    CustomAttributeProperties:
      type: object
      properties:
        label:
          type: string
          description: Friendly name of the the Attribute
          examples:
          - Attribute Name
        visible:
          type: boolean
          default: true
          description: "Boolean determining if the Attribute is visible and can be\
            \ displayed, otherwise it should be hidden to the user."
        group:
          type: string
          description: "Group of the Attribute, used for the logical grouping of the\
            \ Attribute"
          examples:
          - requiredAttributes
        required:
          type: boolean
          default: false
          description: "Boolean determining if the Attribute is required. If true,\
            \ the Attribute must be provided."
        readOnly:
          type: boolean
          default: false
          description: "Boolean determining if the Attribute is read only. If true,\
            \ the Attribute content cannot be changed."
        list:
          type: boolean
          default: false
          description: Boolean determining if the Attribute contains list of values
            in the content
        multiSelect:
          type: boolean
          default: false
          description: Boolean determining if the Attribute can have multiple values
        extensibleList:
          type: boolean
          default: false
          description: Boolean determining if a list Attribute can have values other
            than predefined options
        protectionLevel:
          $ref: "#/components/schemas/ProtectionLevel"
          default: none
          description: Protection level of the attribute content
      required:
      - extensibleList
      - label
      - list
      - multiSelect
      - readOnly
      - required
      - visible
    CustomAttributeV2:
      type: object
      description: Custom attribute allows to store and transfer dynamic data. Its
        content can be edited and send in requests to store.
      properties:
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        version:
          type: integer
          format: int32
          description: Version of the attribute
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        content:
          type: array
          description: Content of the Attribute
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV2"
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Type of the Content
        properties:
          $ref: "#/components/schemas/CustomAttributeProperties"
          description: Properties of the Attributes
      required:
      - contentType
      - name
      - properties
      - type
      - uuid
      - version
    CustomAttributeV3:
      type: object
      description: Custom attribute allows to store and transfer dynamic data. Its
        content can be edited and send in requests to store.
      properties:
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        version:
          type: integer
          format: int32
          description: Version of the attribute
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        content:
          type: array
          description: Content of the Attribute
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV3"
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Type of the Content
        properties:
          $ref: "#/components/schemas/CustomAttributeProperties"
          description: Properties of the Attributes
        schemaVersion:
          $ref: "#/components/schemas/AttributeVersion"
          description: Schema version of the Attribute
      required:
      - contentType
      - name
      - properties
      - schemaVersion
      - type
      - uuid
      - version
    DataAttributeProperties:
      type: object
      properties:
        label:
          type: string
          description: Friendly name of the the Attribute
          examples:
          - Attribute Name
        visible:
          type: boolean
          default: true
          description: "Boolean determining if the Attribute is visible and can be\
            \ displayed, otherwise it should be hidden to the user."
        group:
          type: string
          description: "Group of the Attribute, used for the logical grouping of the\
            \ Attribute"
          examples:
          - requiredAttributes
        required:
          type: boolean
          default: false
          description: "Boolean determining if the Attribute is required. If true,\
            \ the Attribute must be provided."
        readOnly:
          type: boolean
          default: false
          description: "Boolean determining if the Attribute is read only. If true,\
            \ the Attribute content cannot be changed."
        list:
          type: boolean
          default: false
          description: Boolean determining if the Attribute contains list of values
            in the content
        multiSelect:
          type: boolean
          default: false
          description: Boolean determining if the Attribute can have multiple values
        protectionLevel:
          $ref: "#/components/schemas/ProtectionLevel"
          default: none
          description: Protection level of the attribute content
        resource:
          $ref: "#/components/schemas/AttributeResource"
          description: "Resource of the attribute, relevant if the attribute has Resource\
            \ content type"
        extensibleList:
          type: boolean
          default: false
          description: Boolean determining if a list Attribute can have values other
            than predefined options
      required:
      - extensibleList
      - label
      - list
      - multiSelect
      - readOnly
      - required
      - visible
    DataAttributeV2:
      type: object
      description: Data attribute allows to store and transfer dynamic data. Its content
        can be edited and send in requests to store.
      properties:
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        version:
          type: integer
          format: int32
          description: Version of the attribute
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        content:
          type: array
          description: Content of the Attribute
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV2"
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Type of the Content
        properties:
          $ref: "#/components/schemas/DataAttributeProperties"
          description: Properties of the Attributes
        constraints:
          type: array
          description: Optional constraints used for validating the Attribute content
          items:
            $ref: "#/components/schemas/BaseAttributeConstraint"
        attributeCallback:
          $ref: "#/components/schemas/AttributeCallback"
          description: Optional definition of callback for getting the content of
            the Attribute based on the action
      required:
      - contentType
      - name
      - properties
      - type
      - uuid
      - version
    DataAttributeV3:
      type: object
      description: Data attribute allows to store and transfer dynamic data. Its content
        can be edited and send in requests to store.
      properties:
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        version:
          type: integer
          format: int32
          description: Version of the attribute
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        content:
          type: array
          description: Content of the Attribute
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV3"
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Type of the Content
        properties:
          $ref: "#/components/schemas/DataAttributeProperties"
          description: Properties of the Attributes
        constraints:
          type: array
          description: Optional constraints used for validating the Attribute content
          items:
            $ref: "#/components/schemas/BaseAttributeConstraint"
        attributeCallback:
          $ref: "#/components/schemas/AttributeCallback"
          description: Optional definition of callback for getting the content of
            the Attribute based on the action
        schemaVersion:
          $ref: "#/components/schemas/AttributeVersion"
          description: Schema version of the Attribute
        fieldMapping:
          $ref: "#/components/schemas/FieldMapping"
          description: Declares which certificate (or other object) fields this attribute's
            value projects into; presence marks this attribute as a certificate request
            attribute
        valueSource:
          $ref: "#/components/schemas/ValueSource"
          description: Declares how Core resolves the content of this attribute; orthogonal
            to fieldMapping
      required:
      - contentType
      - name
      - properties
      - schemaVersion
      - type
      - uuid
      - version
    DateAttributeContentV2:
      type: object
      description: Date attribute content in predefined format
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          type: string
          format: date
          description: Date attribute value in format yyyy-MM-dd
      required:
      - data
    DateAttributeContentV3:
      type: object
      description: Date attribute content in predefined format
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          type: string
          format: date
          description: Date attribute value in format yyyy-MM-dd
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    DateTimeAttributeConstraint:
      type: object
      description: DateTime attribute constraint to specify boundaries for date value
      properties:
        description:
          type: string
          description: Description of the constraint
        errorMessage:
          type: string
          description: Error message to be displayed for wrong data
        type:
          $ref: "#/components/schemas/AttributeConstraintType"
          description: Attribute Constraint Type
        data:
          $ref: "#/components/schemas/DateTimeAttributeConstraintData"
          description: DateTime Range Attribute Constraint Data
      required:
      - type
    DateTimeAttributeConstraintData:
      type: object
      properties:
        from:
          type: string
          format: date-time
          description: Start of the datetime for validation
        to:
          type: string
          format: date-time
          description: End of the datetime for validation
    DateTimeAttributeContentV2:
      type: object
      description: DateTime attribute content in predefined format with timezone
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          type: string
          format: date-time
          description: DateTime attribute value in format yyyy-MM-ddTHH:mm:ss.SSSXXX
      required:
      - data
    DateTimeAttributeContentV3:
      type: object
      description: DateTime attribute content in predefined format with timezone
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          type: string
          format: date-time
          description: DateTime attribute value in format yyyy-MM-ddTHH:mm:ss.SSSXXX
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    ExtendedKeyUsageMappedField:
      allOf:
      - $ref: "#/components/schemas/MappedField"
      description: "Maps an attribute to the Extended Key Usage extension; the permitted\
        \ purposes are the attribute's content, resolved against the EXTENDED_KEY_USAGE\
        \ OID registry"
      required:
      - fieldType
    ExtensionMappedField:
      allOf:
      - $ref: "#/components/schemas/MappedField"
      - type: object
        properties:
          extensionOid:
            type: string
            description: OID of the X.509 extension (dotted-decimal)
            minLength: 1
          criticalOverridable:
            type: boolean
            description: Whether the requester may override the default criticality
              of the extension
      description: Maps an attribute value to an X.509 extension
      required:
      - extensionOid
      - fieldType
    ExtensionValueEncoding:
      type: string
      enum:
      - UTF8String
      - IA5String
      - PrintableString
      - OctetString
      - BitString
      - DER
    FieldMapping:
      type: object
      description: Declares which certificate (or other object) fields an attribute
        value projects into
      properties:
        objectType:
          $ref: "#/components/schemas/ObjectType"
          description: Object type this mapping applies to
        fields:
          type: array
          description: "One or more target fields (supports 1-to-many, e.g. CN + dNSName\
            \ from a single attribute)"
          items:
            oneOf:
            - $ref: "#/components/schemas/ExtendedKeyUsageMappedField"
            - $ref: "#/components/schemas/ExtensionMappedField"
            - $ref: "#/components/schemas/KeyUsageMappedField"
            - $ref: "#/components/schemas/RdnMappedField"
            - $ref: "#/components/schemas/SanMappedField"
          minItems: 1
      required:
      - fields
      - objectType
    FieldSource:
      type: string
      enum:
      - csr
      - platform
      - csrThenPlatform
    FieldType:
      type: string
      enum:
      - rdn
      - san
      - extension
      - keyUsage
      - extendedKeyUsage
    FileAttributeContentData:
      type: object
      properties:
        content:
          type: string
          description: File content
        fileName:
          type: string
          description: Name of the file
        mimeType:
          type: string
          description: Type of the file uploaded
      required:
      - content
      - fileName
      - mimeType
    FileAttributeContentV2:
      type: object
      description: File attribute content for storing encoded file content with additional
        info
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          $ref: "#/components/schemas/FileAttributeContentData"
          description: File attribute content data
      required:
      - data
    FileAttributeContentV3:
      type: object
      description: File attribute content for storing encoded file content with additional
        info
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          $ref: "#/components/schemas/FileAttributeContentData"
          description: File attribute content data
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    FloatAttributeContentV2:
      type: object
      description: Float attribute content for decimal numbers
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          type: number
          format: float
          description: Float attribute value
      required:
      - data
    FloatAttributeContentV3:
      type: object
      description: Float attribute content for decimal numbers
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          type: number
          format: float
          description: Float attribute value
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    GeneralNameType:
      type: string
      enum:
      - dns
      - email
      - ip
      - uri
      - otherName
      - directoryName
      - registeredId
    GenericSecretContent:
      type: object
      description: Secret representing generic content represented as string
      properties:
        type:
          $ref: "#/components/schemas/SecretType"
          description: Secret type
          examples:
          - apiKey
        content:
          type: string
          description: "Generic secret content represented as string. In case secret\
            \ content is binary data, it should be encoded as BASE64 string."
          minLength: 1
      required:
      - content
      - type
      title: GenericSecretContent
    GroupAttributeV2:
      type: object
      description: Group attribute and its content represents dynamic list of additional
        attributes retrieved by callback. Its content can not be edited and is not
        send in requests to store.
      properties:
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        version:
          type: integer
          format: int32
          description: Version of the attribute
        content:
          type: array
          description: List of all different types of attributes
          items:
            $ref: "#/components/schemas/BaseAttributeDtoV2"
            description: Base Attribute definition
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        attributeCallback:
          $ref: "#/components/schemas/AttributeCallback"
          description: Optional definition of callback for getting the content of
            the Attribute based on the action
      required:
      - name
      - type
      - uuid
      - version
    GroupAttributeV3:
      type: object
      description: Group attribute and its content represents dynamic list of additional
        attributes retrieved by callback. Its content can not be edited and is not
        send in requests to store.
      properties:
        schemaVersion:
          $ref: "#/components/schemas/AttributeVersion"
          description: Version of the Attribute
          example: 3
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        content:
          type: array
          description: List of all different types of attributes
          items:
            $ref: "#/components/schemas/BaseAttributeDto"
        version:
          type: integer
          format: int32
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        attributeCallback:
          $ref: "#/components/schemas/AttributeCallback"
          description: Optional definition of callback for getting the content of
            the Attribute based on the action
      required:
      - name
      - schemaVersion
      - type
      - uuid
    InfoAttributeProperties:
      type: object
      properties:
        label:
          type: string
          description: Friendly name of the the Attribute
          examples:
          - Attribute Name
        visible:
          type: boolean
          default: true
          description: "Boolean determining if the Attribute is visible and can be\
            \ displayed, otherwise it should be hidden to the user."
        group:
          type: string
          description: "Group of the Attribute, used for the logical grouping of the\
            \ Attribute"
          examples:
          - requiredAttributes
      required:
      - label
      - visible
    InfoAttributeV2:
      type: object
      description: Info attribute contains content that is for information purpose
        or represents additional information for object (metadata). Its content can
        not be edited and is not send in requests to store.
      properties:
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        version:
          type: integer
          format: int32
          description: Version of the attribute
        content:
          type: array
          description: Content of the Attribute
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV2"
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Type of the Content
        properties:
          $ref: "#/components/schemas/InfoAttributeProperties"
          description: Properties of the Attributes
      required:
      - content
      - contentType
      - name
      - properties
      - type
      - uuid
      - version
    InfoAttributeV3:
      type: object
      description: Info attribute contains content that is for information purpose
        or represents additional information for object (metadata). Its content can
        not be edited and is not send in requests to store.
      properties:
        schemaVersion:
          $ref: "#/components/schemas/AttributeVersion"
          description: Version of the Attribute
          example: 3
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        content:
          type: array
          description: Content of the Attribute
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV3"
        version:
          type: integer
          format: int32
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Type of the Content
        properties:
          $ref: "#/components/schemas/InfoAttributeProperties"
          description: Properties of the Attributes
      required:
      - content
      - contentType
      - name
      - properties
      - schemaVersion
      - type
      - uuid
    IntegerAttributeContentV2:
      type: object
      description: Integer attribute content for integer numbers
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          type: integer
          format: int32
          description: Integer attribute value
      required:
      - data
    IntegerAttributeContentV3:
      type: object
      description: Integer attribute content for integer numbers
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          type: integer
          format: int32
          description: Integer attribute value
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    JsonSchemaAttributeConstraint:
      type: object
      description: JSON Schema attribute constraint restricting a string value to
        JSON conforming to an inline JSON Schema (draft 2020-12)
      properties:
        description:
          type: string
          description: Description of the constraint
        errorMessage:
          type: string
          description: Error message to be displayed for wrong data
        type:
          $ref: "#/components/schemas/AttributeConstraintType"
          description: Attribute Constraint Type
        data:
          type: string
          description: Inline JSON Schema document the value must conform to
          minLength: 1
      required:
      - data
      - type
    JwtTokenSecretContent:
      type: object
      description: Secret representing JWT Token
      properties:
        type:
          $ref: "#/components/schemas/SecretType"
          description: Secret type
          examples:
          - apiKey
        content:
          type: string
          description: "JWT Token content in compact (dot-separated) format specified\
            \ in [RFC 7519](https://datatracker.ietf.org/doc/html/rfc7519#section-3)"
          example: eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
          minLength: 1
      required:
      - content
      - type
      title: JwtTokenSecretContent
    KeyStoreSecretContent:
      type: object
      description: Secret representing Key Store
      properties:
        type:
          $ref: "#/components/schemas/SecretType"
          description: Secret type
          examples:
          - apiKey
        keyStoreType:
          $ref: "#/components/schemas/KeyStoreType"
          description: Key Store type
        content:
          type: string
          description: BASE64 encoded content of key store
          minLength: 1
        password:
          type: string
          description: Password for key store
      required:
      - content
      - keyStoreType
      - password
      - type
      title: KeyStoreSecretContent
    KeyStoreType:
      type: string
      enum:
      - JKS
      - PKCS12
    KeyUsageMappedField:
      allOf:
      - $ref: "#/components/schemas/MappedField"
      description: "Maps an attribute to the Key Usage extension; the permitted bits\
        \ are the attribute's content, taken from CertificateKeyUsage"
      required:
      - fieldType
    KeyValueSecretContent:
      type: object
      description: Secret representing key-value pairs
      properties:
        type:
          $ref: "#/components/schemas/SecretType"
          description: Secret type
          examples:
          - apiKey
        content:
          type: object
          additionalProperties: {}
          description: "Key-Value pairs stored as the secret content, represented\
            \ by JSON object"
      required:
      - content
      - type
      title: KeyValueSecretContent
    MappedField:
      type: object
      description: Describes a single target field within an object; concrete type
        is determined by fieldType
      discriminator:
        propertyName: fieldType
        mapping:
          rdn: "#/components/schemas/RdnMappedField"
          san: "#/components/schemas/SanMappedField"
          extension: "#/components/schemas/ExtensionMappedField"
          keyUsage: "#/components/schemas/KeyUsageMappedField"
          extendedKeyUsage: "#/components/schemas/ExtendedKeyUsageMappedField"
      properties:
        fieldType:
          $ref: "#/components/schemas/FieldType"
          description: "Field type, determines the concrete subtype"
        order:
          type: integer
          format: int32
          description: Ordering index for fields of the same type (e.g. RDN components);
            ascending
          minimum: 1
        source:
          $ref: "#/components/schemas/FieldSource"
          description: Provenance of the value when reconciling CSR vs platform-projected
            values
      required:
      - fieldType
    MetadataAttributeProperties:
      type: object
      properties:
        label:
          type: string
          description: Friendly name of the the Attribute
          examples:
          - Attribute Name
        visible:
          type: boolean
          default: true
          description: "Boolean determining if the Attribute is visible and can be\
            \ displayed, otherwise it should be hidden to the user."
        group:
          type: string
          description: "Group of the Attribute, used for the logical grouping of the\
            \ Attribute"
          examples:
          - requiredAttributes
        global:
          type: boolean
          default: false
          description: Boolean determining if the Metadata is a global metadata.
        overwrite:
          type: boolean
          default: false
          description: Boolean determining if the new metadata content should overwrite
            (replace) existing content instead of appending.
        protectionLevel:
          $ref: "#/components/schemas/ProtectionLevel"
          default: none
          description: Protection level of the attribute content
      required:
      - label
      - visible
    MetadataAttributeV2:
      type: object
      description: Info attribute contains content that is for metadata. Its content
        can not be edited and is not send in requests to store.
      properties:
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        version:
          type: integer
          format: int32
          description: Version of the attribute
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        content:
          type: array
          description: Content of the Attribute
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV2"
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Type of the Content
        properties:
          $ref: "#/components/schemas/MetadataAttributeProperties"
          description: Properties of the Attributes
      required:
      - contentType
      - name
      - properties
      - type
      - uuid
      - version
    MetadataAttributeV3:
      type: object
      description: Info attribute contains content that is for metadata. Its content
        can not be edited and is not send in requests to store.
      properties:
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
        version:
          type: integer
          format: int32
          description: Version of the attribute
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        content:
          type: array
          description: Content of the Attribute
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV3"
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Type of the Content
        properties:
          $ref: "#/components/schemas/MetadataAttributeProperties"
          description: Properties of the Attributes
        schemaVersion:
          $ref: "#/components/schemas/AttributeVersion"
          description: Schema version of the Attribute
      required:
      - contentType
      - name
      - properties
      - schemaVersion
      - type
      - uuid
      - version
    ObjectAttributeContentV2:
      type: object
      description: Object attribute content for data with custom structure
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          description: Object attribute content data
      required:
      - data
    ObjectAttributeContentV3:
      type: object
      description: Object attribute content for data with custom structure
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          description: Object attribute content data
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    ObjectType:
      type: string
      enum:
      - x509Certificate
      - sshCertificate
      - key
      - secret
    PlatformSettingsUpdateDto:
      type: object
      properties:
        utils:
          $ref: "#/components/schemas/UtilsSettingsDto"
          description: "Utils settings of the platform. When present, stored as sent:\
            \ a URL left out is cleared, and a CBOM sync tunable left out returns\
            \ to the platform default"
        certificates:
          $ref: "#/components/schemas/CertificateSettingsUpdateDto"
          description: Settings applicable to all certificates in inventory by default
    PrivateKeySecretContent:
      type: object
      description: Secret representing private key
      properties:
        type:
          $ref: "#/components/schemas/SecretType"
          description: Secret type
          examples:
          - apiKey
        content:
          type: string
          description: BASE64 encoded content of key in PEM format
          minLength: 1
      required:
      - content
      - type
      title: PrivateKeySecretContent
    ProgrammingLanguageEnum:
      type: string
      enum:
      - apacheconf
      - bash
      - basic
      - c
      - csharp
      - cpp
      - css
      - docker
      - fsharp
      - gherkin
      - git
      - go
      - graphql
      - html
      - http
      - ini
      - java
      - javascript
      - json
      - kotlin
      - latex
      - lisp
      - makefile
      - markdown
      - matlab
      - nginx
      - objectivec
      - perl
      - php
      - powershell
      - properties
      - python
      - ruby
      - rust
      - smalltalk
      - sql
      - typescript
      - vbnet
      - xquery
      - xml
      - yaml
    ProtectionLevel:
      type: string
      enum:
      - none
      - encrypted
    RangeAttributeConstraint:
      type: object
      description: Range attribute constraint to specify boundaries for integer value
      properties:
        description:
          type: string
          description: Description of the constraint
        errorMessage:
          type: string
          description: Error message to be displayed for wrong data
        type:
          $ref: "#/components/schemas/AttributeConstraintType"
          description: Attribute Constraint Type
        data:
          $ref: "#/components/schemas/RangeAttributeConstraintData"
          description: Integer Range Attribute Constraint Data
      required:
      - type
    RangeAttributeConstraintData:
      type: object
      properties:
        from:
          type: integer
          format: int32
          description: Start of the range for validation
        to:
          type: integer
          format: int32
          description: End of the range for validation
    RdnMappedField:
      allOf:
      - $ref: "#/components/schemas/MappedField"
      - type: object
        properties:
          rdn:
            type: string
            description: RDN code (e.g. "CN") or dotted-decimal OID; resolved via
              the OID registry
            minLength: 1
      description: Maps an attribute value to an X.509 RDN component
      required:
      - fieldType
      - rdn
    RegexpAttributeConstraint:
      type: object
      description: RegExp attribute constraint to restrict string value by regular
        expression
      properties:
        description:
          type: string
          description: Description of the constraint
        errorMessage:
          type: string
          description: Error message to be displayed for wrong data
        type:
          $ref: "#/components/schemas/AttributeConstraintType"
          description: Attribute Constraint Type
        data:
          type: string
          description: Regular Expression Attribute Constraint Data
      required:
      - type
    ResourceCertificateContentData:
      type: object
      description: Content data for resource object attribute containing certificate
        content
      properties:
        uuid:
          type: string
          description: Resource identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Resource name
          examples:
          - Main authority
        resource:
          $ref: "#/components/schemas/AttributeResource"
          description: Resource contained in data
          example: authorities
        certificateType:
          $ref: "#/components/schemas/CertificateType"
          description: Certificate type
        content:
          type: string
          description: Base64 encoded content of the certificate
      required:
      - name
      - resource
      - uuid
      title: ResourceCertificateContentData
    ResourceObjectContent:
      type: object
      description: Resource object attribute content carrying resource object data
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          $ref: "#/components/schemas/ResourceObjectContentData"
          description: Resource Object content data
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    ResourceObjectContentData:
      type: object
      discriminator:
        propertyName: resource
        mapping:
          authorities: "#/components/schemas/ResourceSimpleContentData"
          entities: "#/components/schemas/ResourceSimpleContentData"
          locations: "#/components/schemas/ResourceSimpleContentData"
          credentials: "#/components/schemas/ResourceSimpleContentData"
          certificates: "#/components/schemas/ResourceCertificateContentData"
          secrets: "#/components/schemas/ResourceSecretContentData"
      oneOf:
      - $ref: "#/components/schemas/ResourceSimpleContentData"
      - $ref: "#/components/schemas/ResourceCertificateContentData"
      - $ref: "#/components/schemas/ResourceSecretContentData"
      required:
      - name
      - resource
      - uuid
    ResourceSecretContentData:
      type: object
      description: Content data for resource object attribute containing secret content
      properties:
        uuid:
          type: string
          description: Resource identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Resource name
          examples:
          - Main authority
        resource:
          $ref: "#/components/schemas/AttributeResource"
          description: Resource contained in data
          example: authorities
        content:
          $ref: "#/components/schemas/SecretContent"
          description: Secret content of the resource object
      required:
      - name
      - resource
      - uuid
      title: ResourceSecretContentData
    ResourceSimpleContentData:
      type: object
      description: Content data for resource object defined by its attributes
      properties:
        resource:
          $ref: "#/components/schemas/AttributeResource"
          description: Resource contained in data
          example: authorities
        uuid:
          type: string
          description: Resource identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Resource name
          examples:
          - Main authority
        attributes:
          type: array
          description: Attributes of the resource object
          items:
            $ref: "#/components/schemas/ResponseAttribute"
      required:
      - name
      - resource
      - uuid
      title: ResourceSimpleContentData
    ResponseAttribute:
      type: object
      description: Response attribute to send attribute content for object
      discriminator:
        propertyName: version
        mapping:
          v2: "#/components/schemas/ResponseAttributeV2"
          v3: "#/components/schemas/ResponseAttributeV3"
      oneOf:
      - $ref: "#/components/schemas/ResponseAttributeV2"
      - $ref: "#/components/schemas/ResponseAttributeV3"
      required:
      - contentType
      - label
      - name
      - type
      - uuid
      - version
    ResponseAttributeV2:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV2"
        uuid:
          type: string
          format: uuid
          description: UUID of the Attribute
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute
          examples:
          - Attribute
        label:
          type: string
          description: Label of the the Attribute
          examples:
          - Attribute Name
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the Attribute
          examples:
          - Attribute
        version:
          $ref: "#/components/schemas/AttributeVersion"
          description: Version of the Attribute
      required:
      - contentType
      - label
      - name
      - type
      - uuid
      - version
    ResponseAttributeV3:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV3"
        uuid:
          type: string
          format: uuid
          description: UUID of the Attribute
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        name:
          type: string
          description: Name of the Attribute
          examples:
          - Attribute
        label:
          type: string
          description: Label of the the Attribute
          examples:
          - Attribute Name
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the Attribute
          examples:
          - Attribute
        version:
          $ref: "#/components/schemas/AttributeVersion"
          description: Version of the Attribute
      required:
      - contentType
      - label
      - name
      - type
      - uuid
      - version
    SanMappedField:
      allOf:
      - $ref: "#/components/schemas/MappedField"
      - type: object
        properties:
          generalNameType:
            $ref: "#/components/schemas/GeneralNameType"
            description: SAN type
          otherNameOid:
            type: string
            description: OID of the otherName type; required when generalNameType
              is OTHER_NAME
          otherNameValueEncoding:
            $ref: "#/components/schemas/ExtensionValueEncoding"
            description: ASN.1 encoding for the otherName value; required when generalNameType
              is OTHER_NAME because different OtherName OIDs carry differently-typed
              values (e.g. UPN → UTF8String)
      description: Maps an attribute value to a Subject Alternative Name entry
      required:
      - fieldType
      - generalNameType
    SecretAttributeContentData:
      type: object
      properties:
        secret:
          type: string
          description: Secret attribute data
        protectionLevel:
          $ref: "#/components/schemas/ProtectionLevel"
          description: Level of protection of the data
    SecretAttributeContentV2:
      type: object
      description: Secret attribute content carrying secrets with defined protection
        level
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          $ref: "#/components/schemas/SecretAttributeContentData"
          description: Secret attribute content data
      required:
      - data
    SecretContent:
      type: object
      description: Secret content dependent on secret type
      discriminator:
        propertyName: type
        mapping:
          basicAuth: "#/components/schemas/BasicAuthSecretContent"
          apiKey: "#/components/schemas/ApiKeySecretContent"
          jwtToken: "#/components/schemas/JwtTokenSecretContent"
          privateKey: "#/components/schemas/PrivateKeySecretContent"
          secretKey: "#/components/schemas/SecretKeySecretContent"
          keyStore: "#/components/schemas/KeyStoreSecretContent"
          keyValue: "#/components/schemas/KeyValueSecretContent"
          generic: "#/components/schemas/GenericSecretContent"
      oneOf:
      - $ref: "#/components/schemas/BasicAuthSecretContent"
      - $ref: "#/components/schemas/ApiKeySecretContent"
      - $ref: "#/components/schemas/JwtTokenSecretContent"
      - $ref: "#/components/schemas/PrivateKeySecretContent"
      - $ref: "#/components/schemas/SecretKeySecretContent"
      - $ref: "#/components/schemas/KeyStoreSecretContent"
      - $ref: "#/components/schemas/KeyValueSecretContent"
      - $ref: "#/components/schemas/GenericSecretContent"
      required:
      - type
    SecretKeySecretContent:
      type: object
      description: Secret representing secret key
      properties:
        type:
          $ref: "#/components/schemas/SecretType"
          description: Secret type
          examples:
          - apiKey
        content:
          type: string
          description: BASE64 encoded binary (raw) content of key
          minLength: 1
      required:
      - content
      - type
      title: SecretKeySecretContent
    SecretType:
      type: string
      enum:
      - basicAuth
      - apiKey
      - jwtToken
      - privateKey
      - secretKey
      - keyStore
      - keyValue
      - generic
    SourceParam:
      type: object
      description: Dependency filter that scopes a value source by another attribute's
        value
      properties:
        attributeUuid:
          type: string
          description: UUID of the attribute whose value is used as a filter parameter
        attributeName:
          type: string
          description: Name of the attribute; used as fallback when attributeUuid
            is not matched
    StringAttributeContentV2:
      type: object
      description: String attribute content
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          type: string
          description: String attribute value
      required:
      - data
    StringAttributeContentV3:
      type: object
      description: String attribute content
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          type: string
          description: String attribute value
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    TextAttributeContentV2:
      type: object
      description: Text attribute content used to store longer formatted strings
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          type: string
          description: Text attribute value
      required:
      - data
    TextAttributeContentV3:
      type: object
      description: Text attribute content used to store longer formatted strings
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          type: string
          description: Text attribute value
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    TimeAttributeContentV2:
      type: object
      description: Time attribute content in predefined format
      properties:
        reference:
          type: string
          description: ContentV2 Reference
        data:
          type: string
          description: Time attribute value in format HH:mm:ss
      required:
      - data
    TimeAttributeContentV3:
      type: object
      description: Time attribute content in predefined format
      properties:
        reference:
          type: string
          description: Content Reference
        data:
          type: string
          description: Time attribute value in format HH:mm:ss
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the attribute
      required:
      - contentType
      - data
    UtilsSettingsDto:
      type: object
      properties:
        utilsServiceUrl:
          type: string
          description: URL of the Util Service
          examples:
          - http://util-service:8080
        cbomRepositoryUrl:
          type: string
          description: URL of the CBOM Repository
          examples:
          - http://cbom-repository:8080
        cbomSyncOverlapSeconds:
          type: integer
          format: int32
          default: 60
          description: "How far before the start of the last successful CBOM sync\
            \ run each run re-lists the CBOM Repository, in seconds. It should cover\
            \ the clock skew between the platform and the repository's object store\
            \ plus the longest upload. 0 re-lists only from the start of the last\
            \ run. Entries listed twice are stored once"
          maximum: 86400
          minimum: 0
        cbomSyncSkippedRetryRuns:
          type: integer
          format: int32
          default: 3
          description: How many later CBOM sync runs retry a repository entry that
            could not be stored before it is given up on as permanently skipped; 0
            gives an entry up at its first failure
          maximum: 1000
          minimum: 0
        cbomSyncMaxIngestDocuments:
          type: integer
          format: int32
          default: 50
          description: "How many CBOMs one sync run ingests cryptographic assets from,\
            \ beyond the entries the run has just stored: earlier failures, interrupted\
            \ ingests and CBOMs uploaded through the platform API. 0 turns that catch-up\
            \ off"
          maximum: 10000
          minimum: 0
        cbomSyncSkipRetentionDays:
          type: integer
          format: int32
          default: 90
          description: "How many days after its last attempt a CBOM Repository entry\
            \ the sync gave up on (permanently skipped) stays listed before its record\
            \ is removed; an entry still being retried is kept whatever its age. At\
            \ least one day: a retention of nothing would remove a write-off as it\
            \ lands"
          maximum: 3650
          minimum: 1
        cbomSyncPageSize:
          type: integer
          format: int32
          default: 1000
          description: "How many entries one page of the CBOM Repository listing carries,\
            \ sent as the search `limit`. Pages are followed through the `Link rel=\"\
            next\"` header, so this bounds one request rather than one run"
          maximum: 1000
          minimum: 1
        cbomSyncAssetIngestEnabled:
          type: boolean
          default: true
          description: "Whether a sync run ingests cryptographic assets at all. Off\
            \ covers both discovery paths -- the ingest of a document the run has\
            \ just stored and the catch-up over the documents that still owe one --\
            \ and leaves each CBOM exactly as it was found, so turning it back on\
            \ resumes rather than repairs"
        cbomSyncAssetBatchSize:
          type: integer
          format: int32
          default: 100
          description: "How many cryptographic assets one ingest transaction writes\
            \ before committing, and the page size the withdrawal of a CBOM's assets\
            \ walks. It bounds how long one transaction holds its locks, not how much\
            \ work a run does"
          maximum: 10000
          minimum: 1
        cbomSyncIngestRetryAfterSeconds:
          type: integer
          format: int32
          default: 1800
          description: "How long a CBOM whose asset ingest is in progress or has failed\
            \ is left alone before a run offers it again, in seconds. Measured from\
            \ the start of the attempt, so it has to exceed the longest single document\
            \ the deployment expects to ingest. 0 offers it to the very next run"
          maximum: 86400
          minimum: 0
    ValueSource:
      type: object
      description: Declares how Core resolves the content of an attribute; orthogonal
        to fieldMapping
      properties:
        kind:
          $ref: "#/components/schemas/ValueSourceType"
          description: How the attribute value is resolved
        params:
          type: array
          description: Optional dependency filters that scope the source by other
            attributes' values
          items:
            $ref: "#/components/schemas/SourceParam"
      required:
      - kind
    ValueSourceType:
      type: string
      enum:
      - none
      - connectorCallback
      - staticList
    ErrorMessageDto:
      type: object
      properties:
        message:
          type: string
          description: Error message detail
          examples:
          - Error message
      required:
      - message
    AuthenticationServiceExceptionDto:
      type: object
      properties:
        statusCode:
          type: integer
          format: int32
          description: Status code of the HTTP Request
        code:
          type: string
          description: Code of the result
        message:
          type: string
          description: Exception message
      required:
      - code
      - message
      - statusCode
    BrandingSettingsUpdateDto:
      type: object
      properties:
        primaryColor:
          type: string
          description: "Primary brand color, used for the header and for solid interactive\
            \ elements"
          examples:
          - "#0073CF"
          pattern: "^#[0-9a-fA-F]{6}$"
        secondaryColor:
          type: string
          description: "Secondary brand color, used as an accent"
          examples:
          - "#00A3E0"
          pattern: "^#[0-9a-fA-F]{6}$"
        backgroundColor:
          type: string
          description: Page background color of the branded theme
          examples:
          - "#FFFFFF"
          pattern: "^#[0-9a-fA-F]{6}$"
        textColor:
          type: string
          description: Body text color of the branded theme
          examples:
          - "#171717"
          pattern: "^#[0-9a-fA-F]{6}$"
        lightLogo:
          type: string
          description: "Logo shown by the branded light theme, as a base64 data URI"
          examples:
          - "data:image/png;base64,iVBORw0KGgo="
          maxLength: 1398136
          minLength: 0
          pattern: "^data:image/(png|svg\\+xml);base64,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"
        darkLogo:
          type: string
          description: "Logo shown by the branded dark theme, as a base64 data URI"
          examples:
          - "data:image/svg+xml;base64,PHN2Zy8+"
          maxLength: 1398136
          minLength: 0
          pattern: "^data:image/(png|svg\\+xml);base64,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"
        defaultTheme:
          $ref: "#/components/schemas/BrandingTheme"
          description: Branded theme applied when the user has expressed no preference
            of their own
    BrandingTheme:
      type: string
      enum:
      - light
      - dark
    AuditLoggingSettingsDto:
      type: object
      properties:
        logAllModules:
          type: boolean
          description: "Collect logs for all modules. If true, logged modules list\
            \ is not taken into account only ignored modules"
        logAllResources:
          type: boolean
          description: "Collect logs for all resources. If true, logged resources\
            \ list is not taken into account only ignored resources"
        loggedModules:
          type: array
          description: List of modules for which logs are collected.
          items:
            $ref: "#/components/schemas/Module"
          uniqueItems: true
        ignoredModules:
          type: array
          description: List of modules that will be ignored when logging.
          items:
            $ref: "#/components/schemas/Module"
          uniqueItems: true
        loggedResources:
          type: array
          description: List of resources for which logs are collected.
          items:
            $ref: "#/components/schemas/Resource"
          uniqueItems: true
        ignoredResources:
          type: array
          description: List of resources that will be ignored when logging.
          items:
            $ref: "#/components/schemas/Resource"
          uniqueItems: true
        output:
          type: string
          description: Type of audit logs output/storage channel
          enum:
          - NONE
          - ALL
          - CONSOLE
          - DATABASE
        verbose:
          type: boolean
          description: Additional data should be logged
      required:
      - logAllModules
      - logAllResources
      - output
    LoggingSettingsDto:
      type: object
      properties:
        auditLogs:
          $ref: "#/components/schemas/AuditLoggingSettingsDto"
          description: Settings of audit logging
        eventLogs:
          $ref: "#/components/schemas/ResourceLoggingSettingsDto"
          description: Settings of event logging
      required:
      - auditLogs
      - eventLogs
    Module:
      type: string
      enum:
      - approvals
      - auth
      - certificates
      - keys
      - compliance
      - core
      - discovery
      - entities
      - protocols
      - scheduler
      - secrets
      - signing
      - workflows
    Resource:
      type: string
      enum:
      - NONE
      - ANY
      - dashboard
      - settings
      - auditLogs
      - credentials
      - connectors
      - attributes
      - jobs
      - proxies
      - users
      - roles
      - acmeAccounts
      - acmeProfiles
      - cboms
      - cryptoAssets
      - scepProfiles
      - cmpProfiles
      - authorities
      - raProfiles
      - certificates
      - certificateRequests
      - groups
      - complianceProfiles
      - discoveries
      - oids
      - entities
      - locations
      - tokenProfiles
      - tokens
      - keys
      - approvalProfiles
      - approvals
      - comments
      - notificationProfiles
      - notificationInstances
      - rules
      - actions
      - triggers
      - resources
      - resourceEvents
      - searchFilters
      - listViews
      - keyItems
      - platformEnums
      - notifications
      - conditions
      - executions
      - complianceRules
      - complianceGroups
      - customAttributes
      - globalMetadata
      - acmeOrders
      - acmeAuthorizations
      - acmeChallenges
      - cmpTransactions
      - endEntityProfiles
      - authenticationProviders
      - trustedCertificates
      - vaults
      - vaultProfiles
      - secrets
      - signingProfiles
      - signingRecords
      - timeQualityConfigurations
      - tspProfiles
      - tspProfileBasicCredentials
    ResourceLoggingSettingsDto:
      type: object
      properties:
        logAllModules:
          type: boolean
          description: "Collect logs for all modules. If true, logged modules list\
            \ is not taken into account only ignored modules"
        logAllResources:
          type: boolean
          description: "Collect logs for all resources. If true, logged resources\
            \ list is not taken into account only ignored resources"
        loggedModules:
          type: array
          description: List of modules for which logs are collected.
          items:
            $ref: "#/components/schemas/Module"
          uniqueItems: true
        ignoredModules:
          type: array
          description: List of modules that will be ignored when logging.
          items:
            $ref: "#/components/schemas/Module"
          uniqueItems: true
        loggedResources:
          type: array
          description: List of resources for which logs are collected.
          items:
            $ref: "#/components/schemas/Resource"
          uniqueItems: true
        ignoredResources:
          type: array
          description: List of resources that will be ignored when logging.
          items:
            $ref: "#/components/schemas/Resource"
          uniqueItems: true
      required:
      - logAllModules
      - logAllResources
    EventsSettingsDto:
      type: object
      description: DTO representing settings of multiple events mapped by its enum
      properties:
        eventsMapping:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
              format: uuid
          description: Map of triggers associated to event where key is resource event
            enum and value is list of trigger UUIDs
          propertyNames:
            $ref: "#/components/schemas/ResourceEvent"
      required:
      - eventsMapping
    ResourceEvent:
      type: string
      enum:
      - certificate_status_changed
      - certificate_action_performed
      - certificate_discovered
      - certificate_expiring
      - certificate_not_compliant
      - certificate_uploaded
      - certificate_registered
      - discovery_finished
      - approval_requested
      - approval_closed
      - comment_created
      - comment_resolved
      - cbom_synced
      - crypto_asset_pqc_not_ready
      - scheduled_job_finished
    AuthenticationSettingsUpdateDto:
      type: object
      properties:
        disableLocalhostUser:
          type: boolean
          description: Disable using localhost user for requests from localhost
        oauth2Providers:
          type: array
          description: "List of OAuth2 providers settings to be registered. If null,\
            \ keep providers as they are, otherwise replace with providers from list"
          items:
            $ref: "#/components/schemas/OAuth2ProviderSettingsDto"
      required:
      - disableLocalhostUser
    OAuth2ProviderSettingsDto:
      type: object
      properties:
        name:
          type: string
          description: Name of OAuth2 Provider
        issuerUrl:
          type: string
          description: "URL of issuer issuing authentication tokens. If provided,\
            \ authentication via JWT token is enabled for this provider."
        clientId:
          type: string
          description: The client ID used to identify the client application during
            the authorization process.
        clientSecret:
          type: string
          description: The client secret used by the client application to authenticate
            with the authorization server.
        authorizationUrl:
          type: string
          description: The URL where the authorization server redirects the user for
            login and authorization.
        tokenUrl:
          type: string
          description: The URl used to exchange the authorization code or credentials
            for an access token.
        jwkSetUrl:
          type: string
          description: The URL where the JSON Web Key Set (JWKS) containing the public
            keys used to verify JWT tokens can be retrieved.
        jwkSet:
          type: string
          description: "Base64 encoded JWK Set, provided in case JWK Set URL is not\
            \ available"
        scope:
          type: array
          description: ' The list of scopes that define the access levels and permissions
            requested by the client application.'
          items:
            type: string
        logoutUrl:
          type: string
          description: URL to end session on provider side.
        postLogoutUrl:
          type: string
          description: URL that user will be redirected after logout from application.
        userInfoUrl:
          type: string
          description: The URL containing information about user.
        audiences:
          type: array
          description: "A list of expected audiences for validating the issued tokens,\
            \ used to match the intended recipients of the tokens."
          items:
            type: string
        skew:
          type: integer
          format: int32
          description: "The allowed time skew, in seconds, for token validation. This\
            \ accounts for clock differences between systems. Default value is 30\
            \ seconds."
        sessionMaxInactiveInterval:
          type: integer
          format: int32
          default: 900
          description: "Duration, in seconds, after which an inactive user's session\
            \ will be terminated. Default value is 900 seconds."
        usernameClaim:
          type: string
          description: The claim name used to extract the username from the token.
      required:
      - name
    OAuth2ProviderSettingsUpdateDto:
      type: object
      properties:
        issuerUrl:
          type: string
          description: "URL of issuer issuing authentication tokens. If provided,\
            \ authentication via JWT token is enabled for this provider."
        clientId:
          type: string
          description: The client ID used to identify the client application during
            the authorization process.
        clientSecret:
          type: string
          description: The client secret used by the client application to authenticate
            with the authorization server.
        authorizationUrl:
          type: string
          description: The URL where the authorization server redirects the user for
            login and authorization.
        tokenUrl:
          type: string
          description: The URl used to exchange the authorization code or credentials
            for an access token.
        jwkSetUrl:
          type: string
          description: The URL where the JSON Web Key Set (JWKS) containing the public
            keys used to verify JWT tokens can be retrieved.
        jwkSet:
          type: string
          description: "Base64 encoded JWK Set, provided in case JWK Set URL is not\
            \ available"
        scope:
          type: array
          description: ' The list of scopes that define the access levels and permissions
            requested by the client application.'
          items:
            type: string
        logoutUrl:
          type: string
          description: URL to end session on provider side.
        postLogoutUrl:
          type: string
          description: URL that user will be redirected after logout from application.
        userInfoUrl:
          type: string
          description: The URL containing information about user.
        audiences:
          type: array
          description: "A list of expected audiences for validating the issued tokens,\
            \ used to match the intended recipients of the tokens."
          items:
            type: string
        skew:
          type: integer
          format: int32
          description: "The allowed time skew, in seconds, for token validation. This\
            \ accounts for clock differences between systems. Default value is 30\
            \ seconds."
        sessionMaxInactiveInterval:
          type: integer
          format: int32
          default: 900
          description: "Duration, in seconds, after which an inactive user's session\
            \ will be terminated. Default value is 900 seconds."
        usernameClaim:
          type: string
          description: The claim name used to extract the username from the token.
    AdditionalOidPropertiesDto:
      description: Additional properties of custom OID entry
    CertificateExtensionOidPropertiesDto:
      allOf:
      - $ref: "#/components/schemas/AdditionalOidPropertiesDto"
      - type: object
        properties:
          defaultCritical:
            type: boolean
            description: Whether this extension should be marked critical by default
              when placed in a certificate
          valueEncoding:
            $ref: "#/components/schemas/ExtensionValueEncoding"
            description: ASN.1 encoding used to encode the attribute string value
              into the extension DER value
          valueSchema:
            type: string
            description: "ASN.1 module defining the extension's value type, in the\
              \ subset of X.680 the platform supports; only applicable when valueEncoding\
              \ is DER. Base64-encoded DER is accepted as the value whether or not\
              \ a module is registered; a module additionally admits values written\
              \ as JSON naming the type's members, in the JSON Encoding Rules of X.697."
            example: |-
              Demo DEFINITIONS IMPLICIT TAGS ::= BEGIN

              ServiceEntitlement ::= SEQUENCE {
                   serviceId   UTF8String (SIZE (5..32)),
                   tier        INTEGER (1..3) }

              END
      description: "How a certificate extension's value is carried. The valueSchema\
        \ field is named for the job rather than the notation: a value's shape is\
        \ described by an ASN.1 module, which is what X.697 calls a schema when it\
        \ uses ASN.1 as one for JSON."
      required:
      - defaultCritical
      - valueEncoding
    CustomOidEntryUpdateRequestDto:
      type: object
      properties:
        displayName:
          type: string
          description: Display name of the custom OID entry
          minLength: 1
        description:
          type: string
          description: Description of the custom OID entry
        category:
          $ref: "#/components/schemas/OidCategory"
          description: "Category of the OID entry. When updating OID entry, this property\
            \ does not change the category and is instead used to determine type of\
            \ additional properties."
        additionalProperties:
          description: Additional properties depending on OID category
          oneOf:
          - $ref: "#/components/schemas/CertificateExtensionOidPropertiesDto"
          - $ref: "#/components/schemas/RdnAttributeTypeOidPropertiesDto"
      required:
      - category
      - displayName
    OidCategory:
      type: string
      enum:
      - rdnAttributeType
      - extendedKeyUsage
      - certificateExtension
      - generic
    RdnAttributeTypeOidPropertiesDto:
      allOf:
      - $ref: "#/components/schemas/AdditionalOidPropertiesDto"
      - type: object
        properties:
          code:
            type: string
            description: "Code to be displayed in RDN string (e.g., CN for Common\
              \ Name)"
            minLength: 1
            pattern: "^[A-Za-z][A-Za-z0-9-]*$"
          altCodes:
            type: array
            description: Alternative codes that can appear in RDN representing the
              same OID
            items:
              type: string
              minLength: 1
              pattern: "^[A-Za-z][A-Za-z0-9-]*$"
      required:
      - code
    CustomOidEntryDetailResponseDto:
      type: object
      properties:
        oid:
          type: string
          description: Object Identifier (OID) in dot notation
        displayName:
          type: string
          description: Display name of the custom OID entry
        description:
          type: string
          description: Description of the custom OID entry
        category:
          $ref: "#/components/schemas/OidCategory"
          description: Category of the custom OID entry
        additionalProperties:
          description: Additional properties depending on the OID category
          oneOf:
          - $ref: "#/components/schemas/CertificateExtensionOidPropertiesDto"
          - $ref: "#/components/schemas/RdnAttributeTypeOidPropertiesDto"
      required:
      - category
      - displayName
      - oid
    FilterConditionOperator:
      type: string
      enum:
      - EQUALS
      - NOT_EQUALS
      - GREATER
      - GREATER_OR_EQUAL
      - LESSER
      - LESSER_OR_EQUAL
      - CONTAINS
      - NOT_CONTAINS
      - STARTS_WITH
      - ENDS_WITH
      - EMPTY
      - NOT_EMPTY
      - IN_NEXT
      - IN_PAST
      - MATCHES
      - NOT_MATCHES
      - COUNT_EQUAL
      - COUNT_NOT_EQUAL
      - COUNT_GREATER_THAN
      - COUNT_LESS_THAN
    FilterFieldSource:
      type: string
      enum:
      - meta
      - custom
      - data
      - property
    ListViewColumnDto:
      type: object
      properties:
        fieldSource:
          $ref: "#/components/schemas/FilterFieldSource"
          description: Field source of the column
        fieldIdentifier:
          type: string
          description: "Field identifier of the column, resolved against the resource's\
            \ field catalogue when the view is read. Available fields with their identifiers\
            \ can be retrieved from the resource's searchable-fields operation, for\
            \ example `GET /v1/certificates/search` or `GET /v2/connectors/search`."
          minLength: 1
        label:
          type: string
          description: "Heading to show instead of the field's catalogue label, for\
            \ this view only. Absent or null means the column uses the catalogue label,\
            \ so a field that is later relabelled follows along. An empty or whitespace-only\
            \ string is preserved as given and shows no visible heading."
          maxLength: 255
          minLength: 0
        attributeDefinitionUuids:
          type: array
          description: "Attribute definitions the column is bound to, set by the server\
            \ when the column is added or rebound. Absent for a property column. Only\
            \ definitions of the view's resource count. Empty for an attribute column\
            \ whose definition was already gone when stored views were first bound.\
            \ A value sent in a request is ignored."
          items:
            type: string
            format: uuid
            example: 6f1d2c1e-6c3a-4c5e-9f0a-2b7d8e9f0a1b
          readOnly: true
        status:
          $ref: "#/components/schemas/ListViewFieldStatus"
          description: "How the column resolves for the caller when the view is read.\
            \ A client shows only an `available` column as its field; an `unavailable`\
            \ or `replaced` one is dormant and offered for removal, and a `replaced`\
            \ one also for rebinding. Returned on every read and write response; a\
            \ value sent in a request is ignored."
          readOnly: true
        rebind:
          type: boolean
          default: false
          description: "Set to true to bind an attribute column the view already holds\
            \ to the attribute definitions now behind its identifier, which is how\
            \ a client accepts a `replaced` column. Absent or false carries a column\
            \ the view already holds over: while it still resolves it follows the\
            \ definitions currently behind its identifier, and once it no longer does\
            \ it keeps the binding it had, so a replacement never takes it over. Any\
            \ other column is bound to the current definitions. Any column sent with\
            \ rebind is held to the catalogue as a newly added one, property columns\
            \ included, but only an attribute column has a binding to change. The\
            \ flag is not stored."
          writeOnly: true
      required:
      - fieldIdentifier
      - fieldSource
    ListViewFieldStatus:
      type: string
      enum:
      - available
      - unavailable
      - replaced
    ListViewFilterDto:
      type: object
      properties:
        fieldSource:
          $ref: "#/components/schemas/FilterFieldSource"
          description: Field group of search filter
        fieldIdentifier:
          type: string
          description: "Field identifier of search filter. List of available fields\
            \ with their identifiers can be retrieved from the resource's searchable-fields\
            \ operation, e.g.: [**GET /v1/certificates/search**](../core-certificate/#tag/Certificate-Inventory/operation/getSearchableFieldInformation)"
          minLength: 1
        condition:
          $ref: "#/components/schemas/FilterConditionOperator"
          description: Condition for the search filter
        value:
          description: Value to match
        attributeDefinitionUuids:
          type: array
          description: "Attribute definitions the filter is bound to, set by the server\
            \ when the filter is added or rebound. Absent for a property filter. Only\
            \ definitions of the view's resource count. Empty for an attribute filter\
            \ whose definition was already gone when stored views were first bound.\
            \ A value sent in a request is ignored."
          items:
            type: string
            format: uuid
            example: 6f1d2c1e-6c3a-4c5e-9f0a-2b7d8e9f0a1b
          readOnly: true
        status:
          $ref: "#/components/schemas/ListViewFieldStatus"
          description: "How the filter resolves for the caller when the view is read.\
            \ A client applies only an `available` filter to the listing; an `unavailable`\
            \ or `replaced` one is dormant and offered for removal, and a `replaced`\
            \ one also for rebinding. Returned on every read and write response; a\
            \ value sent in a request is ignored."
          readOnly: true
        rebind:
          type: boolean
          default: false
          description: "Set to true to bind an attribute filter the view already holds\
            \ to the attribute definitions now behind its identifier, which is how\
            \ a client accepts a `replaced` filter. Absent or false carries a filter\
            \ the view already holds over: while it still resolves it follows the\
            \ definitions currently behind its identifier, and once it no longer does\
            \ it keeps the binding it had, so a replacement never takes it over. Any\
            \ other filter is bound to the current definitions. Any filter sent with\
            \ rebind is held to the catalogue as a newly added one, property filters\
            \ included, but only an attribute filter has a binding to change. The\
            \ flag is not stored."
          writeOnly: true
      required:
      - condition
      - fieldIdentifier
      - fieldSource
    ListViewSortRequestDto:
      type: object
      properties:
        fieldSource:
          $ref: "#/components/schemas/FilterFieldSource"
          description: Field source of the field to sort by
        fieldIdentifier:
          type: string
          description: "Field identifier of the field to sort by. Available fields\
            \ with their identifiers can be retrieved from the resource's searchable-fields\
            \ operation, for example `GET /v1/certificates/search` or `GET /v2/connectors/search`;\
            \ only fields marked as sortable may be sorted by."
          minLength: 1
        direction:
          $ref: "#/components/schemas/SortDirection"
          description: Direction of the ordering
        rebind:
          type: boolean
          default: false
          description: "Set to true when the user chose this ordering now, to bind\
            \ an attribute ordering to the attribute definitions currently behind\
            \ its identifier. Absent or false carries an ordering sent exactly as\
            \ the view stores it - same field and direction - over, provided the listing\
            \ still offers its field and can order by it: while it still resolves\
            \ it follows the definitions currently behind its identifier, and once\
            \ it no longer does, because the attribute was replaced, it keeps the\
            \ binding it had, so the replacement never takes it over and the view\
            \ reads back without it. Any other ordering is bound to the current definitions.\
            \ Only an attribute ordering has a binding to change. The flag is not\
            \ stored."
          writeOnly: true
      required:
      - direction
      - fieldIdentifier
      - fieldSource
    ListViewUpdateRequestDto:
      type: object
      properties:
        name:
          type: string
          description: "Name of the view, unique per user and resource"
          examples:
          - Expiry watch
          maxLength: 255
          minLength: 0
        columns:
          type: array
          description: "Columns of the view, in display order. A column whose field\
            \ the resource no longer defines, such as a deleted attribute, or can\
            \ no longer show as a column is accepted only when editing a view that\
            \ already holds it; a new view may name only fields the resource defines\
            \ and can show. A column the view already holds is never bound to a replacement\
            \ definition unless it is sent with `rebind`; see the column's `rebind`\
            \ for how its binding is carried over."
          items:
            $ref: "#/components/schemas/ListViewColumnDto"
          minItems: 1
        defaultView:
          type: boolean
          default: false
          description: Whether this view applies when the listing is opened. At most
            one view per user and resource is the default; marking a view default
            clears the flag on the previous one.
        filters:
          type: array
          description: Filters the view applies. Absent or empty means the view applies
            no filter of its own and shows the whole inventory. A filter on a field
            the resource no longer defines is accepted only when editing a view that
            already holds that exact filter. A filter the view already holds is never
            bound to a replacement definition unless it is sent with `rebind`; see
            the filter's `rebind` for how its binding is carried over.
          items:
            $ref: "#/components/schemas/ListViewFilterDto"
        sort:
          $ref: "#/components/schemas/ListViewSortRequestDto"
          description: "Ordering the view applies. Absent means the view falls back\
            \ to the endpoint's own default ordering. An ordering the view already\
            \ holds is never bound to a replacement definition unless it is sent with\
            \ `rebind`; see the ordering's `rebind` for how its binding is carried\
            \ over. Unlike a column or a filter, an ordering is refused once the listing\
            \ no longer offers its field or can no longer order by it, even one the\
            \ view already holds, so a client drops an ordering the view no longer\
            \ returns rather than sending it back."
      required:
      - columns
      - name
    SortDirection:
      type: string
      enum:
      - asc
      - desc
    ListViewDto:
      type: object
      properties:
        uuid:
          type: string
          description: UUID of the view
        name:
          type: string
          description: Name of the view
          examples:
          - Expiry watch
        resource:
          $ref: "#/components/schemas/Resource"
          description: Resource whose listing the view applies to
          examples:
          - certificates
        columns:
          type: array
          description: "Columns of the view, in display order. A column whose field\
            \ the resource no longer defines, such as a deleted attribute, or whose\
            \ attribute identifier is now backed by a different definition, is still\
            \ returned with its `status` saying so, so a client can show it as dormant\
            \ and offer to remove or rebind it."
          items:
            $ref: "#/components/schemas/ListViewColumnDto"
        defaultView:
          type: boolean
          default: false
          description: Whether this view applies when the listing is opened
        filters:
          type: array
          description: Filters the view applies. Absent or empty means the view shows
            the whole inventory. Only a filter whose `status` is `available` is meant
            to be applied to the listing.
          items:
            $ref: "#/components/schemas/ListViewFilterDto"
        sort:
          $ref: "#/components/schemas/SearchSortRequestDto"
          description: "Ordering the view applies. Absent means the endpoint's own\
            \ default ordering, which is also what a stored ordering reads back as\
            \ once the listing cannot order by its field, or once that field is an\
            \ attribute no longer backed by the definitions the ordering was bound\
            \ to when it was saved."
      required:
      - columns
      - defaultView
      - name
      - resource
      - uuid
    SearchSortRequestDto:
      type: object
      properties:
        fieldSource:
          $ref: "#/components/schemas/FilterFieldSource"
          description: Field source of the field to sort by
        fieldIdentifier:
          type: string
          description: "Field identifier of the field to sort by. Available fields\
            \ with their identifiers can be retrieved from the resource's searchable-fields\
            \ operation, for example `GET /v1/certificates/search` or `GET /v2/connectors/search`;\
            \ only fields marked as sortable may be sorted by."
          minLength: 1
        direction:
          $ref: "#/components/schemas/SortDirection"
          description: Direction of the ordering
      required:
      - direction
      - fieldIdentifier
      - fieldSource
    CustomOidEntryRequestDto:
      type: object
      properties:
        displayName:
          type: string
          description: Display name of the custom OID entry
          minLength: 1
        description:
          type: string
          description: Description of the custom OID entry
        category:
          $ref: "#/components/schemas/OidCategory"
          description: "Category of the OID entry. When updating OID entry, this property\
            \ does not change the category and is instead used to determine type of\
            \ additional properties."
        additionalProperties:
          description: Additional properties depending on OID category
          oneOf:
          - $ref: "#/components/schemas/CertificateExtensionOidPropertiesDto"
          - $ref: "#/components/schemas/RdnAttributeTypeOidPropertiesDto"
        oid:
          type: string
          description: "Object Identifier (OID) in dot notation (e.g., 1.2.840.113549.1.1.1)"
          example: 1.2.840.113549.1.1.1
          minLength: 1
          pattern: "^([01]\\.(\\d|[1-3]\\d)|2\\.(0|[1-9]\\d*))(\\.(0|[1-9]\\d*)){0,49}$"
      required:
      - category
      - displayName
      - oid
    SearchColumnRequestDto:
      type: object
      properties:
        fieldSource:
          $ref: "#/components/schemas/FilterFieldSource"
          description: Field source of the column
        fieldIdentifier:
          type: string
          description: "Field identifier of the column. Available fields with their\
            \ identifiers can be retrieved from the resource's searchable-fields operation,\
            \ for example `GET /v1/certificates/search` or `GET /v2/connectors/search`;\
            \ only fields marked as displayable may be requested as a column."
          minLength: 1
      required:
      - fieldIdentifier
      - fieldSource
    SearchFilterRequestDto:
      type: object
      properties:
        fieldSource:
          $ref: "#/components/schemas/FilterFieldSource"
          description: Field group of search filter
        fieldIdentifier:
          type: string
          description: "Field identifier of search filter. List of available fields\
            \ with their identifiers can be retrieved from the resource's searchable-fields\
            \ operation, e.g.: [**GET /v1/certificates/search**](../core-certificate/#tag/Certificate-Inventory/operation/getSearchableFieldInformation)"
          minLength: 1
        condition:
          $ref: "#/components/schemas/FilterConditionOperator"
          description: Condition for the search filter
        value:
          description: Value to match
      required:
      - condition
      - fieldIdentifier
      - fieldSource
    SearchRequestDto:
      type: object
      properties:
        filters:
          type: array
          description: Certificate filter input
          items:
            $ref: "#/components/schemas/SearchFilterRequestDto"
        itemsPerPage:
          type: integer
          format: int32
          default: 10
          description: Number of entries per page
          maximum: 1000
        pageNumber:
          type: integer
          format: int32
          default: 1
          description: Page number for the request
        sort:
          $ref: "#/components/schemas/SearchSortRequestDto"
          description: "Ordering of the whole result set. When omitted, the endpoint's\
            \ own default ordering applies, unchanged from before this field existed."
        columns:
          type: array
          description: "Fields to return as columns. When omitted, the response carries\
            \ the endpoint's full default shape, unchanged from before this field\
            \ existed. Requesting attribute-sourced fields adds their values to each\
            \ returned object."
          items:
            $ref: "#/components/schemas/SearchColumnRequestDto"
    CustomOidEntryListResponseDto:
      type: object
      properties:
        itemsPerPage:
          type: integer
          format: int32
          description: Number of entries per page
        pageNumber:
          type: integer
          format: int32
          description: Page number for the request
        totalPages:
          type: integer
          format: int32
          description: Number of pages available
        totalItems:
          type: integer
          format: int64
          description: Number of items available
        oidEntries:
          type: array
          description: List of custom OID entries
          items:
            $ref: "#/components/schemas/CustomOidEntryResponseDto"
      required:
      - itemsPerPage
      - pageNumber
      - totalItems
      - totalPages
    CustomOidEntryResponseDto:
      type: object
      properties:
        oid:
          type: string
          description: Object Identifier (OID) in dot notation
        displayName:
          type: string
          description: Display name of the custom OID entry
        description:
          type: string
          description: Description of the custom OID entry
        category:
          $ref: "#/components/schemas/OidCategory"
          description: Category of the custom OID entry
      required:
      - category
      - displayName
      - oid
    ListViewRequestDto:
      type: object
      properties:
        name:
          type: string
          description: "Name of the view, unique per user and resource"
          examples:
          - Expiry watch
          maxLength: 255
          minLength: 0
        columns:
          type: array
          description: "Columns of the view, in display order. A column whose field\
            \ the resource no longer defines, such as a deleted attribute, or can\
            \ no longer show as a column is accepted only when editing a view that\
            \ already holds it; a new view may name only fields the resource defines\
            \ and can show. A column the view already holds is never bound to a replacement\
            \ definition unless it is sent with `rebind`; see the column's `rebind`\
            \ for how its binding is carried over."
          items:
            $ref: "#/components/schemas/ListViewColumnDto"
          minItems: 1
        defaultView:
          type: boolean
          default: false
          description: Whether this view applies when the listing is opened. At most
            one view per user and resource is the default; marking a view default
            clears the flag on the previous one.
        filters:
          type: array
          description: Filters the view applies. Absent or empty means the view applies
            no filter of its own and shows the whole inventory. A filter on a field
            the resource no longer defines is accepted only when editing a view that
            already holds that exact filter. A filter the view already holds is never
            bound to a replacement definition unless it is sent with `rebind`; see
            the filter's `rebind` for how its binding is carried over.
          items:
            $ref: "#/components/schemas/ListViewFilterDto"
        sort:
          $ref: "#/components/schemas/ListViewSortRequestDto"
          description: "Ordering the view applies. Absent means the view falls back\
            \ to the endpoint's own default ordering. An ordering the view already\
            \ holds is never bound to a replacement definition unless it is sent with\
            \ `rebind`; see the ordering's `rebind` for how its binding is carried\
            \ over. Unlike a column or a filter, an ordering is refused once the listing\
            \ no longer offers its field or can no longer order by it, even one the\
            \ view already holds, so a client drops an ordering the view no longer\
            \ returns rather than sending it back."
        resource:
          $ref: "#/components/schemas/Resource"
          description: Resource whose listing the view applies to
          examples:
          - certificates
      required:
      - columns
      - name
      - resource
    ActorRecord:
      type: object
      properties:
        type:
          $ref: "#/components/schemas/ActorType"
        authMethod:
          $ref: "#/components/schemas/AuthMethod"
        uuid:
          type: string
          format: uuid
        name:
          type: string
      required:
      - authMethod
      - type
    ActorType:
      type: string
      enum:
      - anonymous
      - core
      - user
      - connector
      - protocol
    AuditLogDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Audit log Id
        version:
          type: string
          description: Log schema version
        loggedAt:
          type: string
          format: date-time
          description: Time when the audit log is stored
        timestamp:
          type: string
          format: date-time
          description: Time when the audit log has been created
        module:
          $ref: "#/components/schemas/Module"
          description: Module of platform where log occurred
        actor:
          $ref: "#/components/schemas/ActorRecord"
          description: Actor of log record
        source:
          $ref: "#/components/schemas/SourceRecord"
          description: Source of log record
        resource:
          $ref: "#/components/schemas/ResourceRecord"
          description: Resource that is subject of action logged
        affiliatedResource:
          $ref: "#/components/schemas/ResourceRecord"
          description: Affiliated resource that is related to subject resource
        operation:
          $ref: "#/components/schemas/Operation"
          description: Resource operation that is being logged
        operationResult:
          $ref: "#/components/schemas/OperationResult"
          description: Result of the resource operation. Either success or failed
        message:
          type: string
          description: Additional message
        operationData:
          description: Structured data dependent on resource and its operation
        additionalData:
          type: object
          additionalProperties: {}
          description: Additional data specific to event logged
      required:
      - actor
      - id
      - loggedAt
      - module
      - operation
      - operationResult
      - resource
      - timestamp
      - version
    AuditLogResponseDto:
      type: object
      properties:
        itemsPerPage:
          type: integer
          format: int32
          description: Number of entries per page
        pageNumber:
          type: integer
          format: int32
          description: Page number for the request
        totalPages:
          type: integer
          format: int32
          description: Number of pages available
        totalItems:
          type: integer
          format: int64
          description: Number of items available
        items:
          type: array
          description: Audit log items
          items:
            $ref: "#/components/schemas/AuditLogDto"
      required:
      - items
      - itemsPerPage
      - pageNumber
      - totalItems
      - totalPages
    AuthMethod:
      type: string
      enum:
      - none
      - certificate
      - token
      - session
      - apiKey
      - userProxy
    Operation:
      type: string
      enum:
      - unknown
      - list
      - detail
      - create
      - update
      - delete
      - forceDelete
      - add
      - remove
      - resolve
      - unresolve
      - request
      - register
      - enable
      - disable
      - activate
      - deactivate
      - listAssociations
      - associate
      - disassociate
      - history
      - summary
      - listRules
      - getComplianceResult
      - checkCompliance
      - checkValidation
      - issue
      - renew
      - rekey
      - revoke
      - export
      - import
      - inspect
      - getStatus
      - getContent
      - getChain
      - download
      - downloadChain
      - getProtocolInfo
      - listProtocolCertificates
      - updateProtocolIssueProfile
      - activateProtocol
      - deactivateProtocol
      - acmeDirectory
      - acmeNonce
      - acmeKeyRollover
      - acmeValidate
      - acmeFinalize
      - scepCaCapabilities
      - scepCertificatePoll
      - scepTransactionCheck
      - cmpConfirm
      - upload
      - sync
      - retry
      - compromise
      - destroy
      - updateKeyUsage
      - listKeyRequestTypes
      - encrypt
      - decrypt
      - sign
      - verify
      - randomData
      - pushToLocation
      - removeFromLocation
      - issueInLocation
      - renewInLocation
      - connect
      - reconnect
      - checkHealth
      - getConnectorInfo
      - statistics
      - approve
      - approveOverride
      - reject
      - rejectOverride
      - login
      - logout
      - authentication
      - getUserProfile
      - updateUserProfile
      - identify
      - markAsRead
      - getPermissions
      - getObjectPermissions
      - updatePermissions
      - updateObjectPermissions
      - schedule
      - listAttributes
      - listResources
      - validateAttributes
      - attributeCallback
      - updateAttributeResources
      - updateAttributeContent
      - deleteAttributeContent
      - promoteMetadata
      - archive
      - unarchive
      - finalizeIssue
      - confirmRevoke
      - stop
      - resume
      - cancel
      - getAssociations
      - listVersions
      - getProxyInstallation
      - listCertificateProfiles
      - listCas
    OperationResult:
      type: string
      enum:
      - success
      - failure
    ResourceObjectIdentity:
      type: object
      properties:
        name:
          type: string
        uuid:
          type: string
          format: uuid
    ResourceRecord:
      type: object
      properties:
        type:
          $ref: "#/components/schemas/Resource"
        objects:
          type: array
          items:
            $ref: "#/components/schemas/ResourceObjectIdentity"
      required:
      - type
    SourceRecord:
      type: object
      properties:
        method:
          type: string
        path:
          type: string
        contentType:
          type: string
        ipAddress:
          type: string
        userAgent:
          type: string
      required:
      - method
      - path
    EventSettingsDto:
      type: object
      description: DTO representing settings of single event
      properties:
        event:
          $ref: "#/components/schemas/ResourceEvent"
          description: Resource event
        triggerUuids:
          type: array
          description: List of triggers associated with event
          items:
            type: string
            format: uuid
      required:
      - event
      - triggerUuids
    StatisticsDto:
      type: object
      properties:
        totalCertificates:
          type: integer
          format: int64
          description: Number Certificates available
        totalGroups:
          type: integer
          format: int64
          description: Number of Groups
        totalDiscoveries:
          type: integer
          format: int64
          description: Number of Discoveries triggered
        totalConnectors:
          type: integer
          format: int64
          description: Number of Connectors added
        totalRaProfiles:
          type: integer
          format: int64
          description: Number of RA Profiles in the platform
        totalCredentials:
          type: integer
          format: int64
          description: Number of Credentials
        totalAuthorities:
          type: integer
          format: int64
          description: Number of Authority instances
        totalAdministrators:
          type: integer
          format: int64
          description: Number of Administrators
        totalClients:
          type: integer
          format: int64
          description: Number of Clients added
        groupStatByCertificateCount:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Certificate count by Group
        raProfileStatByCertificateCount:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Certificate count by RA Profile
        certificateStatByType:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Certificate count by Type
        certificateStatByExpiry:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Certificate count by expiry date
        certificateStatByKeySize:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Certificate count by key size
        certificateStatBySubjectType:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Certificate count by subject type
        certificateStatByState:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Certificate count by state
        certificateStatByValidationStatus:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Certificate count by validationStatus
        certificateStatByComplianceStatus:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Certificate count by compliance status
        totalSecrets:
          type: integer
          format: int64
          description: Number of Secrets
        totalVaultInstances:
          type: integer
          format: int64
          description: Number of Vault Instances
        totalVaultProfiles:
          type: integer
          format: int64
          description: Number of Vault Profiles
        secretStatByType:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Secret count by type
        secretStatByState:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Secret count by state
        secretStatByComplianceStatus:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Secret count by compliance status
        secretStatByVaultProfile:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Secret count by vault profile
        secretStatByGroup:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Secret count by group
        connectorStatByStatus:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Connector count by status
        raProfileStatByStatus:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of RA Profile count by status
        administratorStatByStatus:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Administrator count by status
        clientStatByStatus:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of Client count by status
    SigningRecordStatisticsPeriod:
      type: string
      enum:
      - 24h
      - 7d
      - 30d
      - 90d
    SigningRecordStatisticsDto:
      type: object
      description: Signing Records dashboard statistics
      properties:
        totalRetained:
          type: integer
          format: int64
          description: Total signing records currently retained (across the retention
            window)
        countLast24h:
          type: integer
          format: int64
          description: "Signings performed in the last 24 hours, including those whose\
            \ records have since been deleted. History is kept per hour, so the window\
            \ opens at the start of the hour rather than 24 hours to the second."
        countLast7d:
          type: integer
          format: int64
          description: "Signings performed in the last 7 days, including those whose\
            \ records have since been deleted. History is kept per hour, so the window\
            \ opens at the start of the hour rather than 7 days to the second."
        activeProfileCount:
          type: integer
          format: int64
          description: Number of distinct signing profiles that produced at least
            one retained record
        distinctRequesterCount:
          type: integer
          format: int64
          description: Number of distinct requesters that produced at least one retained
            record. Lets the client render a "+k more" overflow beyond the top-N entries
            in statByRequester.
        volumeOverTime:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: "Signing volume over the requested period, including signings\
            \ whose records have since been deleted. Ordered map of bucket start to\
            \ count, keyed by ISO-8601 UTC instant (hourly buckets for the 24h period,\
            \ daily otherwise). Buckets are dense: every bucket in the window is present,\
            \ with 0 for buckets that had no signings."
        statByProfile:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Retained record count by signing profile name
        statByRequester:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: "Retained record count by requester username, limited to the\
            \ top-N requesters by count. Use distinctRequesterCount for the total.\
            \ Records with no requester are grouped under \"Unassigned\"."
        statByWorkflowType:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Retained record count by signing workflow type. Keys are SigningWorkflowType
            codes.
        statByProtocol:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: "Retained record count by signing protocol. Keys are SigningProtocol\
            \ codes, grouped on the protocol persisted on each record at signing time."
        statByScheme:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: "Retained record count by signing scheme, flattened as the\
            \ cross-product of signing scheme and managed signing type: 'delegated',\
            \ 'managed_static_key', 'managed_one_time_key' (and more later)."
    CryptographicAssetStatisticsDto:
      type: object
      description: Cryptographic asset inventory dashboard statistics
      properties:
        totalAssets:
          type: integer
          format: int64
          description: Total number of deduplicated cryptographic assets in the inventory
        sourceCbomCount:
          type: integer
          format: int64
          description: Number of CBOM documents that contributed at least one asset
            to the inventory; documents whose assets are not yet synced do not count
        statByType:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: "Asset count by asset type. Keys are the four CycloneDX asset\
            \ type codes; every one is present, with 0 when none. Assets with no asset\
            \ type are counted in untypedAssetCount instead"
        untypedAssetCount:
          type: integer
          format: int64
          description: "Number of assets served with no asset type, because their\
            \ producer declared none of the CycloneDX asset types. Never counted in\
            \ statByType"
        statByPqcVerdict:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: "Asset count by PQC readiness verdict. Keys are PqcVerdict\
            \ codes; every verdict is present, with 0 when none"
        statByAlgorithmFamily:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: "Asset count by algorithm family, limited to the top-N families\
            \ by count. Use distinctAlgorithmFamilyCount for the total number of families;\
            \ assets with no family are counted in unassignedAssetCount and never\
            \ occupy a slot here"
        distinctAlgorithmFamilyCount:
          type: integer
          format: int64
          description: "Number of distinct algorithm families across the inventory,\
            \ excluding assets with no family. Lets the client render a \"+k more\"\
            \ overflow beyond the top-N entries in statByAlgorithmFamily"
        unassignedAssetCount:
          type: integer
          format: int64
          description: "Number of assets with no algorithm family, which is common:\
            \ the family concept does not apply to most related-crypto-material. Never\
            \ counted in statByAlgorithmFamily or distinctAlgorithmFamilyCount"
        syncCompleteness:
          $ref: "#/components/schemas/CryptographicAssetSyncCompletenessDto"
          description: How completely the inventory reflects the stored CBOM documents
    CryptographicAssetSyncCompletenessDto:
      type: object
      description: Coverage of the cryptographic asset sync across stored CBOM documents
      properties:
        cbomStatBySyncState:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: "CBOM document count by asset sync state. Keys are CbomAssetSyncState\
            \ codes; every state is present, with 0 when none"
        lastCompletedSyncAt:
          type: string
          format: date-time
          description: The most recent time any record successfully reached the synced
            state; absent until the first record does
    BrandingSettingsDto:
      type: object
      properties:
        primaryColor:
          type: string
          description: "Primary brand color, used for the header and for solid interactive\
            \ elements"
          examples:
          - "#0073CF"
        secondaryColor:
          type: string
          description: "Secondary brand color, used as an accent"
          examples:
          - "#00A3E0"
        backgroundColor:
          type: string
          description: Page background color of the branded theme
          examples:
          - "#FFFFFF"
        textColor:
          type: string
          description: Body text color of the branded theme
          examples:
          - "#171717"
        lightLogo:
          type: string
          description: "Logo shown by the branded light theme, as a base64 data URI"
          examples:
          - "data:image/png;base64,iVBORw0KGgo="
        darkLogo:
          type: string
          description: "Logo shown by the branded dark theme, as a base64 data URI"
          examples:
          - "data:image/svg+xml;base64,PHN2Zy8+"
        defaultTheme:
          $ref: "#/components/schemas/BrandingTheme"
          description: Branded theme applied when the user has expressed no preference
            of their own
    CertificateRegistrationSettingsDto:
      type: object
      properties:
        defaultIssuanceWindowDays:
          type: integer
          format: int32
          description: "Default issuance window in days, applied when a pre-registration\
            \ omits an explicit expiry"
          minimum: 1
        maxFailedAttempts:
          type: integer
          format: int32
          description: Maximum failed challenge-verification attempts before the registration
            authorization locks
          minimum: 1
    CertificateRequestAttributesSettingsDto:
      type: object
      description: Editable platform default request-attribute definitions (terminal
        fallback set).
      properties:
        requestAttributes:
          type: array
          description: Ordered list of platform default request-attribute definitions
          items:
            $ref: "#/components/schemas/BaseAttributeDto"
        externalCsrValidationStrict:
          type: boolean
          description: Platform default for external-CSR strictness; an RA Profile
            inherits this when its own externalCsrValidationStrict is null
    CertificateSettingsDto:
      type: object
      properties:
        validation:
          $ref: "#/components/schemas/CertificateValidationSettingsDto"
        requestAttributes:
          $ref: "#/components/schemas/CertificateRequestAttributesSettingsDto"
        registration:
          $ref: "#/components/schemas/CertificateRegistrationSettingsDto"
    CertificateValidationSettingsDto:
      type: object
      properties:
        enabled:
          type: boolean
          description: Indicator whether validation of certificates should be enabled
        frequency:
          type: integer
          format: int32
          description: Frequency of validation of certificates in days
          minimum: 1
        expiringThreshold:
          type: integer
          format: int32
          description: How many days before expiration should certificate validation
            status change to Expiring
          minimum: 1
      required:
      - enabled
    PlatformSettingsDto:
      type: object
      properties:
        utils:
          $ref: "#/components/schemas/UtilsSettingsDto"
          description: Utils settings of the platform
        certificates:
          $ref: "#/components/schemas/CertificateSettingsDto"
          description: Settings applicable to all certificates in inventory by default
        branding:
          $ref: "#/components/schemas/BrandingSettingsDto"
          description: Branding applied across the platform user interface
    AuthenticationSettingsDto:
      type: object
      properties:
        disableLocalhostUser:
          type: boolean
          description: Disable using localhost user for requests from localhost
        oauth2Providers:
          type: object
          additionalProperties:
            $ref: "#/components/schemas/OAuth2ProviderSettingsDto"
          description: Map of OAuth2 providers settings where key is provider name
      required:
      - disableLocalhostUser
      - oauth2Providers
    JwkDto:
      type: object
      properties:
        kid:
          type: string
          description: The key ID parameter used to match a specific key in provider
        publicKey:
          type: string
          description: Base64 encoded value of public key
        keyType:
          type: string
          description: "The cryptographic algorithm family used with the key, such\
            \ as \"RSA\" or \"EC\""
        algorithm:
          type: string
          description: The algorithm intended for use with the key
        use:
          type: string
          description: The intended use of the public key
      required:
      - kid
      - publicKey
    JwkSetLoadFailure:
      type: string
      description: Reason the configured JWK Set could not be loaded for display
      enum:
      - unavailable
      - invalid
      - tooLarge
    OAuth2ProviderSettingsResponseDto:
      type: object
      properties:
        issuerUrl:
          type: string
          description: "URL of issuer issuing authentication tokens. If provided,\
            \ authentication via JWT token is enabled for this provider."
        clientId:
          type: string
          description: The client ID used to identify the client application during
            the authorization process.
        clientSecret:
          type: string
          description: The client secret used by the client application to authenticate
            with the authorization server.
        authorizationUrl:
          type: string
          description: The URL where the authorization server redirects the user for
            login and authorization.
        tokenUrl:
          type: string
          description: The URl used to exchange the authorization code or credentials
            for an access token.
        jwkSetUrl:
          type: string
          description: The URL where the JSON Web Key Set (JWKS) containing the public
            keys used to verify JWT tokens can be retrieved.
        jwkSet:
          type: string
          description: "Base64 encoded JWK Set, provided in case JWK Set URL is not\
            \ available"
        scope:
          type: array
          description: ' The list of scopes that define the access levels and permissions
            requested by the client application.'
          items:
            type: string
        logoutUrl:
          type: string
          description: URL to end session on provider side.
        postLogoutUrl:
          type: string
          description: URL that user will be redirected after logout from application.
        userInfoUrl:
          type: string
          description: The URL containing information about user.
        audiences:
          type: array
          description: "A list of expected audiences for validating the issued tokens,\
            \ used to match the intended recipients of the tokens."
          items:
            type: string
        skew:
          type: integer
          format: int32
          description: "The allowed time skew, in seconds, for token validation. This\
            \ accounts for clock differences between systems. Default value is 30\
            \ seconds."
        sessionMaxInactiveInterval:
          type: integer
          format: int32
          default: 900
          description: "Duration, in seconds, after which an inactive user's session\
            \ will be terminated. Default value is 900 seconds."
        usernameClaim:
          type: string
          description: The claim name used to extract the username from the token.
        name:
          type: string
          description: Name of OAuth2 Provider
        jwkSetKeys:
          type: array
          description: List of public keys used by the provider
          items:
            $ref: "#/components/schemas/JwkDto"
        jwkSetLoadFailure:
          $ref: "#/components/schemas/JwkSetLoadFailure"
          description: Reason the configured JWK Set could not be loaded. Absent when
            loading succeeded or no explicit JWK Set source is configured.
      required:
      - jwkSetKeys
      - name
    ResourceDto:
      type: object
      properties:
        resource:
          $ref: "#/components/schemas/Resource"
          description: Resource code
          examples:
          - certificates
        hasObjectAccess:
          type: boolean
          description: "If resource has Object access permissions. True = Yes, False\
            \ = No"
        hasCustomAttributes:
          type: boolean
          description: Support assigning custom attributes to resource objects
        hasGroups:
          type: boolean
          description: Support assigning groups to resource objects
        hasOwner:
          type: boolean
          description: Support assigning owner to resource objects
        hasEvents:
          type: boolean
          description: Has events that can be used in triggers
        hasRuleEvaluator:
          type: boolean
          description: Has rule evaluator that can evaluate conditions and actions
        complianceSubject:
          type: boolean
          description: Is resource subject of compliance check and can compliance
            be run on objects of this resource
        hasComplianceProfiles:
          type: boolean
          description: Can compliance profiles be assigned to objects of this resource
      required:
      - complianceSubject
      - hasComplianceProfiles
      - hasCustomAttributes
      - hasEvents
      - hasGroups
      - hasObjectAccess
      - hasOwner
      - hasRuleEvaluator
      - resource
    FilterFieldType:
      type: string
      enum:
      - string
      - number
      - list
      - date
      - datetime
      - boolean
    PlatformEnum:
      type: string
      enum:
      - Resource
      - ResourceAction
      - FilterConditionOperator
      - FilterFieldType
      - FilterFieldSource
      - SortDirection
      - SettingsSection
      - JwkSetLoadFailure
      - AuthType
      - HealthStatus
      - ConnectorStatus
      - FunctionGroupCode
      - ConnectorVersion
      - ConnectorInterface
      - FeatureFlag
      - CertificateType
      - CertificateState
      - CertificateValidationStatus
      - CertificateFormat
      - CertificateFormatEncoding
      - CertificateValidationCheck
      - CertificateRevocationReason
      - CertificateRequestFormat
      - DiscoveryStatus
      - DiscoveryMessageSeverity
      - CertificateProtocol
      - CertificateSubjectType
      - CertificateKeyUsage
      - CertificateRelationType
      - OidCategory
      - KeyAlgorithm
      - KeyFormat
      - KeyState
      - KeyType
      - KeyUsage
      - KeyRequestType
      - KeyCompromiseReason
      - TokenInstanceStatus
      - DigestAlgorithm
      - RsaSignatureScheme
      - RsaEncryptionScheme
      - ComplianceStatus
      - ComplianceRuleStatus
      - AccountStatus
      - ProtectionMethod
      - CmpProfileVariant
      - ProtocolChallengeSource
      - AcmeIdentifierMatchType
      - AcmeIdentifierAuthorizationMode
      - AttributeType
      - AttributeContentType
      - AttributeConstraintType
      - AttributeValueTarget
      - ProgrammingLanguageEnum
      - AttributeVersion
      - ProtectionLevel
      - SchedulerJobExecutionStatus
      - ScheduledJobScheduleState
      - RecipientType
      - NotificationDataCategory
      - TriggerType
      - ConditionType
      - ExecutionType
      - ResourceEvent
      - Module
      - ActorType
      - AuthMethod
      - Operation
      - OperationResult
      - ApprovalStatusEnum
      - SecretType
      - KeyStoreType
      - SecretState
      - ManagedSigningType
      - QcType
      - SignatureFamily
      - SignatureLevel
      - SigningProtocol
      - SigningScheme
      - SigningWorkflowType
      - TimestampSourceType
      - TspAuthenticationMethod
      - CbomAssetSyncState
      - CbomSyncSkipState
      - CryptographicAssetType
      - PqcVerdict
      - PqcExplanationStepOutcome
    SearchFieldDataByGroupDto:
      type: object
      properties:
        filterFieldSource:
          $ref: "#/components/schemas/FilterFieldSource"
          description: Search group
        searchFieldData:
          type: array
          description: List of search fields for specified search group
          items:
            $ref: "#/components/schemas/SearchFieldDataDto"
      required:
      - filterFieldSource
    SearchFieldDataDto:
      type: object
      properties:
        fieldIdentifier:
          type: string
          description: Identifier of field to search
        fieldLabel:
          type: string
          description: Label for the field
        type:
          $ref: "#/components/schemas/FilterFieldType"
          description: Type of the field
        conditions:
          type: array
          description: List of available conditions for the field
          items:
            $ref: "#/components/schemas/FilterConditionOperator"
        platformEnum:
          $ref: "#/components/schemas/PlatformEnum"
          description: Platform enum of the field values
        attributeContentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Attribute filter field content type
        value:
          description: Available values for the field
        multiValue:
          type: boolean
          description: "Multivalue flag. true = yes, false = no"
        displayable:
          type: boolean
          description: "Whether the field may be requested as a column of the listing.\
            \ true = yes, false = no"
        sortable:
          type: boolean
          description: "Whether the listing may be ordered by the field. true = yes,\
            \ false = no"
      required:
      - conditions
      - fieldIdentifier
      - fieldLabel
      - type
    ResourceEventDto:
      type: object
      properties:
        event:
          $ref: "#/components/schemas/ResourceEvent"
          description: Resource event code
          examples:
          - discoveryFinished
        producedResource:
          $ref: "#/components/schemas/Resource"
          description: Resource of objects that are subject of event
      required:
      - event
    AppInfoDto:
      type: object
      properties:
        name:
          type: string
          description: Platform Application Name
        version:
          type: string
          description: Platform Core Version
      required:
      - name
      - version
    BuildInfoDto:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
          description: App build timestamp
          example: 2024-06-01T12:00:00Z
        branch:
          type: string
          description: Git branch name
          example: main
        commitId:
          type: string
          description: Abbreviated ID of the commit
          example: a1b2c3d
      required:
      - timestamp
    CoreInfoResponseDto:
      type: object
      properties:
        app:
          $ref: "#/components/schemas/AppInfoDto"
          description: ILM Application information
        build:
          $ref: "#/components/schemas/BuildInfoDto"
          description: ILM Application build information. May be omitted depending
            on deployment configuration
        db:
          $ref: "#/components/schemas/DatabaseInfoDto"
          description: Database information
      required:
      - app
      - db
    DatabaseInfoDto:
      type: object
      properties:
        system:
          type: string
          description: Database system product name
        version:
          type: string
          description: Database product version
      required:
      - system
      - version
    ActuatorHealthDto:
      type: object
      properties:
        status:
          type: string
          description: Status of the application health
          enum:
          - UNKNOWN
          - UP
          - DOWN
          - OUT_OF_SERVICE
      required:
      - status
    EnumItemDto:
      type: object
      properties:
        code:
          type: string
          description: Enum item code
          examples:
          - X509
        label:
          type: string
          description: Enum item display label
          examples:
          - X.509
        description:
          type: string
          description: Enum item description
          examples:
          - X.509 Certificate type
      required:
      - code
      - label
    PublicBrandingDto:
      type: object
      properties:
        configured:
          type: boolean
          description: "Whether the operator has configured branding. When false,\
            \ every colour and logo field is null, defaultTheme is absent, and a client\
            \ applies the platform's own themes."
        primaryColor:
          type:
          - string
          - "null"
          description: "Primary brand color, used for the header and for solid interactive\
            \ elements"
          examples:
          - "#0073CF"
        secondaryColor:
          type:
          - string
          - "null"
          description: "Secondary brand color, used as an accent"
          examples:
          - "#00A3E0"
        backgroundColor:
          type:
          - string
          - "null"
          description: Page background color of the branded theme
          examples:
          - "#FFFFFF"
        textColor:
          type:
          - string
          - "null"
          description: Body text color of the branded theme
          examples:
          - "#171717"
        lightLogo:
          type:
          - string
          - "null"
          description: "Logo shown by the branded light theme, as a base64 data URI"
          examples:
          - "data:image/png;base64,iVBORw0KGgo="
        darkLogo:
          type:
          - string
          - "null"
          description: "Logo shown by the branded dark theme, as a base64 data URI"
          examples:
          - "data:image/svg+xml;base64,PHN2Zy8+"
        defaultTheme:
          $ref: "#/components/schemas/BrandingTheme"
          description: Branded theme applied when the user has expressed no preference
            of their own. Absent when branding is not configured.
      required:
      - backgroundColor
      - configured
      - darkLogo
      - lightLogo
      - primaryColor
      - secondaryColor
      - textColor
  securitySchemes:
    SessionAuth:
      type: apiKey
      description: Session-based authentication with session ID stored in 'session-id'
        cookie
      name: session-id
      in: cookie
    CertificateAuth:
      type: apiKey
      description: Base64 encoded X.509 certificate passed in header
      name: ssl-client-cert
      in: header
    BearerJWTAuth:
      type: http
      scheme: Bearer
      bearerFormat: JWT
