openapi: 3.1.0
info:
  title: Client Operations API
  description: REST API for Client Operations
  contact:
    name: ILM
    url: https://www.otilm.com
    email: ilm@omnitrust.com
  license:
    name: MIT License
    url: https://github.com/OmniTrustILM/ilm/blob/main/LICENSE.md
  version: 2.19.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: Client Operations v2
  description: |
    Certificate lifecycle operations through an RA profile: issue, renew, rekey, register, revoke,
    finalize, confirm-revoke, and cancel.

    The issue, renew, rekey, and revoke operations are asynchronous: the request is validated,
    persisted, and queued; the authority-connector call runs afterwards, and an approval step may
    first move the certificate to
    PENDING_APPROVAL. The HTTP response therefore does not carry the outcome — a 2xx means the request
    was accepted, not that it completed — and the issue/renew/rekey responses never carry the signed
    certificate. Follow an operation by reading the certificate's state, and retrieve the signed
    certificate from the certificate detail once it reaches ISSUED.

    register runs inline against the connector: it reaches REGISTERED synchronously (and may return
    certificate data), or PENDING_REGISTRATION when the connector defers completion.

    A certificate left in PENDING_ISSUE or PENDING_REVOKE is completed either by platform status-polling
    (when the authority advertises it) or by an operator action — issue/finalize, revoke/confirm, or
    cancel. Query availableOperations first to learn whether asynchronous completion and cancellation
    apply to a given authority / RA profile.

    Certificate states driven by this API:

    ```
    Issuance (issueCertificate, renewCertificate, rekeyCertificate,
              issueExistingCertificate on a REQUESTED cert):
      REQUESTED --> PENDING_ISSUE --> ISSUED       connector completes (synchronously or via polling);
                         |                         manuallyIssueCertificate finalizes it the same way
                         +-- cancel ------------> FAILED
                         +-- connector failure --> FAILED

    Registration (registerCertificate, then issueExistingCertificate on a REGISTERED cert):
      PENDING_REGISTRATION --> REGISTERED --> PENDING_ISSUE --> ISSUED
               |               (connector 2xx or platform-level; then the issuance flow above)
               +-- setup failure --> FAILED

    Revocation (revokeCertificate):
      ISSUED --> REVOKED                     authority completes the revocation immediately
      ISSUED --> PENDING_REVOKE --> REVOKED  deferred, then manuallyConfirmRevoke
      PENDING_REVOKE --> ISSUED              cancelPendingCertificateOperation

    Approvals: issue / renew / rekey / revoke may pass through PENDING_APPROVAL first;
               a rejected issuance ends REJECTED (a pre-registered certificate is restored to REGISTERED),
               a rejected revocation restores the prior state.
    Terminal (no further transition via this API): REVOKED, REJECTED, FAILED.
    ```
- name: Legacy Client Operations
  description: Client API for managing End Entities and Certificates
paths:
  /v1/operations/{raProfileName}/endentity/{username}/resetPassword:
    put:
      tags:
      - Legacy Client Operations
      summary: Reset password for End Entity
      operationId: resetPassword
      parameters:
      - name: raProfileName
        in: path
        description: RA Profile name
        required: true
        schema:
          type: string
      - name: username
        in: path
        description: Username
        required: true
        schema:
          type: string
      responses:
        "200":
          description: End Entity password reset
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/certificates:
    post:
      tags:
      - Client Operations v2
      summary: Issue certificate
      description: "Submit a new certificate signing request and request issuance\
        \ through this RA profile. The request is validated, persisted, and queued;\
        \ issuance runs asynchronously and an approval step may run first. This response\
        \ returns only the new certificate's UUID — it never carries the signed certificate\
        \ and does not indicate completion. Track the operation through the certificate's\
        \ state."
      operationId: issueCertificate
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClientCertificateIssueRequestDto"
        required: true
      responses:
        "200":
          description: Issuance request accepted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientCertificateDataResponseDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "422":
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Error Message 1
              - Error Message 2
        "500":
          description: Internal Server Error
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/certificates/{certificateUuid}/revoke:
    post:
      tags:
      - Client Operations v2
      summary: Revoke certificate
      description: "Revoke a certificate currently in state `ISSUED`. The request\
        \ is accepted and queued; revocation runs through the authority and an approval\
        \ step may run first. This response is returned before the authority call\
        \ completes, so it does not indicate completion — the certificate ends in\
        \ `REVOKED` if the authority completes the revocation immediately, or `PENDING_REVOKE`\
        \ if completion is deferred and later confirmed. Track the result through\
        \ its state."
      operationId: revokeCertificate
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      - name: certificateUuid
        in: path
        description: Certificate UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClientCertificateRevocationDto"
        required: true
      responses:
        "204":
          description: Revoke request accepted and queued — observe the certificate
            state for the outcome.
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "422":
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Cannot perform operation revoke on certificate in state ...
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/certificates/{certificateUuid}/revoke/confirm:
    post:
      tags:
      - Client Operations v2
      summary: Confirm an asynchronous certificate revocation
      description: |
        Confirm that a revoked certificate has been revoked. The certificate
        must be in state `PENDING_REVOKE`. The platform applies the destroy-key flag and
        revoke attributes from the original revoke request, transitions the certificate
        to `REVOKED`, and clears the data carried over from the original request.
      operationId: manuallyConfirmRevoke
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      - name: certificateUuid
        in: path
        description: Certificate UUID
        required: true
        schema:
          type: string
      responses:
        "204":
          description: Revocation confirmed
        "422":
          description: Unprocessable Entity
          content:
            '*/*':
              schema:
                type: array
                items:
                  type: string
              example:
              - Certificate is not in PENDING_REVOKE state
        "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
        "404":
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/certificates/{certificateUuid}/renew:
    post:
      tags:
      - Client Operations v2
      summary: Renew certificate
      description: "Renew a certificate using its existing key pair. The original\
        \ certificate stays in state `ISSUED`; a new certificate is created, queued,\
        \ and issued asynchronously. This response returns only the new certificate's\
        \ UUID — track the result through its state."
      operationId: renewCertificate
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      - name: certificateUuid
        in: path
        description: Certificate UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClientCertificateRenewRequestDto"
        required: true
      responses:
        "200":
          description: Renewal request accepted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientCertificateDataResponseDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "422":
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Error Message 1
              - Error Message 2
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/certificates/{certificateUuid}/rekey:
    post:
      tags:
      - Client Operations v2
      summary: Rekey Certificate
      description: |
        Request a replacement certificate with a new key pair but the same subject and
        attributes as the original. Provide a new CSR with a new key pair, or select a
        platform-managed key pair; reusing the same key pair, or changing the subject, is
        rejected. Queued and issued asynchronously — track the result through the new
        certificate's state.
      operationId: rekeyCertificate
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      - name: certificateUuid
        in: path
        description: Certificate UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClientCertificateRekeyRequestDto"
        required: true
      responses:
        "200":
          description: Rekey request accepted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientCertificateDataResponseDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "422":
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Error Message 1
              - Error Message 2
        "500":
          description: Internal Server Error
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/certificates/{certificateUuid}/issue:
    post:
      tags:
      - Client Operations v2
      summary: Issue an existing certificate (REQUESTED or REGISTERED)
      description: |
        Trigger issuance for an existing certificate; behaviour depends on its state:
        - `REQUESTED` (no body): the certificate already carries a CSR (e.g. from an ACME/SCEP/CMP
          protocol layer, or after an approval/compliance cycle); issuance runs against that CSR.
        - `REGISTERED` (body required): a pre-registered certificate is finalized with the operator's
          CSR (sign attributes as the RA profile requires, and the authorization secret only for
          challenge-protected registrations); its registered identity (subject DN, SAN, extensions)
          and connector metadata are preserved.

        Queued and issued asynchronously like `issueCertificate` — track the result through the
        certificate's state.
      operationId: issueExistingCertificate
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      - name: certificateUuid
        in: path
        description: Certificate UUID
        required: true
        schema:
          type: string
      requestBody:
        description: "Issue request body. Required when cert state is REGISTERED (carries\
          \ the operator's CSR, sign attributes as the RA profile requires, and —\
          \ for challenge-protected registrations — the authorization secret); must\
          \ be omitted when cert state is REQUESTED."
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClientCertificateIssueRequestDto"
      responses:
        "200":
          description: Issuance request accepted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientCertificateDataResponseDto"
        "422":
          description: Unprocessable Entity
          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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/certificates/{certificateUuid}/issue/finalize:
    post:
      tags:
      - Client Operations v2
      summary: Finalize an asynchronous certificate issuance
      description: |
        Finalize a certificate in state `PENDING_ISSUE` by uploading the issued certificate. On
        success it transitions to `ISSUED` and is pushed to any pre-associated locations.

        Validation: the certificate request's public key must match the uploaded certificate
        (mandatory); the subject DN should match (warning only — some CAs canonicalise it); and the
        uploaded certificate must verify against the RA profile's authority (mandatory).

        The body carries a Base64-encoded single certificate and optional certificate-level custom
        attributes.
      operationId: manuallyIssueCertificate
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      - name: certificateUuid
        in: path
        description: Certificate UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UploadCertificateRequestDto"
        required: true
      responses:
        "200":
          description: Certificate finalized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CertificateDetailDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "409":
          description: Conflict
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "422":
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Certificate is not in PENDING_ISSUE state
              - Public key mismatch with certificate request
        "500":
          description: Internal Server Error
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/certificates/{certificateUuid}/cancel:
    post:
      tags:
      - Client Operations v2
      summary: Cancel a pending certificate operation
      description: |
        State-aware cancel for a certificate in `PENDING_ISSUE` or `PENDING_REVOKE`:

        - `PENDING_ISSUE` → `FAILED`
        - `PENDING_REVOKE` → `ISSUED`

        The optional `reason` is recorded in the certificate event history. If the underlying
        operation can no longer be aborted, the response is `422` and the certificate stays in its
        pending state; it can then be resolved by letting it complete and finalizing/confirming, or
        by retrying the cancel later.
      operationId: cancelPendingCertificateOperation
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      - name: certificateUuid
        in: path
        description: Certificate UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CancelPendingCertificateRequestDto"
      responses:
        "200":
          description: Cancellation completed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CertificateDetailDto"
        "422":
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - Certificate is not in a pending state
              - "Authority refused to cancel: CA does not support cancellation"
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/certificates/register:
    post:
      tags:
      - Client Operations v2
      summary: Pre-register a certificate
      description: |
        Pre-register a certificate to be issued later; the response carries the pre-registered
        certificate's UUID and completion runs through the standard issue flow.

        When the authority's connector supports registration (a v3 connector advertising
        `CERTIFICATE_REGISTRATION`), the registration is made with the upstream CA; otherwise the
        certificate is pre-registered at the platform level with no connector call, which does not imply
        a CA-side end-entity exists. Connector-side completion may be asynchronous and is tracked
        server-side.
      operationId: registerCertificate
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClientCertificateRegistrationRequest"
        required: true
      responses:
        "200":
          description: Registration request accepted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientCertificateDataResponseDto"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "422":
          description: Invalid registration request
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationServiceExceptionDto"
        "500":
          description: Internal Server Error
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/attributes/revoke/validate:
    post:
      tags:
      - Client Operations v2
      summary: Validate revocation attributes
      description: Validate a candidate set of revocation attributes against this
        RA profile's schema before submitting a revocation request.
      operationId: validateRevokeCertificateAttributes
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/RequestAttribute"
        required: true
      responses:
        "200":
          description: Attributes validated
        "422":
          description: Unprocessable Entity
          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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/attributes/issue/validate:
    post:
      tags:
      - Client Operations v2
      summary: Validate issue certificate attributes
      description: Validate a candidate set of issuance attributes against this RA
        profile's schema before submitting an issuance request. Returns 422 with a
        list of error messages when the attributes are not acceptable.
      operationId: validateIssueCertificateAttributes
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/RequestAttribute"
        required: true
      responses:
        "200":
          description: Attributes validated
        "422":
          description: Unprocessable Entity
          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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/operations/{raProfileName}/endentity:
    get:
      tags:
      - Legacy Client Operations
      summary: List all End Entities
      operationId: listEntities
      parameters:
      - name: raProfileName
        in: path
        description: RA Profile name
        required: true
        schema:
          type: string
      responses:
        "200":
          description: List of entities retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/ClientEndEntityDto"
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    post:
      tags:
      - Legacy Client Operations
      summary: Add End Entity
      operationId: addEndEntity
      parameters:
      - name: raProfileName
        in: path
        description: RA Profile name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClientAddEndEntityRequestDto"
        required: true
      responses:
        "200":
          description: End Entity added
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/operations/{raProfileName}/endentity/{username}:
    get:
      tags:
      - Legacy Client Operations
      summary: Get End Entity information
      operationId: getEndEntity
      parameters:
      - name: raProfileName
        in: path
        description: RA Profile name
        required: true
        schema:
          type: string
      - name: username
        in: path
        description: Username
        required: true
        schema:
          type: string
      responses:
        "200":
          description: End Entity detail retrieved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientEndEntityDto"
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    post:
      tags:
      - Legacy Client Operations
      summary: Edit End Entity
      operationId: editEndEntity
      parameters:
      - name: raProfileName
        in: path
        description: RA Profile name
        required: true
        schema:
          type: string
      - name: username
        in: path
        description: Username
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClientEditEndEntityRequestDto"
        required: true
      responses:
        "200":
          description: End Entity edited
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
    delete:
      tags:
      - Legacy Client Operations
      summary: Revoke all Certificates and delete End Entity
      operationId: revokeAndDeleteEndEntity
      parameters:
      - name: raProfileName
        in: path
        description: RA Profile name
        required: true
        schema:
          type: string
      - name: username
        in: path
        description: Username
        required: true
        schema:
          type: string
      responses:
        "200":
          description: End Entity revoked and deleted
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/operations/{raProfileName}/certificate/revoke:
    post:
      tags:
      - Legacy Client Operations
      summary: Revoke Certificate
      operationId: revokeCertificate_1
      parameters:
      - name: raProfileName
        in: path
        description: RA Profile name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LegacyClientCertificateRevocationDto"
        required: true
      responses:
        "200":
          description: Certificate revoked
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v1/operations/{raProfileName}/certificate/issue:
    post:
      tags:
      - Legacy Client Operations
      summary: Issue Certificate
      operationId: issueCertificate_1
      parameters:
      - name: raProfileName
        in: path
        description: RA Profile name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LegacyClientCertificateSignRequestDto"
        required: true
      responses:
        "200":
          description: Certificate issued
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientCertificateSignResponseDto"
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/availableOperations:
    get:
      tags:
      - Client Operations v2
      summary: List operations supported by this authority/RA profile
      description: |
        Returns per-operation support flags (issue/renew/revoke/register) including whether
        the platform polls for its asynchronous completion and whether each can be cancelled mid-flight. Operators
        use this to drive UI affordances and validate flows before invoking them.
      operationId: listAvailableOperations
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Capability advertisement returned
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AvailableOperations"
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/attributes/revoke:
    get:
      tags:
      - Client Operations v2
      summary: Get revocation attributes
      description: Return the list of attributes the client must populate when revoking
        a certificate through this RA profile.
      operationId: listRevokeCertificateAttributes
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Attributes obtained
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/BaseAttributeDto"
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/attributes/register:
    get:
      tags:
      - Client Operations v2
      summary: Get registration attributes
      description: Return the list of attributes the client must populate when pre-registering
        a certificate through this RA profile. The list reflects the certificate authority's
        register-operation attribute schema.
      operationId: listRegisterCertificateAttributes
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Attributes obtained
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/BaseAttributeDto"
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
  /v2/operations/authorities/{authorityUuid}/raProfiles/{raProfileUuid}/attributes/issue:
    get:
      tags:
      - Client Operations v2
      summary: Get issue certificate attributes
      description: Return the list of attributes the client must populate when requesting
        an issuance through this RA profile. The list reflects the certificate authority's
        current attribute schema.
      operationId: listIssueCertificateAttributes
      parameters:
      - name: authorityUuid
        in: path
        description: Authority Instance UUID
        required: true
        schema:
          type: string
      - name: raProfileUuid
        in: path
        description: RA Profile UUID
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Attributes list obtained
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/BaseAttributeDto"
        "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
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "502":
          description: Connector Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
        "503":
          description: Connector Communication Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessageDto"
      security:
      - SessionAuth: []
      - CertificateAuth: []
      - BearerJWTAuth: []
components:
  schemas:
    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
    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
    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"
      oneOf:
      - $ref: "#/components/schemas/RegexpAttributeConstraint"
      - $ref: "#/components/schemas/RangeAttributeConstraint"
      - $ref: "#/components/schemas/DateTimeAttributeConstraint"
      properties:
        type:
          $ref: "#/components/schemas/AttributeConstraintType"
          description: Attribute Constraint Type
        errorMessage:
          type: string
          description: Error message to be displayed for wrong data
        description:
          type: string
          description: Description of the constraint
      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"
    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
    CertificateRequestFormat:
      type: string
      enum:
      - pkcs10
      - crmf
    CertificateType:
      type: string
      enum:
      - X.509
      - SSH
    ClientCertificateIssueRequestDto:
      type: object
      properties:
        csrAttributes:
          type: array
          description: List of attributes to create CSR. Required if CSR is not provided
          items:
            $ref: "#/components/schemas/RequestAttribute"
        signatureAttributes:
          type: array
          description: List of attributes to sign the CSR
          items:
            $ref: "#/components/schemas/RequestAttribute"
        altSignatureAttributes:
          type: array
          description: List of attributes to sign the alternative private key
          items:
            $ref: "#/components/schemas/RequestAttribute"
        request:
          type: string
          description: Certificate signing request encoded as Base64 string
        format:
          $ref: "#/components/schemas/CertificateRequestFormat"
          default: pkcs10
          description: Certificate signing request format
        tokenProfileUuid:
          type: string
          format: uuid
          description: Token Profile UUID. Required if CSR is not uploaded
        keyUuid:
          type: string
          format: uuid
          description: Key UUID. Required if CSR is not uploaded
        altTokenProfileUuid:
          type: string
          format: uuid
          description: Token Profile UUID for the alternative key.
        altKeyUuid:
          type: string
          format: uuid
          description: Alternative Key UUID.
        attributes:
          type: array
          description: List of RA Profile related Attributes to issue Certificate
          items:
            $ref: "#/components/schemas/RequestAttribute"
        customAttributes:
          type: array
          description: List of Custom Attributes
          items:
            $ref: "#/components/schemas/RequestAttribute"
        authorizationSecret:
          type: string
          description: One-time authorization secret proving the caller may complete
            a pre-registered certificate. Write-only; ignored for certificates without
            an active registration.
          writeOnly: true
      required:
      - attributes
      - request
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    RequestAttribute:
      type: object
      description: Request attribute to send attribute content for object
      discriminator:
        propertyName: version
        mapping:
          v2: "#/components/schemas/RequestAttributeV2"
          v3: "#/components/schemas/RequestAttributeV3"
      oneOf:
      - $ref: "#/components/schemas/RequestAttributeV3"
      - $ref: "#/components/schemas/RequestAttributeV2"
      required:
      - contentType
      - name
      - uuid
      - version
    RequestAttributeV2:
      type: object
      properties:
        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
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the Attribute
          examples:
          - Attribute
        content:
          type: array
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV2"
        version:
          $ref: "#/components/schemas/AttributeVersion"
          description: Version of the Attribute
      required:
      - contentType
      - name
      - uuid
      - version
    RequestAttributeV3:
      type: object
      properties:
        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
        contentType:
          $ref: "#/components/schemas/AttributeContentType"
          description: Content Type of the Attribute
          examples:
          - Attribute
        content:
          type: array
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV3"
        version:
          $ref: "#/components/schemas/AttributeVersion"
          description: Version of the Attribute
      required:
      - contentType
      - name
      - uuid
      - version
    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:
        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
    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
    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
    ClientCertificateDataResponseDto:
      type: object
      properties:
        certificateData:
          type: string
          description: Base64-encoded signed certificate. The issuance operations
            complete asynchronously and leave this empty; register leaves it empty
            too unless the authority returns certificate data synchronously. Retrieve
            the signed certificate from the certificate detail once the certificate
            reaches the ISSUED state.
        uuid:
          type: string
          description: UUID of Certificate
      required:
      - uuid
    CertificateRevocationReason:
      type: string
      enum:
      - unspecified
      - keyCompromise
      - cACompromise
      - affiliationChanged
      - superseded
      - cessationOfOperation
      - certificateHold
      - privilegeWithdrawn
      - aACompromise
    ClientCertificateRevocationDto:
      type: object
      properties:
        reason:
          $ref: "#/components/schemas/CertificateRevocationReason"
          default: UNSPECIFIED
          description: Reason for revocation
        attributes:
          type: array
          description: List of Attributes to revoke Certificate
          items:
            $ref: "#/components/schemas/RequestAttribute"
        destroyKey:
          type: boolean
          default: false
          description: Destroy Key upon successful revocation
      required:
      - attributes
    ClientCertificateRenewRequestDto:
      type: object
      properties:
        replaceInLocations:
          type: boolean
          default: false
          description: True to replace renewed certificate in the associated locations
        request:
          type: string
          description: "Certificate signing request encoded as Base64 string. If not\
            \ provided, Existing CSR will be used"
        format:
          $ref: "#/components/schemas/CertificateRequestFormat"
          default: pkcs10
          description: Certificate signing request format
    ClientCertificateRekeyRequestDto:
      type: object
      properties:
        replaceInLocations:
          type: boolean
          default: false
          description: True to replace renewed certificate in the associated locations
        request:
          type: string
          description: "Certificate signing request encoded as Base64 string. If not\
            \ provided, CSR attributes will be used"
        format:
          $ref: "#/components/schemas/CertificateRequestFormat"
          default: pkcs10
          description: Certificate signing request format
        keyUuid:
          type: string
          format: uuid
          description: Key UUID
        tokenProfileUuid:
          type: string
          format: uuid
          description: Token Profile UUID
        altKeyUuid:
          type: string
          format: uuid
          description: Alternative Key UUID
        altTokenProfileUuid:
          type: string
          format: uuid
          description: Token Profile UUID for the alternative key
        signatureAttributes:
          type: array
          description: "Signature Attributes. If not provided, existing attributes\
            \ will be used to generate the new CSR"
          items:
            $ref: "#/components/schemas/RequestAttribute"
        altSignatureAttributes:
          type: array
          description: "Alternative Signature Attributes. If not provided, existing\
            \ alternative attributes will be used to generate the new CSR"
          items:
            $ref: "#/components/schemas/RequestAttribute"
    UploadCertificateRequestDto:
      type: object
      properties:
        certificate:
          type: string
          description: Base64 Content of the Certificate
        customAttributes:
          type: array
          description: Custom Attributes for the Certificate
          items:
            $ref: "#/components/schemas/RequestAttribute"
      required:
      - certificate
      - customAttributes
    CertificateComplianceResultDto:
      type: object
      properties:
        connectorName:
          type: string
          description: Name of the Compliance Provider
          examples:
          - Provider1
        ruleName:
          type: string
          description: Name of the rule
          examples:
          - RuleName
        ruleDescription:
          type: string
          description: Description of the rule
          examples:
          - Description sample
        status:
          $ref: "#/components/schemas/ComplianceRuleStatus"
          description: Status of the rule
          examples:
          - nok
        attributes:
          type: array
          description: Attributes of the rule
          items:
            $ref: "#/components/schemas/ResponseAttribute"
      required:
      - connectorName
      - ruleDescription
      - ruleName
      - status
    CertificateDetailDto:
      type: object
      properties:
        uuid:
          type: string
          description: UUID of the Certificate
        commonName:
          type: string
          description: Certificate common name
        serialNumber:
          type: string
          description: Certificate serial number
        issuerCommonName:
          type: string
          description: Certificate issuer common name
        issuerDn:
          type: string
          description: Issuer DN of the Certificate
        subjectDn:
          type: string
          description: Subject DN of the Certificate
        notBefore:
          type: string
          format: date-time
          description: Certificate validity start date
        notAfter:
          type: string
          format: date-time
          description: Certificate expiration date
        publicKeyAlgorithm:
          type: string
          description: Public key algorithm
        altPublicKeyAlgorithm:
          type: string
          description: Alternative Public key algorithm
        signatureAlgorithm:
          type: string
          description: Certificate signature algorithm
        altSignatureAlgorithm:
          type: string
          description: Certificate alternative signature algorithm
        hybridCertificate:
          type: boolean
          description: Indicator whether the certificate is hybrid
        keySize:
          type: integer
          format: int32
          description: Certificate key size
        altKeySize:
          type: integer
          format: int32
          description: Certificate key size of the alternative key
        state:
          $ref: "#/components/schemas/CertificateState"
          description: State of the Certificate
        validationStatus:
          $ref: "#/components/schemas/CertificateValidationStatus"
          description: Current validation status of the certificate
        raProfile:
          $ref: "#/components/schemas/SimplifiedRaProfileDto"
          description: RA Profile associated to the Certificate
        fingerprint:
          type: string
          description: SHA256 fingerprint of the Certificate
        groups:
          type: array
          description: Groups associated to the Certificate
          items:
            $ref: "#/components/schemas/GroupDto"
        owner:
          type: string
          description: Certificate Owner
        ownerUuid:
          type: string
          description: Certificate Owner UUID
        certificateType:
          $ref: "#/components/schemas/CertificateType"
          description: Certificate type
        issuerSerialNumber:
          type: string
          description: Serial number of the issuer
        complianceStatus:
          $ref: "#/components/schemas/ComplianceStatus"
          description: Certificate compliance status
        issuerCertificateUuid:
          type: string
          description: UUID of the issuer certificate
        privateKeyAvailability:
          type: boolean
          description: Private Key Availability
        trustedCa:
          type: boolean
          description: "Indicator whether CA is marked as trusted, set to null if\
            \ certificate is not CA"
        archived:
          type: boolean
          default: false
          description: Certificate is archived
        extendedKeyUsage:
          type: array
          description: Extended key usages
          items:
            type: string
        keyUsage:
          type: array
          description: Key usages
          items:
            $ref: "#/components/schemas/CertificateKeyUsage"
        subjectType:
          $ref: "#/components/schemas/CertificateSubjectType"
          description: Certificate subject type
        metadata:
          type: array
          description: Certificate metadata
          items:
            $ref: "#/components/schemas/MetadataResponseDto"
        certificateContent:
          type: string
          description: Base64 encoded Certificate content
        subjectAlternativeNames:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Subject alternative names
        locations:
          type: array
          description: Locations associated to the Certificate
          items:
            $ref: "#/components/schemas/LocationDto"
          uniqueItems: true
        registration:
          $ref: "#/components/schemas/CertificateRegistrationDetailDto"
          description: Pre-registration authorization status; present only for certificates
            that were pre-registered
        nonCompliantRules:
          type: array
          deprecated: true
          description: "Certificate compliance check result. Deprecated, use `complianceResult`\
            \ property instead."
          items:
            $ref: "#/components/schemas/CertificateComplianceResultDto"
        customAttributes:
          type: array
          description: List of Custom Attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        key:
          $ref: "#/components/schemas/KeyDto"
          description: Key Pair of the certificate
        altKey:
          $ref: "#/components/schemas/KeyDto"
          description: Alternative Key Pair of the certificate
        certificateRequest:
          $ref: "#/components/schemas/CertificateRequestDto"
          description: Certificate request data
        sourceCertificateUuid:
          type: string
          format: uuid
          deprecated: true
          description: Source certificate UUID
        issueAttributes:
          type: array
          description: List of issue attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        revokeAttributes:
          type: array
          description: List of revoke attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        registerAttributes:
          type: array
          description: "List of register attributes: the connector's register-operation\
            \ attributes submitted when the certificate was pre-registered"
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        registrationRequestAttributes:
          type: array
          description: "List of request attributes submitted at registration: the\
            \ operator-supplied request-attribute values that shaped the pre-registered\
            \ identity"
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        relatedCertificates:
          type: array
          deprecated: true
          description: List of related certificates
          items:
            $ref: "#/components/schemas/CertificateDto"
        protocolInfo:
          $ref: "#/components/schemas/CertificateProtocolDto"
          description: Information about protocol used to issue the certificate
        qcStatements:
          $ref: "#/components/schemas/CertificateQcStatementsDto"
          description: Parsed ETSI QCStatements extension (RFC 3739 / ETSI EN 319
            412-5). Absent when the extension is not present in the certificate.
      required:
      - certificateType
      - commonName
      - complianceStatus
      - hybridCertificate
      - keySize
      - privateKeyAvailability
      - publicKeyAlgorithm
      - state
      - subjectDn
      - uuid
      - validationStatus
    CertificateDto:
      type: object
      properties:
        uuid:
          type: string
          description: UUID of the Certificate
        commonName:
          type: string
          description: Certificate common name
        serialNumber:
          type: string
          description: Certificate serial number
        issuerCommonName:
          type: string
          description: Certificate issuer common name
        issuerDn:
          type: string
          description: Issuer DN of the Certificate
        subjectDn:
          type: string
          description: Subject DN of the Certificate
        notBefore:
          type: string
          format: date-time
          description: Certificate validity start date
        notAfter:
          type: string
          format: date-time
          description: Certificate expiration date
        publicKeyAlgorithm:
          type: string
          description: Public key algorithm
        altPublicKeyAlgorithm:
          type: string
          description: Alternative Public key algorithm
        signatureAlgorithm:
          type: string
          description: Certificate signature algorithm
        altSignatureAlgorithm:
          type: string
          description: Certificate alternative signature algorithm
        hybridCertificate:
          type: boolean
          description: Indicator whether the certificate is hybrid
        keySize:
          type: integer
          format: int32
          description: Certificate key size
        altKeySize:
          type: integer
          format: int32
          description: Certificate key size of the alternative key
        state:
          $ref: "#/components/schemas/CertificateState"
          description: State of the Certificate
        validationStatus:
          $ref: "#/components/schemas/CertificateValidationStatus"
          description: Current validation status of the certificate
        raProfile:
          $ref: "#/components/schemas/SimplifiedRaProfileDto"
          description: RA Profile associated to the Certificate
        fingerprint:
          type: string
          description: SHA256 fingerprint of the Certificate
        groups:
          type: array
          description: Groups associated to the Certificate
          items:
            $ref: "#/components/schemas/GroupDto"
        owner:
          type: string
          description: Certificate Owner
        ownerUuid:
          type: string
          description: Certificate Owner UUID
        certificateType:
          $ref: "#/components/schemas/CertificateType"
          description: Certificate type
        issuerSerialNumber:
          type: string
          description: Serial number of the issuer
        complianceStatus:
          $ref: "#/components/schemas/ComplianceStatus"
          description: Certificate compliance status
        issuerCertificateUuid:
          type: string
          description: UUID of the issuer certificate
        privateKeyAvailability:
          type: boolean
          description: Private Key Availability
        trustedCa:
          type: boolean
          description: "Indicator whether CA is marked as trusted, set to null if\
            \ certificate is not CA"
        archived:
          type: boolean
          default: false
          description: Certificate is archived
      required:
      - certificateType
      - commonName
      - complianceStatus
      - hybridCertificate
      - keySize
      - privateKeyAvailability
      - publicKeyAlgorithm
      - state
      - subjectDn
      - uuid
      - validationStatus
    CertificateInLocationDto:
      type: object
      properties:
        certificateUuid:
          type: string
          description: UUID of the Certificate
        state:
          $ref: "#/components/schemas/CertificateState"
          description: State of the Certificate
        validationStatus:
          $ref: "#/components/schemas/CertificateValidationStatus"
          description: Current validation status of the certificate
        commonName:
          type: string
          description: Common Name of the Subject DN field of the Certificate
        serialNumber:
          type: string
          description: Serial number in HEX of the Certificate
        metadata:
          type: array
          description: Metadata of the Certificate in Location
          items:
            $ref: "#/components/schemas/MetadataResponseDto"
        pushAttributes:
          type: array
          description: Applied push attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        csrAttributes:
          type: array
          description: Applied issue attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        withKey:
          type: boolean
          default: false
          description: If the Certificate in Location has associated private key
      required:
      - certificateUuid
      - commonName
      - serialNumber
      - state
      - validationStatus
    CertificateKeyUsage:
      type: string
      enum:
      - digitalSignature
      - nonRepudiation
      - keyEncipherment
      - dataEncipherment
      - keyAgreement
      - keyCertSign
      - cRLSign
      - encipherOnly
      - decipherOnly
    CertificateProtocol:
      type: string
      enum:
      - acme
      - scep
      - cmp
    CertificateProtocolDto:
      type: object
      properties:
        protocol:
          $ref: "#/components/schemas/CertificateProtocol"
          description: Protocol used to issue certificate
        protocolProfileUuid:
          type: string
          format: uuid
          description: "UUID of the protocol profile the certificate was issued through.\
            \ Null when the profile is not known, e.g. when the association predates\
            \ tracking or the profile was removed."
        additionalProtocolUuid:
          type: string
          format: uuid
          description: "Additional UUID for use of the protocol, for example ACME\
            \ Account UUID in case of ACME protocol"
      required:
      - protocol
    CertificateQcStatementsDto:
      type: object
      description: Parsed QC Statements from a qualified certificate
      properties:
        qcCompliance:
          type: boolean
          description: "Certificate is a qualified certificate per ETSI EN 319 412\
            \ (id-etsi-qcs-QcCompliance, OID 0.4.0.1862.1.1)"
        qcSscd:
          type: boolean
          description: "Private key resides in a Qualified Electronic Signature Creation\
            \ Device (id-etsi-qcs-QcSSCD, OID 0.4.0.1862.1.4)"
        qcType:
          type: array
          description: "Intended purpose of the qualified certificate (id-etsi-qcs-QcType,\
            \ OID 0.4.0.1862.1.6). Absent means purpose is unspecified (all uses allowed\
            \ by key usage)."
          items:
            $ref: "#/components/schemas/QcType"
        qcCcLegislation:
          type: array
          description: "Country codes of national legislation under which the certificate\
            \ is issued (id-etsi-qcs-QcCClegislation, OID 0.4.0.1862.1.7). ISO 3166-1\
            \ alpha-2."
          items:
            type: string
    CertificateRegistrationDetailDto:
      type: object
      properties:
        state:
          $ref: "#/components/schemas/CertificateRegistrationState"
          description: Registration authorization state
        expiresAt:
          type: string
          format: date-time
          description: Issuance deadline for completing the pre-registered certificate
        failedAttempts:
          type: integer
          format: int32
          description: Number of failed challenge-verification attempts recorded
    CertificateRegistrationState:
      type: string
      enum:
      - active
      - expired
      - locked
      - closed
    CertificateRequestDto:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID of the Certificate Request
        certificateType:
          $ref: "#/components/schemas/CertificateType"
          description: Certificate type
        certificateRequestFormat:
          $ref: "#/components/schemas/CertificateRequestFormat"
          description: Certificate request format
        publicKeyAlgorithm:
          type: string
          description: Public key algorithm
        signatureAlgorithm:
          type: string
          description: Certificate signature algorithm
        altSignatureAlgorithm:
          type: string
          description: Certificate alternative signature algorithm
        content:
          type: string
          description: Certificate request content
        commonName:
          type: string
          description: Certificate common name
        subjectDn:
          type: string
          description: Subject DN of the Certificate
        subjectAlternativeNames:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Subject alternative names
        attributes:
          type: array
          description: CSR Attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        signatureAttributes:
          type: array
          description: Signature Attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        altSignatureAttributes:
          type: array
          description: Alternative Signature Attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        keyUuid:
          type: string
          description: UUID of the Key
        altKeyUuid:
          type: string
          description: UUID of the Alternative Key
        complianceStatus:
          $ref: "#/components/schemas/ComplianceStatus"
          description: Certificate request compliance status
      required:
      - certificateRequestFormat
      - certificateType
      - commonName
      - complianceStatus
      - content
      - publicKeyAlgorithm
      - signatureAlgorithm
      - subjectDn
      - uuid
    CertificateState:
      type: string
      enum:
      - requested
      - rejected
      - pending_approval
      - pending_issue
      - pending_revoke
      - pending_registration
      - registered
      - failed
      - issued
      - revoked
    CertificateSubjectType:
      type: string
      enum:
      - endEntity
      - selfSignedEndEntity
      - intermediateCa
      - rootCa
    CertificateValidationStatus:
      type: string
      enum:
      - not_checked
      - failed
      - inactive
      - invalid
      - valid
      - revoked
      - expiring
      - expired
    ComplianceRuleStatus:
      type: string
      enum:
      - ok
      - nok
      - na
      - not_available
    ComplianceStatus:
      type: string
      enum:
      - not_checked
      - ok
      - nok
      - na
      - failed
    GroupDto:
      type: object
      properties:
        uuid:
          type: string
          description: Object identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Object Name
          examples:
          - Name
        description:
          type: string
          description: Description of the Group
        email:
          type: string
          description: Group contact email
        customAttributes:
          type: array
          description: List of Custom Attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
      required:
      - name
      - uuid
    KeyAlgorithm:
      type: string
      enum:
      - RSA
      - ECDSA
      - FALCON
      - ML-DSA
      - SLH-DSA
      - ML-KEM
      - CRYSTALS-Dilithium
      - SPHINCS+
      - Unknown
    KeyDto:
      type: object
      properties:
        uuid:
          type: string
          description: Object identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Object Name
          examples:
          - Name
        description:
          type: string
          description: Description of the Key
        creationTime:
          type: string
          format: date-time
          description: "Creation time of the Key. If the key is discovered from the\
            \ connector, then it will be returned"
        tokenProfileUuid:
          type: string
          description: UUID of the Token Profile
        tokenProfileName:
          type: string
          description: Name of the Token Profile
        tokenInstanceUuid:
          type: string
          description: Token Instance UUID
        tokenInstanceName:
          type: string
          description: Token Instance Name
        owner:
          type: string
          description: Owner of the Key
        ownerUuid:
          type: string
          description: UUID of the owner of the Key
        groups:
          type: array
          description: Groups associated to the key
          items:
            $ref: "#/components/schemas/GroupDto"
        items:
          type: array
          description: Key Items
          items:
            $ref: "#/components/schemas/KeyItemDto"
        associations:
          type: integer
          format: int32
          description: Number of associated objects
        complianceStatus:
          $ref: "#/components/schemas/ComplianceStatus"
          description: Key compliance status
      required:
      - associations
      - complianceStatus
      - creationTime
      - items
      - name
      - uuid
    KeyFormat:
      type: string
      enum:
      - Raw
      - SubjectPublicKeyInfo
      - PrivateKeyInfo
      - EncryptedPrivateKeyInfo
      - Custom
    KeyItemDto:
      type: object
      properties:
        uuid:
          type: string
          description: Object identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Object Name
          examples:
          - Name
        description:
          type: string
          description: Description of the Key
        creationTime:
          type: string
          format: date-time
          description: "Creation time of the Key. If the key is discovered from the\
            \ connector, then it will be returned"
        keyWrapperUuid:
          type: string
          description: UUID of the wrapper object
        tokenProfileUuid:
          type: string
          description: UUID of the Token Profile
        tokenProfileName:
          type: string
          description: Name of the Token Profile
        tokenInstanceUuid:
          type: string
          description: Token Instance UUID
        tokenInstanceName:
          type: string
          description: Token Instance Name
        owner:
          type: string
          description: Owner of the Key
        ownerUuid:
          type: string
          description: UUID of the owner of the Key
        groups:
          type: array
          description: Groups associated to the Key
          items:
            $ref: "#/components/schemas/GroupDto"
        associations:
          type: integer
          format: int32
          description: Number of associated objects
        keyReferenceUuid:
          type: string
          description: UUID of the key item in the Connector
        type:
          $ref: "#/components/schemas/KeyType"
          description: Type of the Key
        keyAlgorithm:
          $ref: "#/components/schemas/KeyAlgorithm"
          description: Key Algorithm
        format:
          $ref: "#/components/schemas/KeyFormat"
          description: Key Format
        length:
          type: integer
          format: int32
          description: Key Length
        usage:
          type: array
          description: Key Usages
          items:
            $ref: "#/components/schemas/KeyUsage"
        enabled:
          type: boolean
          description: Boolean describing if the key is enabled or not
        state:
          $ref: "#/components/schemas/KeyState"
          description: Key State
        complianceStatus:
          $ref: "#/components/schemas/ComplianceStatus"
          description: Key compliance status
      required:
      - associations
      - complianceStatus
      - creationTime
      - enabled
      - format
      - keyAlgorithm
      - keyWrapperUuid
      - length
      - name
      - state
      - type
      - uuid
    KeyState:
      type: string
      enum:
      - pre-active
      - active
      - deactivated
      - compromised
      - destroyed
      - destroyedCompromised
    KeyType:
      type: string
      enum:
      - Secret
      - Public
      - Private
      - Split
    KeyUsage:
      type: string
      enum:
      - sign
      - verify
      - encrypt
      - decrypt
      - wrap
      - unwrap
    LocationDto:
      type: object
      properties:
        uuid:
          type: string
          description: Object identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Object Name
          examples:
          - Name
        description:
          type: string
          description: Description of the Location
        entityInstanceUuid:
          type: string
          description: UUID of Entity instance
        entityInstanceName:
          type: string
          description: Name of Entity instance
        attributes:
          type: array
          description: List of Location attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        customAttributes:
          type: array
          description: List of Custom Attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        enabled:
          type: boolean
          description: Enabled flag - true = enabled; false = disabled
        supportMultipleEntries:
          type: boolean
          default: false
          description: If the location supports multiple Certificates
        supportKeyManagement:
          type: boolean
          default: false
          description: If the location supports key management operations
        certificates:
          type: array
          description: List of Certificates in Location
          items:
            $ref: "#/components/schemas/CertificateInLocationDto"
        metadata:
          type: array
          description: Location metadata
          items:
            $ref: "#/components/schemas/MetadataResponseDto"
      required:
      - attributes
      - certificates
      - enabled
      - entityInstanceName
      - entityInstanceUuid
      - name
      - supportKeyManagement
      - supportMultipleEntries
      - uuid
    MetadataResponseDto:
      type: object
      description: Metadata response attributes with their source connector
      properties:
        connectorUuid:
          type: string
          description: UUID of the Connector
        connectorName:
          type: string
          description: Name of the Connector
        sourceObjectType:
          $ref: "#/components/schemas/Resource"
          description: Source Object Type
        items:
          type: array
          description: List of Metadata
          items:
            $ref: "#/components/schemas/ResponseMetadataDto"
      required:
      - items
    NameAndUuidDto:
      type: object
      properties:
        uuid:
          type: string
          description: Object identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Object Name
          examples:
          - Name
      required:
      - name
      - uuid
    QcType:
      type: string
      enum:
      - esign
      - eseal
      - web
    Resource:
      type: string
      enum:
      - NONE
      - ANY
      - dashboard
      - settings
      - auditLogs
      - credentials
      - connectors
      - attributes
      - jobs
      - proxies
      - users
      - roles
      - acmeAccounts
      - acmeProfiles
      - cboms
      - scepProfiles
      - cmpProfiles
      - authorities
      - raProfiles
      - certificates
      - certificateRequests
      - groups
      - complianceProfiles
      - discoveries
      - oids
      - entities
      - locations
      - tokenProfiles
      - tokens
      - keys
      - approvalProfiles
      - approvals
      - notificationProfiles
      - notificationInstances
      - rules
      - actions
      - triggers
      - resources
      - resourceEvents
      - searchFilters
      - keyItems
      - platformEnums
      - notifications
      - conditions
      - executions
      - complianceRules
      - complianceGroups
      - customAttributes
      - globalMetadata
      - acmeOrders
      - acmeAuthorizations
      - acmeChallenges
      - cmpTransactions
      - endEntityProfiles
      - authenticationProviders
      - trustedCertificates
      - vaults
      - vaultProfiles
      - secrets
      - signingProfiles
      - signingRecords
      - timeQualityConfigurations
      - tspProfiles
      - tspProfileBasicCredentials
    ResponseMetadataDto:
      type: object
      description: Request attribute to send attribute content for object
      discriminator:
        propertyName: version
        mapping:
          v2: "#/components/schemas/ResponseMetadataV2"
          v3: "#/components/schemas/ResponseMetadataV3"
      oneOf:
      - $ref: "#/components/schemas/ResponseMetadataV3"
      - $ref: "#/components/schemas/ResponseMetadataV2"
      required:
      - contentType
      - label
      - name
      - sourceObjects
      - type
      - version
    ResponseMetadataV2:
      type: object
      description: Response metadata attribute instance with content
      properties:
        sourceObjects:
          type: array
          description: Source Objects
          items:
            $ref: "#/components/schemas/NameAndUuidDto"
        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
        content:
          type: array
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV2"
        version:
          $ref: "#/components/schemas/AttributeVersion"
          description: Version of the Attribute
          examples:
          - Attribute
      required:
      - contentType
      - label
      - name
      - sourceObjects
      - type
      - version
    ResponseMetadataV3:
      type: object
      description: Response metadata attribute instance with content
      properties:
        sourceObjects:
          type: array
          description: Source Objects
          items:
            $ref: "#/components/schemas/NameAndUuidDto"
        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
        content:
          type: array
          items:
            $ref: "#/components/schemas/BaseAttributeContentDtoV3"
        version:
          $ref: "#/components/schemas/AttributeVersion"
          description: Version of the Attribute
          examples:
          - Attribute
      required:
      - contentType
      - label
      - name
      - sourceObjects
      - type
      - version
    SimplifiedRaProfileDto:
      type: object
      properties:
        uuid:
          type: string
          description: Object identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Object Name
          examples:
          - Name
        enabled:
          type: boolean
          description: Enabled flag - true = enabled; false = disabled
        authorityInstanceUuid:
          type: string
          description: Authority Instance UUID
      required:
      - enabled
      - name
      - uuid
    CancelPendingCertificateRequestDto:
      type: object
      properties:
        reason:
          type: string
          description: Optional free-text reason from the user explaining why the
            pending operation is being cancelled. Recorded in the certificate event
            history.
          maxLength: 1000
          minLength: 0
    CertificateExtension:
      type: object
      properties:
        oid:
          type: string
          description: "OID of the X.509 extension (dotted-decimal, RFC 5280)"
          example: 2.5.29.37
          minLength: 1
        critical:
          type: boolean
          description: Whether the extension is marked critical
        valueBase64:
          type: string
          format: byte
          description: "DER-encoded extension value, Base64-encoded"
          minLength: 1
      required:
      - critical
      - oid
      - valueBase64
    ClientCertificateRegistrationRequest:
      type: object
      description: Pre-registration request for a v3 authority. Reserves a slot/identity
        at the CA before any CSR exists; the returned tracking handle is later used
        to complete issuance.
      properties:
        subjectDn:
          type: string
          description: "Subject DN. Optional per RFC 5280 §4.1.2.6: an empty subject\
            \ is permitted when subject naming information is carried entirely in\
            \ the Subject Alternative Name extension (in which case the subjectAltName\
            \ extension MUST be marked critical at issuance). At least one of subjectDn,\
            \ subjectAltName, or csrAttributes must provide subject identity — enforced\
            \ by the cross-field {@code subjectIdentificationProvided} constraint."
          example: "CN=device-7,O=Acme"
        subjectAltName:
          type: string
          description: "Subject Alternative Name in RFC 5280 textual form (e.g. DNS:foo,IP:1.2.3.4,email:x@y).\
            \ SAN MUST be carried here ONLY — do not also include it as OID 2.5.29.17\
            \ in extensions[]. Connectors reject duplicate-source requests with VALIDATION_FAILED.\
            \ Provides subject identity when subjectDn is empty (see RFC 5280 §4.1.2.6);\
            \ csrAttributes is a further alternative."
        extensions:
          type: array
          description: Structured certificate extensions (OID + critical + base64
            value). All extensions OTHER than SAN go here.
          items:
            $ref: "#/components/schemas/CertificateExtension"
        csrAttributes:
          type: array
          description: "Structured request-attribute identity content (subject RDNs,\
            \ SANs, extensions) — the typed alternative to the flat subjectDn/subjectAltName/extensions\
            \ above, mirroring the issue path. When provided, the platform projects\
            \ it into the registration identity; the flat subjectDn/subjectAltName/extensions\
            \ are the simple alternative. Provide the identity via csrAttributes OR\
            \ the flat fields, not both."
          items:
            $ref: "#/components/schemas/RequestAttribute"
        attributes:
          type: array
          description: "Authority-defined registration attributes (e.g., subject DN\
            \ template, validity hints)."
          items:
            $ref: "#/components/schemas/RequestAttribute"
        raProfileAttributes:
          type: array
          description: RA-profile-scoped override attributes for the registration.
          items:
            $ref: "#/components/schemas/RequestAttribute"
        customAttributes:
          type: array
          description: List of Custom Attributes
          items:
            $ref: "#/components/schemas/RequestAttribute"
        ownerUuid:
          type: string
          description: "Optional UUID of the user to set as the certificate owner\
            \ at registration. When omitted, the registering user becomes the owner.\
            \ The value set here is preserved when the pre-registered certificate\
            \ is later issued."
        groupUuids:
          type: array
          description: "Optional set of group UUIDs to associate with the certificate\
            \ at registration. When provided, it replaces any existing group set.\
            \ The groups set here are preserved when the pre-registered certificate\
            \ is later issued."
          items:
            type: string
            format: uuid
          uniqueItems: true
        authorizationSecret:
          type: string
          description: Authorization secret (challenge) that gates completion of this
            pre-registered certificate. Write-only and optional — the operator supplies
            it to opt the registration into challenge-gated issuance; the platform
            never generates one. Issuing a pre-registered certificate is currently
            the only challenge-verified completion path; renewal and rekey requests
            for a certificate with an active registration are rejected (fail-closed)
            until challenge-gated successor handling is added.
          maxLength: 255
          minLength: 12
          pattern: "[\\x20-\\x7E]+"
          writeOnly: true
        expiresAt:
          type: string
          format: date-time
          description: "Optional absolute deadline by which the completion request\
            \ must be presented — a valid challenge must be supplied before this instant.\
            \ It gates the completion request, not the final issuance: when the request\
            \ is approved or otherwise processed asynchronously, issuance may finalize\
            \ shortly after the deadline. When omitted, the platform applies the default\
            \ registration issuance window."
    AttributeSetMergeMode:
      type: string
      enum:
      - staticOnly
      - connectorOnly
      - merge
    BaseAttributeDto:
      type: object
      description: Base Attribute definition
      oneOf:
      - $ref: "#/components/schemas/BaseAttributeDtoV2"
      - $ref: "#/components/schemas/BaseAttributeDtoV3"
      properties:
        name:
          type: string
          description: Name of the Attribute that is used for identification
          examples:
          - Attribute
        type:
          $ref: "#/components/schemas/AttributeType"
          description: Type of the Attribute
        uuid:
          type: string
          description: UUID of the Attribute for unique identification
          example: b11c9be1-b619-4ef5-be1b-a1cd9ef265b7
        description:
          type: string
          description: "Optional description of the Attribute, should contain helper\
            \ text on what is expected"
      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
    ClientAddEndEntityRequestDto:
      type: object
      properties:
        raProfile:
          $ref: "#/components/schemas/RaProfileDto"
          description: RA profile related to End Entity
        email:
          type: string
          description: End Entity email
        extensionData:
          type: array
          description: End Entity extension data
          items:
            $ref: "#/components/schemas/EndEntityExtendedInfoDto"
        password:
          type: string
          description: End Entity password
        subjectAltName:
          type: string
          description: End Entity Subject alternative name
        subjectDN:
          type: string
          description: End Entity subject domain name
        username:
          type: string
          description: End Entity name
      required:
      - password
      - raProfile
      - subjectDN
      - username
    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
    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
    EndEntityExtendedInfoDto:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    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/ExtensionMappedField"
            - $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
    GeneralNameType:
      type: string
      enum:
      - dns
      - email
      - ip
      - uri
      - otherName
      - directoryName
      - registeredId
    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"
        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
    MappedField:
      type: object
      description: Describes a single target field within an object; concrete type
        is determined by fieldType
      discriminator:
        propertyName: fieldType
      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
    ObjectType:
      type: string
      enum:
      - x509Certificate
      - sshCertificate
      - key
      - secret
    RaProfileCertificateRequestAttributesDto:
      type: object
      description: RA Profile static request-attribute definitions and the merge mode.
      properties:
        requestAttributes:
          type: array
          description: Ordered list of platform-owned request-attribute definitions
            for this RA Profile
          items:
            $ref: "#/components/schemas/BaseAttributeDto"
        mergeMode:
          $ref: "#/components/schemas/AttributeSetMergeMode"
          description: How the static set combines with a connector-supplied set;
            always the effective mode. Currently only `staticOnly` is supported.
        externalCsrValidationStrict:
          type: boolean
          description: Whether an external CSR violating the resolved set is rejected
            (true) or accepted with warnings (false); null inherits the platform default
      required:
      - mergeMode
    RaProfileCertificateValidationSettingsDto:
      type: object
      properties:
        enabled:
          type: boolean
          description: "Indicator whether validation of certificates associated with\
            \ RA profile should be enabled, if null, then values in platform settings\
            \ will be used"
        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
    RaProfileDto:
      type: object
      properties:
        uuid:
          type: string
          description: Object identifier
          examples:
          - 7b55ge1c-844f-11dc-a8a3-0242ac120002
        name:
          type: string
          description: Object Name
          examples:
          - Name
        description:
          type: string
          description: Description of RA Profile
        authorityInstanceUuid:
          type: string
          description: UUID of Authority provider
        authorityInstanceName:
          type: string
          description: Name of Authority instance
        legacyAuthority:
          type: boolean
          description: Has Authority of legacy authority provider
        enabled:
          type: boolean
          description: Enabled flag - true = enabled; false = disabled
        attributes:
          type: array
          description: List of RA Profiles attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        customAttributes:
          type: array
          description: List of Custom Attributes
          items:
            $ref: "#/components/schemas/ResponseAttribute"
        enabledProtocols:
          type: array
          description: List of protocols enabled
          items:
            type: string
        certificateValidationSettings:
          $ref: "#/components/schemas/RaProfileCertificateValidationSettingsDto"
          description: Settings for validation of certificates associated with the
            RA Profile
        certificateRequestAttributes:
          $ref: "#/components/schemas/RaProfileCertificateRequestAttributesDto"
          description: Static certificate-request-attribute set configured for the
            RA Profile
      required:
      - enabled
      - name
      - uuid
    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
    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
    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
    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
    ClientEditEndEntityRequestDto:
      type: object
      properties:
        raProfile:
          $ref: "#/components/schemas/RaProfileDto"
          description: RA profile related to End Entity
        email:
          type: string
          description: End Entity email
        extensionData:
          type: array
          description: End Entity extension data
          items:
            $ref: "#/components/schemas/EndEntityExtendedInfoDto"
        password:
          type: string
          description: End Entity password
        subjectAltName:
          type: string
          description: End Entity Subject alternative name
        subjectDN:
          type: string
          description: End Entity subject domain name
        status:
          type: string
          description: End Entity Subject domain name
          enum:
          - NEW
          - FAILED
          - INITIALIZED
          - IN_PROCESS
          - GENERATED
          - REVOKED
          - HISTORICAL
          - KEY_RECOVERY
          - WAITING_FOR_ADD_APPROVAL
      required:
      - password
      - raProfile
      - status
      - subjectDN
    LegacyClientCertificateRevocationDto:
      type: object
      properties:
        certificateSN:
          type: string
          description: Certificate serial number
        issuerDN:
          type: string
          description: Issuer domain name
        reason:
          $ref: "#/components/schemas/CertificateRevocationReason"
          description: Revocation reason
      required:
      - certificateSN
      - issuerDN
      - reason
    LegacyClientCertificateSignRequestDto:
      type: object
      properties:
        password:
          type: string
          description: End Entity password
        pkcs10:
          type: string
          description: Certificate sign request (PKCS#10) encoded as Base64 string
        username:
          type: string
          description: End Entity username
      required:
      - password
      - pkcs10
      - username
    ClientCertificateSignResponseDto:
      type: object
      properties:
        certificateData:
          type: string
          description: Date of signed certificate
      required:
      - certificateData
    AvailableOperations:
      type: object
      description: Per-RA-profile capability advertisement. Operators query this before
        invoking register/cancel/etc. to know which actions an authority supports.
      properties:
        operations:
          type: array
          description: List of operations the authority advertises for this RA profile.
          items:
            $ref: "#/components/schemas/OperationSupport"
    CertificateOperationKind:
      type: string
      enum:
      - ISSUE
      - RENEW
      - REVOKE
      - REGISTER
    OperationSupport:
      type: object
      description: Per-operation support flags for an authority/RA profile.
      properties:
        operation:
          $ref: "#/components/schemas/CertificateOperationKind"
          description: "Operation kind (ISSUE, RENEW, REVOKE, REGISTER)."
        supported:
          type: boolean
          description: Whether the operation is supported by this authority.
        asyncSupported:
          type: boolean
          description: Whether the platform provides managed status-polling for this
            operation's asynchronous completion (the authority is v3 and advertises
            status polling). A connector may still complete asynchronously without
            this — the certificate is then left in a pending state for an operator
            finalize/confirm action.
        cancelSupported:
          type: boolean
          description: Whether an in-flight asynchronous execution of this operation
            can be cancelled.
      required:
      - operation
    ClientEndEntityDto:
      type: object
      properties:
        subjectDN:
          type: string
          description: End Entity subject domain name
        email:
          type: string
          description: End Entity email
        extensionData:
          type: array
          description: End Entity extension data
          items:
            $ref: "#/components/schemas/EndEntityExtendedInfoDto"
        subjectAltName:
          type: string
          description: End Entity Subject alternative name
        status:
          type: string
          description: End Entity Subject domain name
          enum:
          - NEW
          - FAILED
          - INITIALIZED
          - IN_PROCESS
          - GENERATED
          - REVOKED
          - HISTORICAL
          - KEY_RECOVERY
          - WAITING_FOR_ADD_APPROVAL
        username:
          type: string
          description: End Entity name
      required:
      - status
      - subjectDN
      - username
  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
