openapi: 3.0.0
info:
  title: DEUSS Core API
  version: 1.0.0
  description: Combined DEUSS Core API reference.
tags:
  - name: Admin Companies
    description: Endpoints used to CRUD companies and their properties
  - name: Admin User
    description: Endpoints related to Users (creation etc.) called by Distributor
  - name: Admin Bonds
    description: Endpoints used to CRUD bonds and their properties
  - name: Admin Bond Document
    description: Endpoints related to bond document uploads
  - name: Admin Bond Marketing Asset
    description: Endpoints related to bond marketing asset uploads
  - name: Admin Bond Guarantee Document
    description: Endpoints related to bond guarantee document uploads
  - name: Admin Bond Guarantee
    description: Endpoints related to bond guarantee state management
  - name: Admin Scoring
    description: Endpoints used to record scoring of companies
  - name: Companies
    description: Endpoints used to CRUD companies and their properties
  - name: User
    description: Endpoints related to Users (creation etc.) called by Distributor
  - name: Bonds
    description: Endpoints used to CRUD bonds and their properties
  - name: Bond Document
    description: Endpoints related to bond document uploads
  - name: Bond Marketing Asset
    description: Endpoints related to bond marketing asset uploads
  - name: Bond Guarantee Document
    description: Endpoints related to bond guarantee document uploads
  - name: Bond Guarantee
    description: Endpoints related to bond guarantee state management
  - name: Scoring
    description: Endpoints used to record scoring of companies
  - name: Operations
    description: Endpoints used to query the status of asynchronous chain operations
  - name: Admin
    description: Endpoints related to admin operations
  - name: Payment
    description: Endpoints related to Payments (deals and bonds from indexer)
  - name: PaymentProviderExternal
    description: Endpoints for updating payment state.
  - name: Partners
    description: CRUD endpoints for partners and their profiles.
  - name: Platform Fee Schedules
    description: Manage and query individually negotiated DEUSS platform fee schedules of BROKER partners.
paths:
  /public/v1/admin/scoring:
    post:
      operationId: admin_record_scoring
      summary: Record scoring of a company
      tags:
        - Admin Scoring
      requestBody:
        description: Description of scoring request
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_id:
                  type: string
                  format: uuid
                  description: Unique identifier of the related company, DEUSS core internal representation
                  example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  nullable: false
                grade:
                  type: string
                  enum:
                    - A
                    - B
                    - C
                    - D
                    - E
                  description: Scoring grade of the company
                  example: A
                default_probability:
                  type: integer
                  description: Percentage
                issue_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                expiration_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
              required:
                - company_id
                - grade
                - default_probability
                - issue_date
                - expiration_date
      responses:
        '201':
          description: Scoring record created successfully
          content:
            application/json:
              schema:
                type: object
                description: Response to scoring post request
                properties:
                  upload_scoring_operation_id:
                    type: string
                    format: uuid
                  scoring_id:
                    type: string
                    format: uuid
                required:
                  - upload_scoring_operation_id
                  - scoring_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies:
    get:
      operationId: admin_get_companies
      summary: Get companies by filter
      description: Returns a paged, filterable list of companies.
      tags:
        - Admin Companies
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
        - name: sortBy
          in: query
          required: false
          description: Property to sort companies by
          schema:
            type: string
            enum:
              - name
              - created
              - last_edit
            description: Property to sort companies by
        - name: sortDirection
          in: query
          required: false
          description: Sort order
          schema:
            example: ASC
            description: Sort order which should be applied for the field.
            type: string
            enum:
              - ASC
              - DESC
        - name: name
          in: query
          required: false
          schema:
            type: string
          description: Filter by company name (partial match)
        - name: actingUserId
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: Filter by acting user ID
        - name: distributorId
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: Filter by distributor ID
        - name: businessId
          in: query
          required: false
          schema:
            type: string
          description: Filter by business ID
        - name: vatNumber
          in: query
          required: false
          schema:
            type: string
          description: Filter by VAT number
        - name: legalEntityId
          in: query
          required: false
          schema:
            type: string
          description: Filter by legal entity ID (LEI)
        - name: amlVerificationState
          in: query
          required: false
          schema:
            type: string
            enum:
              - PENDING_VERIFICATION
              - VERIFIED
              - REJECTED
              - INFORMATION_UPDATE_NEEDED
            description: AML verification state of the company
          description: Filter by AML verification state
        - name: registrationEntity
          in: query
          required: false
          schema:
            description: Countries in EU
            example: CZ
            type: string
            enum:
              - AL
              - AD
              - AT
              - AZ
              - BY
              - BE
              - BA
              - BG
              - HR
              - CY
              - CZ
              - DK
              - EE
              - FI
              - FR
              - GE
              - DE
              - GR
              - HU
              - IS
              - IE
              - IT
              - KZ
              - XK
              - LV
              - LI
              - LT
              - LU
              - MK
              - MT
              - MD
              - MC
              - ME
              - NL
              - 'NO'
              - PL
              - PT
              - RO
              - RU
              - SM
              - RS
              - SK
              - SI
              - ES
              - SE
              - CH
              - TR
              - UA
              - GB
              - VA
          description: Filter by registration entity (country)
        - name: walletAddress
          in: query
          required: false
          schema:
            type: string
          description: Filter by wallet address
      responses:
        '200':
          description: Paged list of companies
          content:
            application/json:
              schema:
                title: PagedCompaniesResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      companies:
                        type: array
                        items:
                          description: Response to company get request
                          type: object
                          properties:
                            company_id:
                              type: string
                              format: uuid
                              description: Unique identifier
                              example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                            author_id:
                              type: string
                              format: uuid
                              description: Unique identifier of the user who created the company
                            name:
                              type: string
                              description: Name of the company
                              example: Acme Corp
                              maxLength: 255
                              x-field-extra-annotation: '@NotBlank'
                            business_id:
                              type: string
                              description: Unique business identifier
                              example: '12345678'
                              maxLength: 255
                              x-field-extra-annotation: '@NotBlank'
                            vat_number:
                              type: string
                              description: VAT number of the company
                              example: CZ12345678
                              maxLength: 50
                              x-field-extra-annotation: '@NotBlank'
                            lei_code:
                              type: string
                              description: Legal entity identifier, if applicable
                              example: LEI1234567890
                              maxLength: 255
                              x-field-extra-annotation: '@NotBlank'
                            wallet:
                              type: string
                              description: Wallet address for this company. Null until the createWallet chain operation has finished.
                              nullable: true
                            registration_entity:
                              description: Countries in EU
                              example: CZ
                              type: string
                              enum:
                                - AL
                                - AD
                                - AT
                                - AZ
                                - BY
                                - BE
                                - BA
                                - BG
                                - HR
                                - CY
                                - CZ
                                - DK
                                - EE
                                - FI
                                - FR
                                - GE
                                - DE
                                - GR
                                - HU
                                - IS
                                - IE
                                - IT
                                - KZ
                                - XK
                                - LV
                                - LI
                                - LT
                                - LU
                                - MK
                                - MT
                                - MD
                                - MC
                                - ME
                                - NL
                                - 'NO'
                                - PL
                                - PT
                                - RO
                                - RU
                                - SM
                                - RS
                                - SK
                                - SI
                                - ES
                                - SE
                                - CH
                                - TR
                                - UA
                                - GB
                                - VA
                            website:
                              type: string
                              description: Company website
                            registration_date:
                              type: string
                              format: date
                              description: Date of registration
                            ownership_status:
                              type: string
                              enum:
                                - AUTONOMOUS
                                - LINKED
                                - PARTNER
                              description: Ownership status of the company
                            issuer_profile:
                              description: Issuer profile information returned on company read endpoints. Extends IssuerProfileResponse with read-only scoring history.
                              allOf:
                                - type: object
                                  properties:
                                    company_id:
                                      type: string
                                      format: uuid
                                    annual_turnover_category:
                                      type: string
                                      enum:
                                        - SMALL
                                        - MEDIUM
                                        - LARGE
                                      description: Annual turnover category
                                    headcount_category:
                                      type: string
                                      enum:
                                        - SMALL
                                        - MEDIUM
                                        - LARGE
                                      description: Company size by headcount
                                    balance_sheet_total_category:
                                      type: string
                                      enum:
                                        - SMALL
                                        - MEDIUM
                                        - LARGE
                                      description: Balance sheet total category
                                    status:
                                      type: string
                                      enum:
                                        - INACTIVE
                                        - ACTIVE
                                        - FROZEN
                                      description: Issuer profile lifecycle status
                                  required:
                                    - annual_turnover_category
                                    - headcount_category
                                    - balance_sheet_total_category
                                - type: object
                                  properties:
                                    scoring_history:
                                      type: array
                                      description: History of company scorings, most recent first. Empty when the issuer has not been scored yet.
                                      items:
                                        type: object
                                        description: Scoring information
                                        properties:
                                          grade:
                                            type: string
                                            enum:
                                              - A
                                              - B
                                              - C
                                              - D
                                              - E
                                            description: Scoring grade of the company
                                            example: A
                                          default_probability:
                                            type: integer
                                            description: Default probability percentage
                                          issue_date:
                                            type: string
                                            format: date-time
                                            description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                            example: '2025-02-11T14:30:00.123Z'
                                          expiration_date:
                                            type: string
                                            format: date-time
                                            description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                            example: '2025-02-11T14:30:00.123Z'
                                          is_current:
                                            type: boolean
                                            description: Indicates if this is the current active scoring
                                        required:
                                          - grade
                                          - default_probability
                                          - issue_date
                                          - expiration_date
                                          - is_current
                                  required:
                                    - scoring_history
                            investor_profile:
                              type: object
                              properties:
                                company_id:
                                  type: string
                                  format: uuid
                                status:
                                  type: string
                                  enum:
                                    - INACTIVE
                                    - ACTIVE
                                    - FROZEN
                                  description: Investor profile lifecycle status
                            risk_score:
                              type: string
                              enum:
                                - LOW
                                - MEDIUM
                                - HIGH
                              description: Risk score of the company
                            aml_verification_state:
                              type: string
                              enum:
                                - PENDING_VERIFICATION
                                - VERIFIED
                                - REJECTED
                                - INFORMATION_UPDATE_NEEDED
                              description: AML verification state of the company
                            visibility:
                              type: string
                              enum:
                                - PUBLIC
                                - PRIVATE
                              description: Visibility of the company for other platform users
                            entity_status:
                              type: string
                              description: |
                                Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                                (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                                invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                                FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                              enum:
                                - NONE
                                - CREATE_PENDING
                                - ACTIVE
                                - FREEZE_PENDING
                                - FROZEN
                                - UNFREEZE_PENDING
                            wallet_status:
                              type: string
                              description: |
                                Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                                (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                                invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                                FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                              enum:
                                - NONE
                                - CREATE_PENDING
                                - ACTIVE
                                - FREEZE_PENDING
                                - FROZEN
                                - UNFREEZE_PENDING
                          required:
                            - company_id
                            - author_id
                            - name
                            - business_id
                            - vat_number
                            - registration_entity
                            - website
                            - registration_date
                            - ownership_status
                            - aml_verification_state
                            - visibility
                            - entity_status
                            - wallet_status
                    required:
                      - companies
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/issuer:
    post:
      operationId: admin_create_issuer_company
      summary: Create a new company with an issuer profile
      description: |
        Creates a company entity, an issuer profile and the planned chain operations,
        then returns the operation IDs immediately. The chain calls run asynchronously.
      tags:
        - Admin Companies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                author_id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user creating the company
                name:
                  type: string
                  description: Name of the company
                  example: Acme Corp
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                business_id:
                  type: string
                  description: Unique business identifier
                  example: '12345678'
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                vat_number:
                  type: string
                  description: VAT number of the company
                  example: CZ12345678
                  maxLength: 50
                  x-field-extra-annotation: '@NotBlank'
                lei_code:
                  type: string
                  description: Legal entity identifier, if applicable
                  example: LEI1234567890
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                registration_entity:
                  description: Countries in EU
                  example: CZ
                  type: string
                  enum:
                    - AL
                    - AD
                    - AT
                    - AZ
                    - BY
                    - BE
                    - BA
                    - BG
                    - HR
                    - CY
                    - CZ
                    - DK
                    - EE
                    - FI
                    - FR
                    - GE
                    - DE
                    - GR
                    - HU
                    - IS
                    - IE
                    - IT
                    - KZ
                    - XK
                    - LV
                    - LI
                    - LT
                    - LU
                    - MK
                    - MT
                    - MD
                    - MC
                    - ME
                    - NL
                    - 'NO'
                    - PL
                    - PT
                    - RO
                    - RU
                    - SM
                    - RS
                    - SK
                    - SI
                    - ES
                    - SE
                    - CH
                    - TR
                    - UA
                    - GB
                    - VA
                website:
                  type: string
                  description: Company website
                registration_date:
                  type: string
                  format: date
                  description: Date of registration
                ownership_status:
                  type: string
                  enum:
                    - AUTONOMOUS
                    - LINKED
                    - PARTNER
                  description: Ownership status of the company
                risk_score:
                  type: string
                  enum:
                    - LOW
                    - MEDIUM
                    - HIGH
                  description: Risk score of the company
                issuer_profile:
                  type: object
                  properties:
                    annual_turnover_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Annual turnover category
                    headcount_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Company size by headcount
                    balance_sheet_total_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Balance sheet total category
                  required:
                    - annual_turnover_category
                    - headcount_category
                    - balance_sheet_total_category
              required:
                - author_id
                - name
                - business_id
                - vat_number
                - lei_code
                - registration_entity
                - website
                - registration_date
                - ownership_status
                - issuer_profile
      responses:
        '202':
          description: Issuer company creation accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the related company, DEUSS core internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                    nullable: false
                  register_entity_operation_id:
                    type: string
                    format: uuid
                  create_wallet_operation_id:
                    type: string
                    format: uuid
                  register_account_operation_id:
                    type: string
                    format: uuid
                required:
                  - company_id
                  - register_entity_operation_id
                  - create_wallet_operation_id
                  - register_account_operation_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/investor:
    post:
      operationId: admin_create_investor_company
      summary: Create a new company with an investor profile
      description: |
        Creates a company entity, an investor profile and the planned chain operations,
        then returns the operation IDs immediately. The chain calls run asynchronously.
      tags:
        - Admin Companies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                author_id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user creating the company
                name:
                  type: string
                  description: Name of the company
                  example: Acme Corp
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                business_id:
                  type: string
                  description: Unique business identifier
                  example: '12345678'
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                vat_number:
                  type: string
                  description: VAT number of the company
                  example: CZ12345678
                  maxLength: 50
                  x-field-extra-annotation: '@NotBlank'
                lei_code:
                  type: string
                  description: Legal entity identifier, if applicable
                  example: LEI1234567890
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                registration_entity:
                  description: Countries in EU
                  example: CZ
                  type: string
                  enum:
                    - AL
                    - AD
                    - AT
                    - AZ
                    - BY
                    - BE
                    - BA
                    - BG
                    - HR
                    - CY
                    - CZ
                    - DK
                    - EE
                    - FI
                    - FR
                    - GE
                    - DE
                    - GR
                    - HU
                    - IS
                    - IE
                    - IT
                    - KZ
                    - XK
                    - LV
                    - LI
                    - LT
                    - LU
                    - MK
                    - MT
                    - MD
                    - MC
                    - ME
                    - NL
                    - 'NO'
                    - PL
                    - PT
                    - RO
                    - RU
                    - SM
                    - RS
                    - SK
                    - SI
                    - ES
                    - SE
                    - CH
                    - TR
                    - UA
                    - GB
                    - VA
                website:
                  type: string
                  description: Company website
                registration_date:
                  type: string
                  format: date
                  description: Date of registration
                ownership_status:
                  type: string
                  enum:
                    - AUTONOMOUS
                    - LINKED
                    - PARTNER
                  description: Ownership status of the company
                risk_score:
                  type: string
                  enum:
                    - LOW
                    - MEDIUM
                    - HIGH
                  description: Risk score of the company
              required:
                - author_id
                - name
                - business_id
                - vat_number
                - lei_code
                - registration_entity
                - website
                - registration_date
                - ownership_status
                - investor_profile
      responses:
        '202':
          description: Investor company creation accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the related company, DEUSS core internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                    nullable: false
                  register_entity_operation_id:
                    type: string
                    format: uuid
                  create_wallet_operation_id:
                    type: string
                    format: uuid
                  register_account_operation_id:
                    type: string
                    format: uuid
                required:
                  - company_id
                  - register_entity_operation_id
                  - create_wallet_operation_id
                  - register_account_operation_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}/issuer-profile:
    post:
      operationId: admin_add_issuer_profile
      summary: Add an issuer profile to an existing company
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                annual_turnover_category:
                  type: string
                  enum:
                    - SMALL
                    - MEDIUM
                    - LARGE
                  description: Annual turnover category
                headcount_category:
                  type: string
                  enum:
                    - SMALL
                    - MEDIUM
                    - LARGE
                  description: Company size by headcount
                balance_sheet_total_category:
                  type: string
                  enum:
                    - SMALL
                    - MEDIUM
                    - LARGE
                  description: Balance sheet total category
              required:
                - annual_turnover_category
                - headcount_category
                - balance_sheet_total_category
      responses:
        '201':
          description: Issuer profile created
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                  annual_turnover_category:
                    type: string
                    enum:
                      - SMALL
                      - MEDIUM
                      - LARGE
                    description: Annual turnover category
                  headcount_category:
                    type: string
                    enum:
                      - SMALL
                      - MEDIUM
                      - LARGE
                    description: Company size by headcount
                  balance_sheet_total_category:
                    type: string
                    enum:
                      - SMALL
                      - MEDIUM
                      - LARGE
                    description: Balance sheet total category
                  status:
                    type: string
                    enum:
                      - INACTIVE
                      - ACTIVE
                      - FROZEN
                    description: Issuer profile lifecycle status
                required:
                  - annual_turnover_category
                  - headcount_category
                  - balance_sheet_total_category
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}/investor-profile:
    post:
      operationId: admin_add_investor_profile
      summary: Add an investor profile to an existing company
      description: |
        Marks an existing company as an investor. The investor profile currently carries no
        attributes, so no request body is required.
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      responses:
        '201':
          description: Investor profile created
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - INACTIVE
                      - ACTIVE
                      - FROZEN
                    description: Investor profile lifecycle status
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/operations/{operation_id}:
    get:
      operationId: admin_get_operation
      summary: Get the status of an operation
      tags:
        - Admin Operations
      parameters:
        - name: operation_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Operation retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  operation_id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - REGISTER_ENTITY
                      - CREATE_WALLET
                      - REGISTER_ACCOUNT
                      - ADD_SCORING
                      - PUBLISH_BOND
                      - ISSUE_BOND
                      - REMOVE_ENTITY_MANAGER
                      - ADD_ENTITY_MANAGER
                      - SET_ENTITY_STATUS
                      - SET_WALLET_STATUS
                  status:
                    type: string
                    enum:
                      - PENDING
                      - DONE
                      - FAILED
                  transaction_hash:
                    type: string
                    description: Transaction hash of the deployment
                  failure_reason:
                    type: string
                    nullable: true
                required:
                  - operation_id
                  - type
                  - status
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}:
    patch:
      operationId: admin_update_company
      summary: Update a company
      description: Partially updates a company and its issuer details (for issuer-type companies). Only fields present in the request body are updated.
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Request to partially update a company. Only provided fields are updated.
              properties:
                name:
                  type: string
                  description: Name of the company
                  example: Acme Corp
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                business_id:
                  type: string
                  description: Unique business identifier
                  example: '12345678'
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                vat_number:
                  type: string
                  description: VAT number of the company
                  example: CZ12345678
                  maxLength: 50
                  x-field-extra-annotation: '@NotBlank'
                lei_code:
                  type: string
                  description: Legal entity identifier, if applicable
                  example: LEI1234567890
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                registration_entity:
                  description: Countries in EU
                  example: CZ
                  type: string
                  enum:
                    - AL
                    - AD
                    - AT
                    - AZ
                    - BY
                    - BE
                    - BA
                    - BG
                    - HR
                    - CY
                    - CZ
                    - DK
                    - EE
                    - FI
                    - FR
                    - GE
                    - DE
                    - GR
                    - HU
                    - IS
                    - IE
                    - IT
                    - KZ
                    - XK
                    - LV
                    - LI
                    - LT
                    - LU
                    - MK
                    - MT
                    - MD
                    - MC
                    - ME
                    - NL
                    - 'NO'
                    - PL
                    - PT
                    - RO
                    - RU
                    - SM
                    - RS
                    - SK
                    - SI
                    - ES
                    - SE
                    - CH
                    - TR
                    - UA
                    - GB
                    - VA
                website:
                  type: string
                  description: Company website
                registration_date:
                  type: string
                  format: date
                  description: Date of registration
                ownership_status:
                  type: string
                  enum:
                    - AUTONOMOUS
                    - LINKED
                    - PARTNER
                  description: Ownership status of the company
                issuer_profile:
                  type: object
                  description: Partial update of issuer profile. Only provided fields are updated.
                  properties:
                    annual_turnover_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Annual turnover category
                    headcount_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Company size by headcount
                    balance_sheet_total_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Balance sheet total category
      responses:
        '200':
          description: Company updated successfully.
          content:
            application/json:
              schema:
                description: Response to company get request
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  author_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user who created the company
                  name:
                    type: string
                    description: Name of the company
                    example: Acme Corp
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  business_id:
                    type: string
                    description: Unique business identifier
                    example: '12345678'
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  vat_number:
                    type: string
                    description: VAT number of the company
                    example: CZ12345678
                    maxLength: 50
                    x-field-extra-annotation: '@NotBlank'
                  lei_code:
                    type: string
                    description: Legal entity identifier, if applicable
                    example: LEI1234567890
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  wallet:
                    type: string
                    description: Wallet address for this company. Null until the createWallet chain operation has finished.
                    nullable: true
                  registration_entity:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  website:
                    type: string
                    description: Company website
                  registration_date:
                    type: string
                    format: date
                    description: Date of registration
                  ownership_status:
                    type: string
                    enum:
                      - AUTONOMOUS
                      - LINKED
                      - PARTNER
                    description: Ownership status of the company
                  issuer_profile:
                    description: Issuer profile information returned on company read endpoints. Extends IssuerProfileResponse with read-only scoring history.
                    allOf:
                      - type: object
                        properties:
                          company_id:
                            type: string
                            format: uuid
                          annual_turnover_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Annual turnover category
                          headcount_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Company size by headcount
                          balance_sheet_total_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Balance sheet total category
                          status:
                            type: string
                            enum:
                              - INACTIVE
                              - ACTIVE
                              - FROZEN
                            description: Issuer profile lifecycle status
                        required:
                          - annual_turnover_category
                          - headcount_category
                          - balance_sheet_total_category
                      - type: object
                        properties:
                          scoring_history:
                            type: array
                            description: History of company scorings, most recent first. Empty when the issuer has not been scored yet.
                            items:
                              type: object
                              description: Scoring information
                              properties:
                                grade:
                                  type: string
                                  enum:
                                    - A
                                    - B
                                    - C
                                    - D
                                    - E
                                  description: Scoring grade of the company
                                  example: A
                                default_probability:
                                  type: integer
                                  description: Default probability percentage
                                issue_date:
                                  type: string
                                  format: date-time
                                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                  example: '2025-02-11T14:30:00.123Z'
                                expiration_date:
                                  type: string
                                  format: date-time
                                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                  example: '2025-02-11T14:30:00.123Z'
                                is_current:
                                  type: boolean
                                  description: Indicates if this is the current active scoring
                              required:
                                - grade
                                - default_probability
                                - issue_date
                                - expiration_date
                                - is_current
                        required:
                          - scoring_history
                  investor_profile:
                    type: object
                    properties:
                      company_id:
                        type: string
                        format: uuid
                      status:
                        type: string
                        enum:
                          - INACTIVE
                          - ACTIVE
                          - FROZEN
                        description: Investor profile lifecycle status
                  risk_score:
                    type: string
                    enum:
                      - LOW
                      - MEDIUM
                      - HIGH
                    description: Risk score of the company
                  aml_verification_state:
                    type: string
                    enum:
                      - PENDING_VERIFICATION
                      - VERIFIED
                      - REJECTED
                      - INFORMATION_UPDATE_NEEDED
                    description: AML verification state of the company
                  visibility:
                    type: string
                    enum:
                      - PUBLIC
                      - PRIVATE
                    description: Visibility of the company for other platform users
                  entity_status:
                    type: string
                    description: |
                      Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                      (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                      invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                      FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                    enum:
                      - NONE
                      - CREATE_PENDING
                      - ACTIVE
                      - FREEZE_PENDING
                      - FROZEN
                      - UNFREEZE_PENDING
                  wallet_status:
                    type: string
                    description: |
                      Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                      (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                      invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                      FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                    enum:
                      - NONE
                      - CREATE_PENDING
                      - ACTIVE
                      - FREEZE_PENDING
                      - FROZEN
                      - UNFREEZE_PENDING
                required:
                  - company_id
                  - author_id
                  - name
                  - business_id
                  - vat_number
                  - registration_entity
                  - website
                  - registration_date
                  - ownership_status
                  - aml_verification_state
                  - visibility
                  - entity_status
                  - wallet_status
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    get:
      operationId: admin_get_company
      summary: Get company by id
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Company retrieved successfully.
          content:
            application/json:
              schema:
                description: Response to company get request
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  author_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user who created the company
                  name:
                    type: string
                    description: Name of the company
                    example: Acme Corp
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  business_id:
                    type: string
                    description: Unique business identifier
                    example: '12345678'
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  vat_number:
                    type: string
                    description: VAT number of the company
                    example: CZ12345678
                    maxLength: 50
                    x-field-extra-annotation: '@NotBlank'
                  lei_code:
                    type: string
                    description: Legal entity identifier, if applicable
                    example: LEI1234567890
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  wallet:
                    type: string
                    description: Wallet address for this company. Null until the createWallet chain operation has finished.
                    nullable: true
                  registration_entity:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  website:
                    type: string
                    description: Company website
                  registration_date:
                    type: string
                    format: date
                    description: Date of registration
                  ownership_status:
                    type: string
                    enum:
                      - AUTONOMOUS
                      - LINKED
                      - PARTNER
                    description: Ownership status of the company
                  issuer_profile:
                    description: Issuer profile information returned on company read endpoints. Extends IssuerProfileResponse with read-only scoring history.
                    allOf:
                      - type: object
                        properties:
                          company_id:
                            type: string
                            format: uuid
                          annual_turnover_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Annual turnover category
                          headcount_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Company size by headcount
                          balance_sheet_total_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Balance sheet total category
                          status:
                            type: string
                            enum:
                              - INACTIVE
                              - ACTIVE
                              - FROZEN
                            description: Issuer profile lifecycle status
                        required:
                          - annual_turnover_category
                          - headcount_category
                          - balance_sheet_total_category
                      - type: object
                        properties:
                          scoring_history:
                            type: array
                            description: History of company scorings, most recent first. Empty when the issuer has not been scored yet.
                            items:
                              type: object
                              description: Scoring information
                              properties:
                                grade:
                                  type: string
                                  enum:
                                    - A
                                    - B
                                    - C
                                    - D
                                    - E
                                  description: Scoring grade of the company
                                  example: A
                                default_probability:
                                  type: integer
                                  description: Default probability percentage
                                issue_date:
                                  type: string
                                  format: date-time
                                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                  example: '2025-02-11T14:30:00.123Z'
                                expiration_date:
                                  type: string
                                  format: date-time
                                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                  example: '2025-02-11T14:30:00.123Z'
                                is_current:
                                  type: boolean
                                  description: Indicates if this is the current active scoring
                              required:
                                - grade
                                - default_probability
                                - issue_date
                                - expiration_date
                                - is_current
                        required:
                          - scoring_history
                  investor_profile:
                    type: object
                    properties:
                      company_id:
                        type: string
                        format: uuid
                      status:
                        type: string
                        enum:
                          - INACTIVE
                          - ACTIVE
                          - FROZEN
                        description: Investor profile lifecycle status
                  risk_score:
                    type: string
                    enum:
                      - LOW
                      - MEDIUM
                      - HIGH
                    description: Risk score of the company
                  aml_verification_state:
                    type: string
                    enum:
                      - PENDING_VERIFICATION
                      - VERIFIED
                      - REJECTED
                      - INFORMATION_UPDATE_NEEDED
                    description: AML verification state of the company
                  visibility:
                    type: string
                    enum:
                      - PUBLIC
                      - PRIVATE
                    description: Visibility of the company for other platform users
                  entity_status:
                    type: string
                    description: |
                      Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                      (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                      invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                      FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                    enum:
                      - NONE
                      - CREATE_PENDING
                      - ACTIVE
                      - FREEZE_PENDING
                      - FROZEN
                      - UNFREEZE_PENDING
                  wallet_status:
                    type: string
                    description: |
                      Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                      (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                      invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                      FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                    enum:
                      - NONE
                      - CREATE_PENDING
                      - ACTIVE
                      - FREEZE_PENDING
                      - FROZEN
                      - UNFREEZE_PENDING
                required:
                  - company_id
                  - author_id
                  - name
                  - business_id
                  - vat_number
                  - registration_entity
                  - website
                  - registration_date
                  - ownership_status
                  - aml_verification_state
                  - visibility
                  - entity_status
                  - wallet_status
  /public/v1/admin/companies/{company_id}/manager:
    patch:
      operationId: admin_change_company_manager
      summary: Change the managing director (jednatel) of a company
      description: |
        Reassigns the company's acting user (jednatel) to another user, creates the planned chain
        operations (remove manager rights from the previous jednatel, add them to the new one) and
        returns the operation IDs immediately. The chain calls run asynchronously; poll the returned
        operation IDs via GET /v1/operations/{operation_id} for their outcome.
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                new_acting_user_id:
                  type: string
                  format: uuid
                  description: Id of the user who becomes the new managing director (jednatel).
              required:
                - new_acting_user_id
      responses:
        '202':
          description: Company manager change accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the related company, DEUSS core internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                    nullable: false
                  remove_manager_operation_id:
                    type: string
                    format: uuid
                    nullable: true
                    description: |
                      Operation that removes manager rights from the previous jednatel. Null when there is no
                      previous jednatel or the new jednatel shares the same wallet (nothing to remove).
                  add_manager_operation_id:
                    type: string
                    format: uuid
                    description: Operation that grants manager rights to the new jednatel.
                required:
                  - company_id
                  - add_manager_operation_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}/verification-state:
    put:
      operationId: admin_set_aml_verification_state
      summary: Set AML verification state for a company
      description: Sets the AML verification state for a specific company. (DEUSS admin only)
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                state:
                  type: string
                  enum:
                    - PENDING_VERIFICATION
                    - VERIFIED
                    - REJECTED
                    - INFORMATION_UPDATE_NEEDED
                  description: AML verification state of the company
              required:
                - state
      responses:
        '204':
          description: AML verification state updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}/visibility:
    put:
      operationId: admin_set_company_visibility
      summary: Set visibility for a company
      description: Sets the visibility for a specific company. (DEUSS admin only)
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                visibility:
                  type: string
                  enum:
                    - PUBLIC
                    - PRIVATE
                  description: Visibility of the company for other platform users
              required:
                - visibility
      responses:
        '204':
          description: Company visibility updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}/entity/freeze-state:
    put:
      operationId: admin_set_entity_freeze_state
      summary: Freeze or unfreeze a company entity
      description: |
        Freezes or unfreezes the company entity on chain via setEntityStatus. Sets entity_status to
        FREEZE_PENDING/UNFREEZE_PENDING and returns the operation id; the chain call runs
        asynchronously. Poll GET /v1/operations/{operationId} for the outcome. (DEUSS admin only)
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier (equals the on-chain entity id)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                  description: Whether to freeze or unfreeze the target.
                  enum:
                    - FREEZE
                    - UNFREEZE
              required:
                - action
      responses:
        '202':
          description: Entity freeze/unfreeze accepted.
          content:
            application/json:
              schema:
                type: object
                description: Returned by async freeze/unfreeze endpoints. Poll the operation via GET /v1/operations/{operationId}.
                properties:
                  operationId:
                    type: string
                    format: uuid
                    description: Operation tracking the chain freeze/unfreeze call.
                required:
                  - operationId
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}/issuer-profile/freeze-state:
    put:
      operationId: admin_set_issuer_profile_freeze_state
      summary: Freeze or unfreeze a company issuer profile
      description: |
        Freezes or unfreezes the issuer profile by setting issuer_details.status to FROZEN/ACTIVE.
        Offchain only, no chain call. (DEUSS admin only)
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                  description: Whether to freeze or unfreeze the target.
                  enum:
                    - FREEZE
                    - UNFREEZE
              required:
                - action
      responses:
        '204':
          description: Issuer profile freeze state updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}/investor-profile/freeze-state:
    put:
      operationId: admin_set_investor_profile_freeze_state
      summary: Freeze or unfreeze a company investor profile
      description: |
        Freezes or unfreezes the investor profile. Offchain only, no chain call. No-op for now:
        the status stays ACTIVE regardless of the requested action. (DEUSS admin only)
      tags:
        - Admin Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                  description: Whether to freeze or unfreeze the target.
                  enum:
                    - FREEZE
                    - UNFREEZE
              required:
                - action
      responses:
        '204':
          description: Investor profile freeze state updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/wallet/freeze-state:
    put:
      operationId: admin_set_wallet_freeze_state
      summary: Freeze or unfreeze a company wallet
      description: |
        Looks up the company by wallet address, sets wallet_status to FREEZE_PENDING/UNFREEZE_PENDING
        and disables/enables the wallet on chain via setAccountStatus. Returns the operation id; poll
        GET /v1/operations/{operationId}. (DEUSS admin only)
      tags:
        - Admin Companies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                wallet_address:
                  type: string
                  description: Wallet address of the company whose wallet should be frozen/unfrozen.
                action:
                  type: string
                  description: Whether to freeze or unfreeze the target.
                  enum:
                    - FREEZE
                    - UNFREEZE
              required:
                - wallet_address
                - action
      responses:
        '202':
          description: Wallet freeze/unfreeze accepted.
          content:
            application/json:
              schema:
                type: object
                description: Returned by async freeze/unfreeze endpoints. Poll the operation via GET /v1/operations/{operationId}.
                properties:
                  operationId:
                    type: string
                    format: uuid
                    description: Operation tracking the chain freeze/unfreeze call.
                required:
                  - operationId
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}/scoring:
    get:
      operationId: admin_get_current_company_scoring
      summary: Get current company scoring
      description: Retrieves the active credit rating for a specific issuer.
      tags:
        - Admin Scoring
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Current scoring retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                description: Scoring information
                properties:
                  grade:
                    type: string
                    enum:
                      - A
                      - B
                      - C
                      - D
                      - E
                    description: Scoring grade of the company
                    example: A
                  default_probability:
                    type: integer
                    description: Default probability percentage
                  issue_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  expiration_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  is_current:
                    type: boolean
                    description: Indicates if this is the current active scoring
                required:
                  - grade
                  - default_probability
                  - issue_date
                  - expiration_date
                  - is_current
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/companies/{company_id}/scoring/history:
    get:
      operationId: admin_get_company_scoring_history
      summary: Get company scoring history
      description: Retrieves historical credit ratings for an issuer.
      tags:
        - Admin Scoring
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Scoring history retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                description: Response containing scoring history
                properties:
                  history:
                    type: array
                    description: List of historical scoring records
                    items:
                      type: object
                      description: Scoring information
                      properties:
                        grade:
                          type: string
                          enum:
                            - A
                            - B
                            - C
                            - D
                            - E
                          description: Scoring grade of the company
                          example: A
                        default_probability:
                          type: integer
                          description: Default probability percentage
                        issue_date:
                          type: string
                          format: date-time
                          description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                          example: '2025-02-11T14:30:00.123Z'
                        expiration_date:
                          type: string
                          format: date-time
                          description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                          example: '2025-02-11T14:30:00.123Z'
                        is_current:
                          type: boolean
                          description: Indicates if this is the current active scoring
                      required:
                        - grade
                        - default_probability
                        - issue_date
                        - expiration_date
                        - is_current
                required:
                  - history
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds:
    get:
      operationId: admin_get_bonds
      summary: Get bonds by filter
      description: Returns a paged, filterable list of bonds.
      tags:
        - Admin Bonds
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
        - name: sortBy
          in: query
          required: false
          description: Property to sort bonds by
          schema:
            title: BondSortAttribute
            type: string
            enum:
              - name
              - state
              - issue_date
              - maturity_date
        - name: sortDirection
          in: query
          required: false
          description: Sort order
          schema:
            example: ASC
            description: Sort order which should be applied for the field.
            type: string
            enum:
              - ASC
              - DESC
        - name: name
          in: query
          required: false
          schema:
            type: string
          description: Filter by bond name (partial match)
        - name: companyName
          in: query
          required: false
          schema:
            type: string
          description: Filter by issuer company name (partial match)
        - name: registrationEntity
          in: query
          required: false
          schema:
            description: Countries in EU
            example: CZ
            type: string
            enum:
              - AL
              - AD
              - AT
              - AZ
              - BY
              - BE
              - BA
              - BG
              - HR
              - CY
              - CZ
              - DK
              - EE
              - FI
              - FR
              - GE
              - DE
              - GR
              - HU
              - IS
              - IE
              - IT
              - KZ
              - XK
              - LV
              - LI
              - LT
              - LU
              - MK
              - MT
              - MD
              - MC
              - ME
              - NL
              - 'NO'
              - PL
              - PT
              - RO
              - RU
              - SM
              - RS
              - SK
              - SI
              - ES
              - SE
              - CH
              - TR
              - UA
              - GB
              - VA
        - name: headcountCategory
          in: query
          required: false
          schema:
            type: string
            enum:
              - SMALL
              - MEDIUM
              - LARGE
            description: Company size by headcount
        - name: guarantorId
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: |
            Filter by guarantor. Returns only bonds actively guaranteed by this guarantor (matching external_guarantor_id with an ACTIVE guarantee_state).
      responses:
        '200':
          description: Paged list of bonds for a company
          content:
            application/json:
              schema:
                title: PagedCompanyBondsResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      bonds:
                        type: array
                        items:
                          description: Detailed response for a bond
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the bond
                              example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                            company_id:
                              type: string
                              format: uuid
                              description: Unique identifier of the company that owns this bond
                              example: 123e4567-e89b-12d3-a456-426614174000
                            name:
                              type: string
                              description: Bond name
                              example: Best Bond
                            isin:
                              type: string
                              description: ISIN code
                              example: CZ0003551060
                            description:
                              type: string
                              description: Bond description
                            status:
                              type: string
                              description: Current state of the bond
                              enum:
                                - DRAFT
                                - PUBLISHED
                                - ISSUING
                                - ISSUED
                                - BURNED
                            industry_codes:
                              type: array
                              items:
                                type: string
                                description: NACE industry classification codes
                                enum:
                                  - A
                                  - B
                                  - C
                                  - D
                                  - E
                                  - F
                                  - G
                                  - H
                                  - I
                                  - J
                                  - K
                                  - L
                                  - M
                                  - 'N'
                                  - O
                                  - P
                                  - Q
                                  - R
                                  - S
                                  - T
                                  - U
                                example: C
                            bond_count:
                              type: integer
                              description: Number of emitted bonds
                              example: 10
                            bond_nominal_value:
                              description: A number represented as a string with exactly two decimal places.
                              type: string
                              format: decimal
                              nullable: false
                              x-field-extra-annotation:
                                - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                                - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                            currency:
                              description: Name of european currency used
                              type: string
                              enum:
                                - EUR
                                - CZK
                                - BGN
                                - DKK
                                - HUF
                                - PLN
                                - RON
                                - SEK
                                - CHF
                            interest_rate:
                              description: A number represented as a string with exactly two decimal places.
                              type: string
                              format: decimal
                              nullable: false
                              x-field-extra-annotation:
                                - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                                - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                            issue_date:
                              type: string
                              format: date-time
                              description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                              example: '2025-02-11T14:30:00.123Z'
                            maturity_date:
                              type: string
                              format: date-time
                              description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                              example: '2025-02-11T14:30:00.123Z'
                            payment_frequency:
                              type: string
                              description: Type describing how often is interest payment paid
                              enum:
                                - SEMI_ANNUAL
                                - ANNUAL
                                - QUARTERLY
                                - MONTHLY
                                - ZERO_COUPON
                            contract_address:
                              type: string
                              description: On-chain contract address, present only if ISSUED
                              nullable: true
                            is_guaranteed:
                              type: boolean
                              description: Whether the bond is guaranteed
                            guarantee_state:
                              type: string
                              enum:
                                - DRAFTED
                                - ACTIVE
                                - TRIGGERED
                                - PAID
                                - RESOLVED
                              description: State of the bond guarantee
                            cfi:
                              type: string
                              description: Classification of Financial Instruments code
                              example: ESVUFR
                            fisn:
                              type: string
                              description: Financial Instrument Short Name
                              example: NASDAQ/SHS
                            issuance_size_category:
                              type: string
                              enum:
                                - MICRO
                                - SMALL
                                - MEDIUM
                              description: Bond issuance size category
                            issuer_track_record_category:
                              type: string
                              enum:
                                - FIRST_TIME
                                - REPEATED
                              description: Issuer track record category
                            success_fee_pct:
                              type: string
                              format: decimal
                              description: Success fee percentage (0-100.000), up to 3 decimal places
                              nullable: true
                              x-field-extra-annotation:
                                - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                                - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                                - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
                            broker_id:
                              type: string
                              format: uuid
                              description: Broker identifier
                              nullable: true
                          required:
                            - id
                            - company_id
                            - name
                            - isin
                            - description
                            - status
                            - industry_codes
                            - bond_count
                            - bond_nominal_value
                            - currency
                            - interest_rate
                            - issue_date
                            - maturity_date
                            - payment_frequency
                            - is_guaranteed
                            - cfi
                            - fisn
                    required:
                      - bonds
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/users:
    get:
      operationId: admin_get_users
      summary: Get users by filter
      description: Returns a paged, filterable list of users.
      tags:
        - Admin User
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
        - name: sortBy
          in: query
          required: false
          description: Property to sort users by
          schema:
            type: string
            enum:
              - created
              - wallet_address
            description: Property to sort users by
        - name: sortDirection
          in: query
          required: false
          description: Sort order
          schema:
            example: ASC
            description: Sort order which should be applied for the field.
            type: string
            enum:
              - ASC
              - DESC
        - name: walletAddress
          in: query
          required: false
          schema:
            type: string
          description: Filter by wallet address
        - name: identityVerificationState
          in: query
          required: false
          schema:
            type: string
            enum:
              - NONE
              - PENDING_VERIFICATION
              - VERIFIED
              - FAILED
            description: Identity verification state of the user
          description: Filter by identity verification state
      responses:
        '200':
          description: Paged list of users
          content:
            application/json:
              schema:
                title: PagedUsersResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      users:
                        type: array
                        items:
                          description: Response to users get request
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the user, DEUSS code internal representation
                              example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                            wallet_address:
                              type: string
                              description: User wallet address
                              example: 43981
                              maxLength: 255
                              x-field-extra-annotation: '@NotBlank'
                            email_address:
                              type: string
                              format: email
                              description: Email address of the user. Null for users created from a wallet address only.
                              example: jane.doe@example.com
                              maxLength: 255
                              nullable: true
                            distributor_id:
                              type: string
                              description: User distributor uuid
                              format: uuid
                              maxLength: 255
                              nullable: true
                            identity_verification_state:
                              type: string
                              enum:
                                - NONE
                                - PENDING_VERIFICATION
                                - VERIFIED
                                - FAILED
                              description: Identity verification state of the user
                          required:
                            - id
                            - wallet_address
                            - identity_verification_state
                    required:
                      - users
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    post:
      operationId: admin_post_users
      tags:
        - Admin User
      summary: Register User Identity.
      description: |
        Register User Identity.
        This step creates a DB record but performs no on-chain operations.
      requestBody:
        description: Description of user to be created
        required: true
        content:
          application/json:
            schema:
              description: Description of user to be created
              type: object
              properties:
                passkey_public_key:
                  type: string
                  description: Passkey public key
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                passkey_key_id:
                  type: string
                  description: Passkey key ID
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                email_address:
                  type: string
                  format: email
                  description: Email address of the user
                  example: jane.doe@example.com
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
              required:
                - passkey_public_key
                - passkey_key_id
                - email_address
      responses:
        '201':
          description: User registered
          content:
            application/json:
              schema:
                description: Response to users post request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the added user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: The hexadecimal string representing an Ethereum wallet address.
                    pattern: ^0x[a-fA-F0-9]{40}$
                    example: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
                required:
                  - id
                  - transaction_hash
                  - wallet_address
  /public/v1/admin/users/wallet:
    post:
      operationId: admin_post_user_by_wallet
      tags:
        - Admin User
      summary: Register a user from a wallet address.
      description: |
        Registers a user identity from an existing wallet address.
        Unlike passkey registration this creates a DB record only, performs no
        on-chain operations, and derives no wallet.
      requestBody:
        description: Wallet address of the user to be created
        required: true
        content:
          application/json:
            schema:
              description: Description of a user to be created from an existing wallet address
              type: object
              properties:
                wallet_address:
                  type: string
                  description: The hexadecimal string representing an Ethereum wallet address.
                  pattern: ^0x[a-fA-F0-9]{40}$
                  example: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
                email_address:
                  type: string
                  format: email
                  description: Email address of the user
                  example: jane.doe@example.com
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
              required:
                - wallet_address
                - email_address
      responses:
        '201':
          description: User registered
          content:
            application/json:
              schema:
                description: Response to users post request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the added user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: The hexadecimal string representing an Ethereum wallet address.
                    pattern: ^0x[a-fA-F0-9]{40}$
                    example: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
                required:
                  - id
                  - transaction_hash
                  - wallet_address
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/users/{user_id}:
    get:
      operationId: admin_get_user
      tags:
        - Admin User
      summary: Get user by id
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: User unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: User retrieved successfully.
          content:
            application/json:
              schema:
                description: Response to users get request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: User wallet address
                    example: 43981
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  email_address:
                    type: string
                    format: email
                    description: Email address of the user. Null for users created from a wallet address only.
                    example: jane.doe@example.com
                    maxLength: 255
                    nullable: true
                  distributor_id:
                    type: string
                    description: User distributor uuid
                    format: uuid
                    maxLength: 255
                    nullable: true
                  identity_verification_state:
                    type: string
                    enum:
                      - NONE
                      - PENDING_VERIFICATION
                      - VERIFIED
                      - FAILED
                    description: Identity verification state of the user
                required:
                  - id
                  - wallet_address
                  - identity_verification_state
  /public/v1/admin/users/{user_id}/recover:
    post:
      operationId: admin_recover_user
      tags:
        - Admin User
      summary: Recover user's passkey on-chain
      description: |
        Replaces the passkey currently associated with the user on-chain. Intended
        to be called by user-service after the user re-enrolled a new passkey in
        Keycloak.
        Updates the DB record and performs the on-chain recovery call.
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: User unique identifier
      requestBody:
        description: Passkey data used to recover the user on-chain.
        required: true
        content:
          application/json:
            schema:
              description: New passkey data used to replace the user's on-chain passkey.
              type: object
              properties:
                passkey_public_key:
                  type: string
                  description: New passkey public key
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                passkey_key_id:
                  type: string
                  description: New passkey key ID
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
              required:
                - passkey_public_key
                - passkey_key_id
      responses:
        '200':
          description: Recovery accepted.
          content:
            application/json:
              schema:
                description: Response to users post request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the added user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: The hexadecimal string representing an Ethereum wallet address.
                    pattern: ^0x[a-fA-F0-9]{40}$
                    example: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
                required:
                  - id
                  - transaction_hash
                  - wallet_address
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/users/{user_id}/verification-state:
    put:
      operationId: admin_set_identity_verification_state
      summary: Set identity verification state for a user
      description: Sets the identity verification state for a specific user. (DEUSS admin only)
      tags:
        - Admin User
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: User unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                state:
                  type: string
                  enum:
                    - NONE
                    - PENDING_VERIFICATION
                    - VERIFIED
                    - FAILED
                  description: Identity verification state of the user
              required:
                - state
      responses:
        '204':
          description: Identity verification state updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/draft:
    post:
      operationId: admin_post_bonds_draft
      tags:
        - Admin Bonds
      summary: Submit draft of a bond
      description: |
        Submit draft of a bond.
        This step creates a DB record but performs no on-chain operations.
      requestBody:
        description: Description of bond draft to be created
        required: true
        content:
          application/json:
            schema:
              description: Description of bond draft to be created
              type: object
              properties:
                company_id:
                  type: string
                  format: uuid
                  description: Unique identifier of the related company, DEUSS core internal representation
                  example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  nullable: false
                name:
                  type: string
                  description: Bond name
                  example: Best Bond
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                isin:
                  type: string
                  description: ISIN (12 number)
                  example: Best Bond
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                description:
                  type: string
                  description: Drafted bond description
                  example: This is by far the best bond around
                  minLength: 500
                  maxLength: 10_000
                industry_codes:
                  type: array
                  items:
                    type: string
                    description: NACE industry classification codes
                    enum:
                      - A
                      - B
                      - C
                      - D
                      - E
                      - F
                      - G
                      - H
                      - I
                      - J
                      - K
                      - L
                      - M
                      - 'N'
                      - O
                      - P
                      - Q
                      - R
                      - S
                      - T
                      - U
                    example: C
                bond_count:
                  type: integer
                  description: Number of emitted bonds
                  minimum: 1
                  example: 10
                bond_nominal_value:
                  description: A number represented as a string with exactly two decimal places.
                  type: string
                  format: decimal
                  nullable: false
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                    - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                currency:
                  description: Name of european currency used
                  type: string
                  enum:
                    - EUR
                    - CZK
                    - BGN
                    - DKK
                    - HUF
                    - PLN
                    - RON
                    - SEK
                    - CHF
                interest_rate:
                  description: A number represented as a string with exactly two decimal places.
                  type: string
                  format: decimal
                  nullable: false
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                    - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                issue_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                maturity_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                payment_frequency:
                  type: string
                  description: Type describing how often is interest payment paid
                  enum:
                    - SEMI_ANNUAL
                    - ANNUAL
                    - QUARTERLY
                    - MONTHLY
                    - ZERO_COUPON
                cfi:
                  type: string
                  description: Classification of Financial Instruments code
                  example: ESVUFR
                  x-field-extra-annotation: '@NotBlank'
                fisn:
                  type: string
                  description: Financial Instrument Short Name
                  example: NASDAQ/SHS
                  x-field-extra-annotation: '@NotBlank'
                issuance_size_category:
                  type: string
                  enum:
                    - MICRO
                    - SMALL
                    - MEDIUM
                  description: Bond issuance size category
                issuer_track_record_category:
                  type: string
                  enum:
                    - FIRST_TIME
                    - REPEATED
                  description: Issuer track record category
                success_fee_pct:
                  type: string
                  format: decimal
                  description: Success fee percentage (0-100.000), up to 3 decimal places
                  nullable: true
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                    - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                    - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
                broker_id:
                  type: string
                  format: uuid
                  description: Broker identifier
                  nullable: true
              required:
                - payment_frequency
                - maturity_date
                - issue_date
                - interest_rate
                - currency
                - bond_nominal_value
                - bond_count
                - industry_codes
                - isin
                - name
                - company_id
                - cfi
                - fisn
      responses:
        '201':
          description: Bond draft accepted
          content:
            application/json:
              schema:
                description: Response to bond draft post
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the drafted bond, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                required:
                  - id
  /public/v1/admin/bonds/{bond_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    get:
      operationId: admin_get_bond
      tags:
        - Admin Bonds
      summary: Get bond by id
      description: Returns a single bond with all its details.
      responses:
        '200':
          description: Bond retrieved successfully.
          content:
            application/json:
              schema:
                description: Detailed response for a bond
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the bond
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the company that owns this bond
                    example: 123e4567-e89b-12d3-a456-426614174000
                  name:
                    type: string
                    description: Bond name
                    example: Best Bond
                  isin:
                    type: string
                    description: ISIN code
                    example: CZ0003551060
                  description:
                    type: string
                    description: Bond description
                  status:
                    type: string
                    description: Current state of the bond
                    enum:
                      - DRAFT
                      - PUBLISHED
                      - ISSUING
                      - ISSUED
                      - BURNED
                  industry_codes:
                    type: array
                    items:
                      type: string
                      description: NACE industry classification codes
                      enum:
                        - A
                        - B
                        - C
                        - D
                        - E
                        - F
                        - G
                        - H
                        - I
                        - J
                        - K
                        - L
                        - M
                        - 'N'
                        - O
                        - P
                        - Q
                        - R
                        - S
                        - T
                        - U
                      example: C
                  bond_count:
                    type: integer
                    description: Number of emitted bonds
                    example: 10
                  bond_nominal_value:
                    description: A number represented as a string with exactly two decimal places.
                    type: string
                    format: decimal
                    nullable: false
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                      - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                  currency:
                    description: Name of european currency used
                    type: string
                    enum:
                      - EUR
                      - CZK
                      - BGN
                      - DKK
                      - HUF
                      - PLN
                      - RON
                      - SEK
                      - CHF
                  interest_rate:
                    description: A number represented as a string with exactly two decimal places.
                    type: string
                    format: decimal
                    nullable: false
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                      - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                  issue_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  maturity_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  payment_frequency:
                    type: string
                    description: Type describing how often is interest payment paid
                    enum:
                      - SEMI_ANNUAL
                      - ANNUAL
                      - QUARTERLY
                      - MONTHLY
                      - ZERO_COUPON
                  contract_address:
                    type: string
                    description: On-chain contract address, present only if ISSUED
                    nullable: true
                  is_guaranteed:
                    type: boolean
                    description: Whether the bond is guaranteed
                  guarantee_state:
                    type: string
                    enum:
                      - DRAFTED
                      - ACTIVE
                      - TRIGGERED
                      - PAID
                      - RESOLVED
                    description: State of the bond guarantee
                  cfi:
                    type: string
                    description: Classification of Financial Instruments code
                    example: ESVUFR
                  fisn:
                    type: string
                    description: Financial Instrument Short Name
                    example: NASDAQ/SHS
                  issuance_size_category:
                    type: string
                    enum:
                      - MICRO
                      - SMALL
                      - MEDIUM
                    description: Bond issuance size category
                  issuer_track_record_category:
                    type: string
                    enum:
                      - FIRST_TIME
                      - REPEATED
                    description: Issuer track record category
                  success_fee_pct:
                    type: string
                    format: decimal
                    description: Success fee percentage (0-100.000), up to 3 decimal places
                    nullable: true
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                      - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                      - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
                  broker_id:
                    type: string
                    format: uuid
                    description: Broker identifier
                    nullable: true
                required:
                  - id
                  - company_id
                  - name
                  - isin
                  - description
                  - status
                  - industry_codes
                  - bond_count
                  - bond_nominal_value
                  - currency
                  - interest_rate
                  - issue_date
                  - maturity_date
                  - payment_frequency
                  - is_guaranteed
                  - cfi
                  - fisn
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/issue:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    post:
      operationId: admin_issue_bond
      tags:
        - Admin Bonds
      summary: Publish bond to chain
      description: |
        Finalizes the draft and triggers the upload of bond information to chain.
        Bond must be in DRAFT state.
      responses:
        '201':
          description: Bond published successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  bond_id:
                    type: string
                    format: uuid
                  publish_bond_operation_id:
                    type: string
                    format: uuid
                required:
                  - bond_id
                  - publish_bond_operation_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/draft/{bond_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    patch:
      operationId: admin_patch_bond_draft
      tags:
        - Admin Bonds
      summary: Update a bond draft
      description: |
        Partially updates a bond draft. Only fields present in the request body are updated. Only drafts in DRAFT state can be updated.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Partial update request for a bond draft. Only provided fields are updated.
              type: object
              properties:
                name:
                  type: string
                  description: Bond name
                  maxLength: 255
                isin:
                  type: string
                  description: ISIN code
                  maxLength: 255
                description:
                  type: string
                  description: Bond description
                  maxLength: 10000
                  nullable: true
                bond_count:
                  type: integer
                  description: Number of emitted bonds
                bond_nominal_value:
                  description: A number represented as a string with exactly two decimal places.
                  type: string
                  format: decimal
                  nullable: false
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                    - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                currency:
                  description: Name of european currency used
                  type: string
                  enum:
                    - EUR
                    - CZK
                    - BGN
                    - DKK
                    - HUF
                    - PLN
                    - RON
                    - SEK
                    - CHF
                interest_rate:
                  description: A number represented as a string with exactly two decimal places.
                  type: string
                  format: decimal
                  nullable: false
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                    - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                issue_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                maturity_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                payment_frequency:
                  type: string
                  description: Type describing how often is interest payment paid
                  enum:
                    - SEMI_ANNUAL
                    - ANNUAL
                    - QUARTERLY
                    - MONTHLY
                    - ZERO_COUPON
                cfi:
                  type: string
                  description: Classification of Financial Instruments code
                  example: ESVUFR
                fisn:
                  type: string
                  description: Financial Instrument Short Name
                  example: NASDAQ/SHS
                issuance_size_category:
                  type: string
                  enum:
                    - MICRO
                    - SMALL
                    - MEDIUM
                  description: Bond issuance size category
                issuer_track_record_category:
                  type: string
                  enum:
                    - FIRST_TIME
                    - REPEATED
                  description: Issuer track record category
                success_fee_pct:
                  type: string
                  format: decimal
                  description: Success fee percentage (0-100.000), up to 3 decimal places
                  nullable: true
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                    - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                    - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
      responses:
        '200':
          description: Bond draft updated successfully.
          content:
            application/json:
              schema:
                description: Response to bond draft post
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the drafted bond, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                required:
                  - id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: admin_delete_bond_draft
      tags:
        - Admin Bonds
      summary: Delete a bond draft
      description: |
        Deletes a bond draft. Only drafts in DRAFT state can be deleted.
      responses:
        '204':
          description: Bond draft deleted successfully.
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/documents/uploads:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    post:
      operationId: admin_uploadBondDocumentMetadata
      summary: Upload bond document metadata.
      description: |
        Registers the intent to upload a document file. The client provides file metadata and a pre-calculated checksum. This creates a temporary record in the staging table.
      tags:
        - Admin Bond Document
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Request to initialize a bond document upload
              type: object
              properties:
                file_name:
                  type: string
                  maxLength: 255
                  x-extra-annotation: '@NotBlank'
                  description: Name of the document file
                file_type:
                  type: string
                  description: File type of sent document
                  enum:
                    - PDF
                    - DOC
                    - DOCX
                    - XLS
                    - XLSX
                    - ODP
                    - ODT
                    - ODS
                    - PPT
                    - PPTX
                    - RTF
                content_length:
                  type: integer
                  format: int64
                  minimum: 1
                  description: Size of the file in bytes
                  example: 1024
                checksum_sha256:
                  description: SHA256 checksum in base64 format.
                  type: string
              required:
                - file_name
                - file_type
                - content_length
                - checksum_sha256
      responses:
        '201':
          description: Upload initialized successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload_id:
                    type: string
                    format: uuid
                required:
                  - upload_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/documents/uploads/{upload_id}/file:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: upload_id
        in: path
        required: true
        description: Unique identifier of a registered upload context
        schema:
          type: string
          format: uuid
          example: 1b2c3d4e-1111-2222-3333-444455556666
    post:
      operationId: admin_uploadBondDocumentContent
      summary: Upload bond document content.
      description: |
        Uploads binary content for a previously initialized document upload. The system verifies integrity against the staged metadata, moves the data to the permanent table, and cleans up the staging area.
      tags:
        - Admin Bond Document
      requestBody:
        description: File to be uploaded
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
              required:
                - file
      responses:
        '201':
          description: File uploaded successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the document
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the document was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    description: Name of the document file
                    example: Q4_Report.pdf
                  file_type:
                    type: string
                    description: File type of sent document
                    enum:
                      - PDF
                      - DOC
                      - DOCX
                      - XLS
                      - XLSX
                      - ODP
                      - ODT
                      - ODS
                      - PPT
                      - PPTX
                      - RTF
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - name
                  - file_type
                  - bond_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/marketing-assets/uploads:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    post:
      operationId: admin_uploadBondMarketingAssetMetadata
      summary: Upload bond marketing asset metadata.
      description: |
        Registers the intent to upload a marketing asset. The client provides asset metadata and a pre-calculated checksum. This creates a temporary record in the staging table.
      tags:
        - Admin Bond Marketing Asset
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Request to initialize a marketing asset upload
              type: object
              properties:
                marketing_asset_name:
                  type: string
                  maxLength: 255
                  x-extra-annotation: '@NotBlank'
                  description: Name of the marketing asset
                file_type:
                  type: string
                  enum:
                    - PNG
                    - PDF
                    - JPG
                    - JPEG
                    - LINK
                content_length:
                  type: integer
                  format: int64
                  minimum: 1
                  description: Size of the file in bytes
                  example: 2048
                checksum_sha256:
                  description: SHA256 checksum encoded in base64 for the uploaded file
                  type: string
              required:
                - marketing_asset_name
                - file_type
                - content_length
                - checksum_sha256
      responses:
        '201':
          description: Upload initialized successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload_id:
                    type: string
                    format: uuid
                required:
                  - upload_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/marketing-assets/uploads/{upload_id}/file:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: upload_id
        in: path
        required: true
        description: Unique identifier of a registered upload context
        schema:
          type: string
          format: uuid
          example: 1b2c3d4e-1111-2222-3333-444455556666
    post:
      operationId: admin_uploadBondMarketingAssetContent
      summary: Upload bond marketing asset content.
      description: |
        Uploads binary content for a previously initialized marketing asset upload. The system verifies integrity against the staged metadata, moves the data to the permanent table, and cleans up the staging area.
      tags:
        - Admin Bond Marketing Asset
      requestBody:
        description: File to be uploaded
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
              required:
                - file
      responses:
        '201':
          description: Marketing asset uploaded successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the marketing asset
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the marketing asset was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    description: Name of the marketing asset file
                    example: promo_video.mp4
                  file_type:
                    type: string
                    enum:
                      - PNG
                      - PDF
                      - JPG
                      - JPEG
                      - LINK
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - name
                  - file_type
                  - bond_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/guarantee-documents/uploads:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    post:
      operationId: admin_uploadBondGuaranteeDocumentMetadata
      summary: Upload bond guarantee document metadata.
      description: |
        Registers the intent to upload a guarantee document file. The client provides file metadata and a pre-calculated checksum. This creates a temporary record in the staging table.
      tags:
        - Admin Bond Guarantee Document
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Request to initialize a bond document upload
              type: object
              properties:
                file_name:
                  type: string
                  maxLength: 255
                  x-extra-annotation: '@NotBlank'
                  description: Name of the document file
                file_type:
                  type: string
                  description: File type of sent document
                  enum:
                    - PDF
                    - DOC
                    - DOCX
                    - XLS
                    - XLSX
                    - ODP
                    - ODT
                    - ODS
                    - PPT
                    - PPTX
                    - RTF
                content_length:
                  type: integer
                  format: int64
                  minimum: 1
                  description: Size of the file in bytes
                  example: 1024
                checksum_sha256:
                  description: SHA256 checksum in base64 format.
                  type: string
              required:
                - file_name
                - file_type
                - content_length
                - checksum_sha256
      responses:
        '201':
          description: Upload initialized successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload_id:
                    type: string
                    format: uuid
                required:
                  - upload_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/guarantee-documents/uploads/{upload_id}/file:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: upload_id
        in: path
        required: true
        description: Unique identifier of a registered upload context
        schema:
          type: string
          format: uuid
          example: 1b2c3d4e-1111-2222-3333-444455556666
    post:
      operationId: admin_uploadBondGuaranteeDocumentContent
      summary: Upload bond guarantee document content.
      description: |
        Uploads binary content for a previously initialized guarantee document upload. The system verifies integrity against the staged metadata, moves the data to the permanent table, and cleans up the staging area.
      tags:
        - Admin Bond Guarantee Document
      requestBody:
        description: File to be uploaded
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
              required:
                - file
      responses:
        '201':
          description: File uploaded successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the guarantee document
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the guarantee document was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    nullable: true
                    description: Name of the guarantee document file
                    example: guarantee_agreement.pdf
                  file_type:
                    type: string
                    description: File type of sent document
                    enum:
                      - PDF
                      - DOC
                      - DOCX
                      - XLS
                      - XLSX
                      - ODP
                      - ODT
                      - ODS
                      - PPT
                      - PPTX
                      - RTF
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - file_type
                  - bond_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/guaranteed:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    put:
      operationId: admin_setBondGuaranteed
      summary: Set bond is_guaranteed flag.
      description: |
        Sets the is_guaranteed flag for a bond. When set to false, the guarantee_state is also reset to null. When set to true, at least one guarantee document must exist for the bond.
      tags:
        - Admin Bond Guarantee
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                is_guaranteed:
                  type: boolean
                  description: Whether the bond has an active guarantee
              required:
                - is_guaranteed
      responses:
        '204':
          description: Flag updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/guarantee-state:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    put:
      operationId: admin_setBondGuaranteeState
      summary: Set bond guarantee state.
      description: |
        Sets the guarantee_state for a bond. The bond must have is_guaranteed set to true.
      tags:
        - Admin Bond Guarantee
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                guarantee_state:
                  type: string
                  enum:
                    - DRAFTED
                    - ACTIVE
                    - TRIGGERED
                    - PAID
                    - RESOLVED
                  description: State of the bond guarantee
              required:
                - guarantee_state
      responses:
        '204':
          description: Guarantee state updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/guarantee/guarantor:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    patch:
      operationId: admin_setBondGuarantor
      summary: Set the guarantor of a bond guarantee.
      description: |
        Assigns an external guarantor to the bond guarantee. If no bond guarantee exists yet for the bond, it is created. The external_guarantor_id is the logical id of a partner entity in the Partner Service.
      tags:
        - Admin Bond Guarantee
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                external_guarantor_id:
                  type: string
                  format: uuid
                  description: Logical id of the partner (guarantor) entity in the Partner Service
                  example: 1cbd890d-1529-4857-aafa-b6093e698ce9
              required:
                - external_guarantor_id
      responses:
        '204':
          description: Guarantor updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/guarantee/documents:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    get:
      operationId: admin_getBondGuaranteeDocuments
      summary: Get paged list of bond guarantee documents.
      description: |
        Returns a paginated list of guarantee documents belonging to the specified bond.
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
      tags:
        - Admin Bond Guarantee Document
      responses:
        '200':
          description: Paged list of guarantee documents.
          content:
            application/json:
              schema:
                title: PagedBondGuaranteeDocumentsResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      documents:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the guarantee document
                              example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                            created_at:
                              type: string
                              format: date-time
                              description: Timestamp when the guarantee document was created
                              example: '2023-01-15T10:00:00.000Z'
                            name:
                              type: string
                              maxLength: 255
                              nullable: true
                              description: Name of the guarantee document file
                              example: guarantee_agreement.pdf
                            file_type:
                              type: string
                              description: File type of sent document
                              enum:
                                - PDF
                                - DOC
                                - DOCX
                                - XLS
                                - XLSX
                                - ODP
                                - ODT
                                - ODS
                                - PPT
                                - PPTX
                                - RTF
                            bond_id:
                              type: string
                              format: uuid
                              description: Bond identifier
                              example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                          required:
                            - id
                            - created_at
                            - file_type
                            - bond_id
                    required:
                      - documents
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/guarantee/documents/{document_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: document_id
        in: path
        required: true
        description: Unique identifier of a bond document
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: admin_getBondGuaranteeDocument
      summary: Get bond guarantee document detail.
      description: |
        Returns the detail of a single bond guarantee document.
      tags:
        - Admin Bond Guarantee Document
      responses:
        '200':
          description: Guarantee document detail.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the guarantee document
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the guarantee document was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    nullable: true
                    description: Name of the guarantee document file
                    example: guarantee_agreement.pdf
                  file_type:
                    type: string
                    description: File type of sent document
                    enum:
                      - PDF
                      - DOC
                      - DOCX
                      - XLS
                      - XLSX
                      - ODP
                      - ODT
                      - ODS
                      - PPT
                      - PPTX
                      - RTF
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - file_type
                  - bond_id
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: admin_deleteBondGuaranteeDocument
      summary: Delete a bond guarantee document.
      description: |
        Deletes a bond guarantee document and its associated file from storage.
      tags:
        - Admin Bond Guarantee Document
      responses:
        '204':
          description: Guarantee document deleted successfully.
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/guarantee/documents/{document_id}/download:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: document_id
        in: path
        required: true
        description: Unique identifier of a bond document
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: admin_downloadBondGuaranteeDocument
      summary: Download bond guarantee document file.
      description: |
        Streams the binary content of a previously uploaded bond guarantee document.
      tags:
        - Admin Bond Guarantee Document
      responses:
        '200':
          description: Full file content.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
          headers:
            Content-Disposition:
              description: Suggested filename for download.
              schema:
                type: string
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/documents:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    get:
      operationId: admin_getBondDocuments
      summary: Get paged list of bond documents.
      description: |
        Returns a paginated list of documents belonging to the specified bond.
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
      tags:
        - Admin Bond Document
      responses:
        '200':
          description: Paged list of documents.
          content:
            application/json:
              schema:
                title: PagedBondDocumentsResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      documents:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the document
                              example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                            created_at:
                              type: string
                              format: date-time
                              description: Timestamp when the document was created
                              example: '2023-01-15T10:00:00.000Z'
                            name:
                              type: string
                              maxLength: 255
                              description: Name of the document file
                              example: Q4_Report.pdf
                            file_type:
                              type: string
                              description: File type of sent document
                              enum:
                                - PDF
                                - DOC
                                - DOCX
                                - XLS
                                - XLSX
                                - ODP
                                - ODT
                                - ODS
                                - PPT
                                - PPTX
                                - RTF
                            bond_id:
                              type: string
                              format: uuid
                              description: Bond identifier
                              example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                          required:
                            - id
                            - created_at
                            - name
                            - file_type
                            - bond_id
                    required:
                      - documents
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/documents/{document_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: document_id
        in: path
        required: true
        description: Unique identifier of a bond document
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: admin_getBondDocument
      summary: Get bond document detail.
      description: |
        Returns the detail of a single bond document.
      tags:
        - Admin Bond Document
      responses:
        '200':
          description: Document detail.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the document
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the document was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    description: Name of the document file
                    example: Q4_Report.pdf
                  file_type:
                    type: string
                    description: File type of sent document
                    enum:
                      - PDF
                      - DOC
                      - DOCX
                      - XLS
                      - XLSX
                      - ODP
                      - ODT
                      - ODS
                      - PPT
                      - PPTX
                      - RTF
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - name
                  - file_type
                  - bond_id
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: admin_deleteBondDocument
      summary: Delete a bond document.
      description: |
        Deletes a bond document and its associated file from storage.
      tags:
        - Admin Bond Document
      responses:
        '204':
          description: Document deleted successfully.
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/documents/{document_id}/download:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: document_id
        in: path
        required: true
        description: Unique identifier of a bond document
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: admin_downloadBondDocument
      summary: Download bond document file.
      description: |
        Streams the binary content of a previously uploaded bond document.
      tags:
        - Admin Bond Document
      responses:
        '200':
          description: Full file content.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
          headers:
            Content-Disposition:
              description: Suggested filename for download.
              schema:
                type: string
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/marketing-assets:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    get:
      operationId: admin_getBondMarketingAssets
      summary: Get paged list of bond marketing assets.
      description: |
        Returns a paginated list of marketing assets belonging to the specified bond.
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
      tags:
        - Admin Bond Marketing Asset
      responses:
        '200':
          description: Paged list of marketing assets.
          content:
            application/json:
              schema:
                title: PagedBondMarketingAssetsResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      marketing_assets:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the marketing asset
                              example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                            created_at:
                              type: string
                              format: date-time
                              description: Timestamp when the marketing asset was created
                              example: '2023-01-15T10:00:00.000Z'
                            name:
                              type: string
                              maxLength: 255
                              description: Name of the marketing asset file
                              example: promo_video.mp4
                            file_type:
                              type: string
                              enum:
                                - PNG
                                - PDF
                                - JPG
                                - JPEG
                                - LINK
                            bond_id:
                              type: string
                              format: uuid
                              description: Bond identifier
                              example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                          required:
                            - id
                            - created_at
                            - name
                            - file_type
                            - bond_id
                    required:
                      - marketing_assets
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/marketing-assets/{marketing_asset_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: marketing_asset_id
        in: path
        required: true
        description: Unique identifier of a bond marketing asset
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: admin_getBondMarketingAsset
      summary: Get bond marketing asset detail.
      description: |
        Returns the detail of a single bond marketing asset.
      tags:
        - Admin Bond Marketing Asset
      responses:
        '200':
          description: Marketing asset detail.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the marketing asset
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the marketing asset was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    description: Name of the marketing asset file
                    example: promo_video.mp4
                  file_type:
                    type: string
                    enum:
                      - PNG
                      - PDF
                      - JPG
                      - JPEG
                      - LINK
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - name
                  - file_type
                  - bond_id
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: admin_deleteBondMarketingAsset
      summary: Delete a bond marketing asset.
      description: |
        Deletes a bond marketing asset and its associated file from storage.
      tags:
        - Admin Bond Marketing Asset
      responses:
        '204':
          description: Marketing asset deleted successfully.
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/bonds/{bond_id}/marketing-assets/{marketing_asset_id}/download:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: marketing_asset_id
        in: path
        required: true
        description: Unique identifier of a bond marketing asset
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: admin_downloadBondMarketingAsset
      summary: Download bond marketing asset file.
      description: |
        Streams the binary content of a previously uploaded bond marketing asset.
      tags:
        - Admin Bond Marketing Asset
      responses:
        '200':
          description: Full file content.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
          headers:
            Content-Disposition:
              description: Suggested filename for download.
              schema:
                type: string
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/admin/users/wallet/{wallet_address}:
    get:
      operationId: admin_get_user_by_wallet
      tags:
        - Admin User
      summary: Get user by wallet
      parameters:
        - name: wallet_address
          in: path
          required: true
          schema:
            type: string
            pattern: ^0x[a-fA-F0-9]{40}$
          description: User wallet address
          example: '0x1234567890123456789012345678901234567890'
      responses:
        '200':
          description: User retrieved successfully.
          content:
            application/json:
              schema:
                description: Response to users get request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: User wallet address
                    example: 43981
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  email_address:
                    type: string
                    format: email
                    description: Email address of the user. Null for users created from a wallet address only.
                    example: jane.doe@example.com
                    maxLength: 255
                    nullable: true
                  distributor_id:
                    type: string
                    description: User distributor uuid
                    format: uuid
                    maxLength: 255
                    nullable: true
                  identity_verification_state:
                    type: string
                    enum:
                      - NONE
                      - PENDING_VERIFICATION
                      - VERIFIED
                      - FAILED
                    description: Identity verification state of the user
                required:
                  - id
                  - wallet_address
                  - identity_verification_state
  /system/v1/scoring:
    post:
      operationId: record_scoring
      summary: Record scoring of a company
      tags:
        - Scoring
      requestBody:
        description: Description of scoring request
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_id:
                  type: string
                  format: uuid
                  description: Unique identifier of the related company, DEUSS core internal representation
                  example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  nullable: false
                grade:
                  type: string
                  enum:
                    - A
                    - B
                    - C
                    - D
                    - E
                  description: Scoring grade of the company
                  example: A
                default_probability:
                  type: integer
                  description: Percentage
                issue_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                expiration_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
              required:
                - company_id
                - grade
                - default_probability
                - issue_date
                - expiration_date
      responses:
        '201':
          description: Scoring record created successfully
          content:
            application/json:
              schema:
                type: object
                description: Response to scoring post request
                properties:
                  upload_scoring_operation_id:
                    type: string
                    format: uuid
                  scoring_id:
                    type: string
                    format: uuid
                required:
                  - upload_scoring_operation_id
                  - scoring_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/companies:
    get:
      operationId: get_companies
      summary: Get companies by filter
      description: Returns a paged, filterable list of companies.
      tags:
        - Companies
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
        - name: sortBy
          in: query
          required: false
          description: Property to sort companies by
          schema:
            type: string
            enum:
              - name
              - created
              - last_edit
            description: Property to sort companies by
        - name: sortDirection
          in: query
          required: false
          description: Sort order
          schema:
            example: ASC
            description: Sort order which should be applied for the field.
            type: string
            enum:
              - ASC
              - DESC
        - name: name
          in: query
          required: false
          schema:
            type: string
          description: Filter by company name (partial match)
        - name: actingUserId
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: Filter by acting user ID
        - name: distributorId
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: Filter by distributor ID
        - name: businessId
          in: query
          required: false
          schema:
            type: string
          description: Filter by business ID
        - name: vatNumber
          in: query
          required: false
          schema:
            type: string
          description: Filter by VAT number
        - name: legalEntityId
          in: query
          required: false
          schema:
            type: string
          description: Filter by legal entity ID (LEI)
        - name: amlVerificationState
          in: query
          required: false
          schema:
            type: string
            enum:
              - PENDING_VERIFICATION
              - VERIFIED
              - REJECTED
              - INFORMATION_UPDATE_NEEDED
            description: AML verification state of the company
          description: Filter by AML verification state
        - name: registrationEntity
          in: query
          required: false
          schema:
            description: Countries in EU
            example: CZ
            type: string
            enum:
              - AL
              - AD
              - AT
              - AZ
              - BY
              - BE
              - BA
              - BG
              - HR
              - CY
              - CZ
              - DK
              - EE
              - FI
              - FR
              - GE
              - DE
              - GR
              - HU
              - IS
              - IE
              - IT
              - KZ
              - XK
              - LV
              - LI
              - LT
              - LU
              - MK
              - MT
              - MD
              - MC
              - ME
              - NL
              - 'NO'
              - PL
              - PT
              - RO
              - RU
              - SM
              - RS
              - SK
              - SI
              - ES
              - SE
              - CH
              - TR
              - UA
              - GB
              - VA
          description: Filter by registration entity (country)
        - name: walletAddress
          in: query
          required: false
          schema:
            type: string
          description: Filter by wallet address
      responses:
        '200':
          description: Paged list of companies
          content:
            application/json:
              schema:
                title: PagedCompaniesResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      companies:
                        type: array
                        items:
                          description: Response to company get request
                          type: object
                          properties:
                            company_id:
                              type: string
                              format: uuid
                              description: Unique identifier
                              example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                            author_id:
                              type: string
                              format: uuid
                              description: Unique identifier of the user who created the company
                            name:
                              type: string
                              description: Name of the company
                              example: Acme Corp
                              maxLength: 255
                              x-field-extra-annotation: '@NotBlank'
                            business_id:
                              type: string
                              description: Unique business identifier
                              example: '12345678'
                              maxLength: 255
                              x-field-extra-annotation: '@NotBlank'
                            vat_number:
                              type: string
                              description: VAT number of the company
                              example: CZ12345678
                              maxLength: 50
                              x-field-extra-annotation: '@NotBlank'
                            lei_code:
                              type: string
                              description: Legal entity identifier, if applicable
                              example: LEI1234567890
                              maxLength: 255
                              x-field-extra-annotation: '@NotBlank'
                            wallet:
                              type: string
                              description: Wallet address for this company. Null until the createWallet chain operation has finished.
                              nullable: true
                            registration_entity:
                              description: Countries in EU
                              example: CZ
                              type: string
                              enum:
                                - AL
                                - AD
                                - AT
                                - AZ
                                - BY
                                - BE
                                - BA
                                - BG
                                - HR
                                - CY
                                - CZ
                                - DK
                                - EE
                                - FI
                                - FR
                                - GE
                                - DE
                                - GR
                                - HU
                                - IS
                                - IE
                                - IT
                                - KZ
                                - XK
                                - LV
                                - LI
                                - LT
                                - LU
                                - MK
                                - MT
                                - MD
                                - MC
                                - ME
                                - NL
                                - 'NO'
                                - PL
                                - PT
                                - RO
                                - RU
                                - SM
                                - RS
                                - SK
                                - SI
                                - ES
                                - SE
                                - CH
                                - TR
                                - UA
                                - GB
                                - VA
                            website:
                              type: string
                              description: Company website
                            registration_date:
                              type: string
                              format: date
                              description: Date of registration
                            ownership_status:
                              type: string
                              enum:
                                - AUTONOMOUS
                                - LINKED
                                - PARTNER
                              description: Ownership status of the company
                            issuer_profile:
                              description: Issuer profile information returned on company read endpoints. Extends IssuerProfileResponse with read-only scoring history.
                              allOf:
                                - type: object
                                  properties:
                                    company_id:
                                      type: string
                                      format: uuid
                                    annual_turnover_category:
                                      type: string
                                      enum:
                                        - SMALL
                                        - MEDIUM
                                        - LARGE
                                      description: Annual turnover category
                                    headcount_category:
                                      type: string
                                      enum:
                                        - SMALL
                                        - MEDIUM
                                        - LARGE
                                      description: Company size by headcount
                                    balance_sheet_total_category:
                                      type: string
                                      enum:
                                        - SMALL
                                        - MEDIUM
                                        - LARGE
                                      description: Balance sheet total category
                                    status:
                                      type: string
                                      enum:
                                        - INACTIVE
                                        - ACTIVE
                                        - FROZEN
                                      description: Issuer profile lifecycle status
                                  required:
                                    - annual_turnover_category
                                    - headcount_category
                                    - balance_sheet_total_category
                                - type: object
                                  properties:
                                    scoring_history:
                                      type: array
                                      description: History of company scorings, most recent first. Empty when the issuer has not been scored yet.
                                      items:
                                        type: object
                                        description: Scoring information
                                        properties:
                                          grade:
                                            type: string
                                            enum:
                                              - A
                                              - B
                                              - C
                                              - D
                                              - E
                                            description: Scoring grade of the company
                                            example: A
                                          default_probability:
                                            type: integer
                                            description: Default probability percentage
                                          issue_date:
                                            type: string
                                            format: date-time
                                            description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                            example: '2025-02-11T14:30:00.123Z'
                                          expiration_date:
                                            type: string
                                            format: date-time
                                            description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                            example: '2025-02-11T14:30:00.123Z'
                                          is_current:
                                            type: boolean
                                            description: Indicates if this is the current active scoring
                                        required:
                                          - grade
                                          - default_probability
                                          - issue_date
                                          - expiration_date
                                          - is_current
                                  required:
                                    - scoring_history
                            investor_profile:
                              type: object
                              properties:
                                company_id:
                                  type: string
                                  format: uuid
                                status:
                                  type: string
                                  enum:
                                    - INACTIVE
                                    - ACTIVE
                                    - FROZEN
                                  description: Investor profile lifecycle status
                            risk_score:
                              type: string
                              enum:
                                - LOW
                                - MEDIUM
                                - HIGH
                              description: Risk score of the company
                            aml_verification_state:
                              type: string
                              enum:
                                - PENDING_VERIFICATION
                                - VERIFIED
                                - REJECTED
                                - INFORMATION_UPDATE_NEEDED
                              description: AML verification state of the company
                            visibility:
                              type: string
                              enum:
                                - PUBLIC
                                - PRIVATE
                              description: Visibility of the company for other platform users
                            entity_status:
                              type: string
                              description: |
                                Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                                (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                                invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                                FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                              enum:
                                - NONE
                                - CREATE_PENDING
                                - ACTIVE
                                - FREEZE_PENDING
                                - FROZEN
                                - UNFREEZE_PENDING
                            wallet_status:
                              type: string
                              description: |
                                Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                                (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                                invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                                FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                              enum:
                                - NONE
                                - CREATE_PENDING
                                - ACTIVE
                                - FREEZE_PENDING
                                - FROZEN
                                - UNFREEZE_PENDING
                          required:
                            - company_id
                            - author_id
                            - name
                            - business_id
                            - vat_number
                            - registration_entity
                            - website
                            - registration_date
                            - ownership_status
                            - aml_verification_state
                            - visibility
                            - entity_status
                            - wallet_status
                    required:
                      - companies
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/companies/issuer:
    post:
      operationId: create_issuer_company
      summary: Create a new company with an issuer profile
      description: |
        Creates a company entity, an issuer profile and the planned chain operations,
        then returns the operation IDs immediately. The chain calls run asynchronously.
      tags:
        - Companies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                author_id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user creating the company
                name:
                  type: string
                  description: Name of the company
                  example: Acme Corp
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                business_id:
                  type: string
                  description: Unique business identifier
                  example: '12345678'
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                vat_number:
                  type: string
                  description: VAT number of the company
                  example: CZ12345678
                  maxLength: 50
                  x-field-extra-annotation: '@NotBlank'
                lei_code:
                  type: string
                  description: Legal entity identifier, if applicable
                  example: LEI1234567890
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                registration_entity:
                  description: Countries in EU
                  example: CZ
                  type: string
                  enum:
                    - AL
                    - AD
                    - AT
                    - AZ
                    - BY
                    - BE
                    - BA
                    - BG
                    - HR
                    - CY
                    - CZ
                    - DK
                    - EE
                    - FI
                    - FR
                    - GE
                    - DE
                    - GR
                    - HU
                    - IS
                    - IE
                    - IT
                    - KZ
                    - XK
                    - LV
                    - LI
                    - LT
                    - LU
                    - MK
                    - MT
                    - MD
                    - MC
                    - ME
                    - NL
                    - 'NO'
                    - PL
                    - PT
                    - RO
                    - RU
                    - SM
                    - RS
                    - SK
                    - SI
                    - ES
                    - SE
                    - CH
                    - TR
                    - UA
                    - GB
                    - VA
                website:
                  type: string
                  description: Company website
                registration_date:
                  type: string
                  format: date
                  description: Date of registration
                ownership_status:
                  type: string
                  enum:
                    - AUTONOMOUS
                    - LINKED
                    - PARTNER
                  description: Ownership status of the company
                risk_score:
                  type: string
                  enum:
                    - LOW
                    - MEDIUM
                    - HIGH
                  description: Risk score of the company
                issuer_profile:
                  type: object
                  properties:
                    annual_turnover_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Annual turnover category
                    headcount_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Company size by headcount
                    balance_sheet_total_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Balance sheet total category
                  required:
                    - annual_turnover_category
                    - headcount_category
                    - balance_sheet_total_category
              required:
                - author_id
                - name
                - business_id
                - vat_number
                - lei_code
                - registration_entity
                - website
                - registration_date
                - ownership_status
                - issuer_profile
      responses:
        '202':
          description: Issuer company creation accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the related company, DEUSS core internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                    nullable: false
                  register_entity_operation_id:
                    type: string
                    format: uuid
                  create_wallet_operation_id:
                    type: string
                    format: uuid
                  register_account_operation_id:
                    type: string
                    format: uuid
                required:
                  - company_id
                  - register_entity_operation_id
                  - create_wallet_operation_id
                  - register_account_operation_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/companies/investor:
    post:
      operationId: create_investor_company
      summary: Create a new company with an investor profile
      description: |
        Creates a company entity, an investor profile and the planned chain operations,
        then returns the operation IDs immediately. The chain calls run asynchronously.
      tags:
        - Companies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                author_id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user creating the company
                name:
                  type: string
                  description: Name of the company
                  example: Acme Corp
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                business_id:
                  type: string
                  description: Unique business identifier
                  example: '12345678'
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                vat_number:
                  type: string
                  description: VAT number of the company
                  example: CZ12345678
                  maxLength: 50
                  x-field-extra-annotation: '@NotBlank'
                lei_code:
                  type: string
                  description: Legal entity identifier, if applicable
                  example: LEI1234567890
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                registration_entity:
                  description: Countries in EU
                  example: CZ
                  type: string
                  enum:
                    - AL
                    - AD
                    - AT
                    - AZ
                    - BY
                    - BE
                    - BA
                    - BG
                    - HR
                    - CY
                    - CZ
                    - DK
                    - EE
                    - FI
                    - FR
                    - GE
                    - DE
                    - GR
                    - HU
                    - IS
                    - IE
                    - IT
                    - KZ
                    - XK
                    - LV
                    - LI
                    - LT
                    - LU
                    - MK
                    - MT
                    - MD
                    - MC
                    - ME
                    - NL
                    - 'NO'
                    - PL
                    - PT
                    - RO
                    - RU
                    - SM
                    - RS
                    - SK
                    - SI
                    - ES
                    - SE
                    - CH
                    - TR
                    - UA
                    - GB
                    - VA
                website:
                  type: string
                  description: Company website
                registration_date:
                  type: string
                  format: date
                  description: Date of registration
                ownership_status:
                  type: string
                  enum:
                    - AUTONOMOUS
                    - LINKED
                    - PARTNER
                  description: Ownership status of the company
                risk_score:
                  type: string
                  enum:
                    - LOW
                    - MEDIUM
                    - HIGH
                  description: Risk score of the company
              required:
                - author_id
                - name
                - business_id
                - vat_number
                - lei_code
                - registration_entity
                - website
                - registration_date
                - ownership_status
                - investor_profile
      responses:
        '202':
          description: Investor company creation accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the related company, DEUSS core internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                    nullable: false
                  register_entity_operation_id:
                    type: string
                    format: uuid
                  create_wallet_operation_id:
                    type: string
                    format: uuid
                  register_account_operation_id:
                    type: string
                    format: uuid
                required:
                  - company_id
                  - register_entity_operation_id
                  - create_wallet_operation_id
                  - register_account_operation_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/companies/{company_id}/issuer-profile:
    post:
      operationId: add_issuer_profile
      summary: Add an issuer profile to an existing company
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                annual_turnover_category:
                  type: string
                  enum:
                    - SMALL
                    - MEDIUM
                    - LARGE
                  description: Annual turnover category
                headcount_category:
                  type: string
                  enum:
                    - SMALL
                    - MEDIUM
                    - LARGE
                  description: Company size by headcount
                balance_sheet_total_category:
                  type: string
                  enum:
                    - SMALL
                    - MEDIUM
                    - LARGE
                  description: Balance sheet total category
              required:
                - annual_turnover_category
                - headcount_category
                - balance_sheet_total_category
      responses:
        '201':
          description: Issuer profile created
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                  annual_turnover_category:
                    type: string
                    enum:
                      - SMALL
                      - MEDIUM
                      - LARGE
                    description: Annual turnover category
                  headcount_category:
                    type: string
                    enum:
                      - SMALL
                      - MEDIUM
                      - LARGE
                    description: Company size by headcount
                  balance_sheet_total_category:
                    type: string
                    enum:
                      - SMALL
                      - MEDIUM
                      - LARGE
                    description: Balance sheet total category
                  status:
                    type: string
                    enum:
                      - INACTIVE
                      - ACTIVE
                      - FROZEN
                    description: Issuer profile lifecycle status
                required:
                  - annual_turnover_category
                  - headcount_category
                  - balance_sheet_total_category
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/companies/{company_id}/investor-profile:
    post:
      operationId: add_investor_profile
      summary: Add an investor profile to an existing company
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      responses:
        '201':
          description: Investor profile created
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - INACTIVE
                      - ACTIVE
                      - FROZEN
                    description: Investor profile lifecycle status
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/operations/{operationId}:
    get:
      operationId: get_operation
      summary: Get the status of an operation
      tags:
        - Operations
      parameters:
        - name: operationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Operation retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  operation_id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - REGISTER_ENTITY
                      - CREATE_WALLET
                      - REGISTER_ACCOUNT
                      - ADD_SCORING
                      - PUBLISH_BOND
                      - ISSUE_BOND
                      - REMOVE_ENTITY_MANAGER
                      - ADD_ENTITY_MANAGER
                      - SET_ENTITY_STATUS
                      - SET_WALLET_STATUS
                  status:
                    type: string
                    enum:
                      - PENDING
                      - DONE
                      - FAILED
                  transaction_hash:
                    type: string
                    description: Transaction hash of the deployment
                  failure_reason:
                    type: string
                    nullable: true
                required:
                  - operation_id
                  - type
                  - status
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/companies/{company_id}:
    patch:
      operationId: update_company
      summary: Update a company
      description: Partially updates a company and its issuer details (for issuer-type companies). Only fields present in the request body are updated.
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Request to partially update a company. Only provided fields are updated.
              properties:
                name:
                  type: string
                  description: Name of the company
                  example: Acme Corp
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                business_id:
                  type: string
                  description: Unique business identifier
                  example: '12345678'
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                vat_number:
                  type: string
                  description: VAT number of the company
                  example: CZ12345678
                  maxLength: 50
                  x-field-extra-annotation: '@NotBlank'
                lei_code:
                  type: string
                  description: Legal entity identifier, if applicable
                  example: LEI1234567890
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                registration_entity:
                  description: Countries in EU
                  example: CZ
                  type: string
                  enum:
                    - AL
                    - AD
                    - AT
                    - AZ
                    - BY
                    - BE
                    - BA
                    - BG
                    - HR
                    - CY
                    - CZ
                    - DK
                    - EE
                    - FI
                    - FR
                    - GE
                    - DE
                    - GR
                    - HU
                    - IS
                    - IE
                    - IT
                    - KZ
                    - XK
                    - LV
                    - LI
                    - LT
                    - LU
                    - MK
                    - MT
                    - MD
                    - MC
                    - ME
                    - NL
                    - 'NO'
                    - PL
                    - PT
                    - RO
                    - RU
                    - SM
                    - RS
                    - SK
                    - SI
                    - ES
                    - SE
                    - CH
                    - TR
                    - UA
                    - GB
                    - VA
                website:
                  type: string
                  description: Company website
                registration_date:
                  type: string
                  format: date
                  description: Date of registration
                ownership_status:
                  type: string
                  enum:
                    - AUTONOMOUS
                    - LINKED
                    - PARTNER
                  description: Ownership status of the company
                issuer_profile:
                  type: object
                  description: Partial update of issuer profile. Only provided fields are updated.
                  properties:
                    annual_turnover_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Annual turnover category
                    headcount_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Company size by headcount
                    balance_sheet_total_category:
                      type: string
                      enum:
                        - SMALL
                        - MEDIUM
                        - LARGE
                      description: Balance sheet total category
      responses:
        '200':
          description: Company updated successfully.
          content:
            application/json:
              schema:
                description: Response to company get request
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  author_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user who created the company
                  name:
                    type: string
                    description: Name of the company
                    example: Acme Corp
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  business_id:
                    type: string
                    description: Unique business identifier
                    example: '12345678'
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  vat_number:
                    type: string
                    description: VAT number of the company
                    example: CZ12345678
                    maxLength: 50
                    x-field-extra-annotation: '@NotBlank'
                  lei_code:
                    type: string
                    description: Legal entity identifier, if applicable
                    example: LEI1234567890
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  wallet:
                    type: string
                    description: Wallet address for this company. Null until the createWallet chain operation has finished.
                    nullable: true
                  registration_entity:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  website:
                    type: string
                    description: Company website
                  registration_date:
                    type: string
                    format: date
                    description: Date of registration
                  ownership_status:
                    type: string
                    enum:
                      - AUTONOMOUS
                      - LINKED
                      - PARTNER
                    description: Ownership status of the company
                  issuer_profile:
                    description: Issuer profile information returned on company read endpoints. Extends IssuerProfileResponse with read-only scoring history.
                    allOf:
                      - type: object
                        properties:
                          company_id:
                            type: string
                            format: uuid
                          annual_turnover_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Annual turnover category
                          headcount_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Company size by headcount
                          balance_sheet_total_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Balance sheet total category
                          status:
                            type: string
                            enum:
                              - INACTIVE
                              - ACTIVE
                              - FROZEN
                            description: Issuer profile lifecycle status
                        required:
                          - annual_turnover_category
                          - headcount_category
                          - balance_sheet_total_category
                      - type: object
                        properties:
                          scoring_history:
                            type: array
                            description: History of company scorings, most recent first. Empty when the issuer has not been scored yet.
                            items:
                              type: object
                              description: Scoring information
                              properties:
                                grade:
                                  type: string
                                  enum:
                                    - A
                                    - B
                                    - C
                                    - D
                                    - E
                                  description: Scoring grade of the company
                                  example: A
                                default_probability:
                                  type: integer
                                  description: Default probability percentage
                                issue_date:
                                  type: string
                                  format: date-time
                                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                  example: '2025-02-11T14:30:00.123Z'
                                expiration_date:
                                  type: string
                                  format: date-time
                                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                  example: '2025-02-11T14:30:00.123Z'
                                is_current:
                                  type: boolean
                                  description: Indicates if this is the current active scoring
                              required:
                                - grade
                                - default_probability
                                - issue_date
                                - expiration_date
                                - is_current
                        required:
                          - scoring_history
                  investor_profile:
                    type: object
                    properties:
                      company_id:
                        type: string
                        format: uuid
                      status:
                        type: string
                        enum:
                          - INACTIVE
                          - ACTIVE
                          - FROZEN
                        description: Investor profile lifecycle status
                  risk_score:
                    type: string
                    enum:
                      - LOW
                      - MEDIUM
                      - HIGH
                    description: Risk score of the company
                  aml_verification_state:
                    type: string
                    enum:
                      - PENDING_VERIFICATION
                      - VERIFIED
                      - REJECTED
                      - INFORMATION_UPDATE_NEEDED
                    description: AML verification state of the company
                  visibility:
                    type: string
                    enum:
                      - PUBLIC
                      - PRIVATE
                    description: Visibility of the company for other platform users
                  entity_status:
                    type: string
                    description: |
                      Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                      (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                      invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                      FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                    enum:
                      - NONE
                      - CREATE_PENDING
                      - ACTIVE
                      - FREEZE_PENDING
                      - FROZEN
                      - UNFREEZE_PENDING
                  wallet_status:
                    type: string
                    description: |
                      Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                      (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                      invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                      FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                    enum:
                      - NONE
                      - CREATE_PENDING
                      - ACTIVE
                      - FREEZE_PENDING
                      - FROZEN
                      - UNFREEZE_PENDING
                required:
                  - company_id
                  - author_id
                  - name
                  - business_id
                  - vat_number
                  - registration_entity
                  - website
                  - registration_date
                  - ownership_status
                  - aml_verification_state
                  - visibility
                  - entity_status
                  - wallet_status
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    get:
      operationId: get_company
      summary: Get company by id
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Company retrieved successfully.
          content:
            application/json:
              schema:
                description: Response to company get request
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  author_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user who created the company
                  name:
                    type: string
                    description: Name of the company
                    example: Acme Corp
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  business_id:
                    type: string
                    description: Unique business identifier
                    example: '12345678'
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  vat_number:
                    type: string
                    description: VAT number of the company
                    example: CZ12345678
                    maxLength: 50
                    x-field-extra-annotation: '@NotBlank'
                  lei_code:
                    type: string
                    description: Legal entity identifier, if applicable
                    example: LEI1234567890
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  wallet:
                    type: string
                    description: Wallet address for this company. Null until the createWallet chain operation has finished.
                    nullable: true
                  registration_entity:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  website:
                    type: string
                    description: Company website
                  registration_date:
                    type: string
                    format: date
                    description: Date of registration
                  ownership_status:
                    type: string
                    enum:
                      - AUTONOMOUS
                      - LINKED
                      - PARTNER
                    description: Ownership status of the company
                  issuer_profile:
                    description: Issuer profile information returned on company read endpoints. Extends IssuerProfileResponse with read-only scoring history.
                    allOf:
                      - type: object
                        properties:
                          company_id:
                            type: string
                            format: uuid
                          annual_turnover_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Annual turnover category
                          headcount_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Company size by headcount
                          balance_sheet_total_category:
                            type: string
                            enum:
                              - SMALL
                              - MEDIUM
                              - LARGE
                            description: Balance sheet total category
                          status:
                            type: string
                            enum:
                              - INACTIVE
                              - ACTIVE
                              - FROZEN
                            description: Issuer profile lifecycle status
                        required:
                          - annual_turnover_category
                          - headcount_category
                          - balance_sheet_total_category
                      - type: object
                        properties:
                          scoring_history:
                            type: array
                            description: History of company scorings, most recent first. Empty when the issuer has not been scored yet.
                            items:
                              type: object
                              description: Scoring information
                              properties:
                                grade:
                                  type: string
                                  enum:
                                    - A
                                    - B
                                    - C
                                    - D
                                    - E
                                  description: Scoring grade of the company
                                  example: A
                                default_probability:
                                  type: integer
                                  description: Default probability percentage
                                issue_date:
                                  type: string
                                  format: date-time
                                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                  example: '2025-02-11T14:30:00.123Z'
                                expiration_date:
                                  type: string
                                  format: date-time
                                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                                  example: '2025-02-11T14:30:00.123Z'
                                is_current:
                                  type: boolean
                                  description: Indicates if this is the current active scoring
                              required:
                                - grade
                                - default_probability
                                - issue_date
                                - expiration_date
                                - is_current
                        required:
                          - scoring_history
                  investor_profile:
                    type: object
                    properties:
                      company_id:
                        type: string
                        format: uuid
                      status:
                        type: string
                        enum:
                          - INACTIVE
                          - ACTIVE
                          - FROZEN
                        description: Investor profile lifecycle status
                  risk_score:
                    type: string
                    enum:
                      - LOW
                      - MEDIUM
                      - HIGH
                    description: Risk score of the company
                  aml_verification_state:
                    type: string
                    enum:
                      - PENDING_VERIFICATION
                      - VERIFIED
                      - REJECTED
                      - INFORMATION_UPDATE_NEEDED
                    description: AML verification state of the company
                  visibility:
                    type: string
                    enum:
                      - PUBLIC
                      - PRIVATE
                    description: Visibility of the company for other platform users
                  entity_status:
                    type: string
                    description: |
                      Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                      (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                      invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                      FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                    enum:
                      - NONE
                      - CREATE_PENDING
                      - ACTIVE
                      - FREEZE_PENDING
                      - FROZEN
                      - UNFREEZE_PENDING
                  wallet_status:
                    type: string
                    description: |
                      Lifecycle status of a company's on-chain artifacts, used for both the entity registration
                      (entity_status) and the company wallet (wallet_status). CREATE_PENDING once the backend has
                      invoked the corresponding on-chain operation, ACTIVE once it has finished successfully. The
                      FREEZE_PENDING / FROZEN / UNFREEZE_PENDING values model the freeze lifecycle.
                    enum:
                      - NONE
                      - CREATE_PENDING
                      - ACTIVE
                      - FREEZE_PENDING
                      - FROZEN
                      - UNFREEZE_PENDING
                required:
                  - company_id
                  - author_id
                  - name
                  - business_id
                  - vat_number
                  - registration_entity
                  - website
                  - registration_date
                  - ownership_status
                  - aml_verification_state
                  - visibility
                  - entity_status
                  - wallet_status
  /system/v1/companies/{company_id}/manager:
    patch:
      operationId: change_company_manager
      summary: Change the managing director (jednatel) of a company
      description: |
        Reassigns the company's acting user (jednatel) to another user, creates the planned chain
        operations (remove manager rights from the previous jednatel, add them to the new one) and
        returns the operation IDs immediately. The chain calls run asynchronously; poll the returned
        operation IDs via GET /v1/operations/{operationId} for their outcome.
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                new_acting_user_id:
                  type: string
                  format: uuid
                  description: Id of the user who becomes the new managing director (jednatel).
              required:
                - new_acting_user_id
      responses:
        '202':
          description: Company manager change accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the related company, DEUSS core internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                    nullable: false
                  remove_manager_operation_id:
                    type: string
                    format: uuid
                    nullable: true
                    description: |
                      Operation that removes manager rights from the previous jednatel. Null when there is no
                      previous jednatel or the new jednatel shares the same wallet (nothing to remove).
                  add_manager_operation_id:
                    type: string
                    format: uuid
                    description: Operation that grants manager rights to the new jednatel.
                required:
                  - company_id
                  - add_manager_operation_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/companies/{companyId}/scoring:
    get:
      operationId: get_current_company_scoring
      summary: Get current company scoring
      description: Retrieves the active credit rating for a specific issuer.
      tags:
        - Scoring
      parameters:
        - name: companyId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Current scoring retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                description: Scoring information
                properties:
                  grade:
                    type: string
                    enum:
                      - A
                      - B
                      - C
                      - D
                      - E
                    description: Scoring grade of the company
                    example: A
                  default_probability:
                    type: integer
                    description: Default probability percentage
                  issue_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  expiration_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  is_current:
                    type: boolean
                    description: Indicates if this is the current active scoring
                required:
                  - grade
                  - default_probability
                  - issue_date
                  - expiration_date
                  - is_current
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/companies/{companyId}/scoring/history:
    get:
      operationId: get_company_scoring_history
      summary: Get company scoring history
      description: Retrieves historical credit ratings for an issuer.
      tags:
        - Scoring
      parameters:
        - name: companyId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Company unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Scoring history retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                description: Response containing scoring history
                properties:
                  history:
                    type: array
                    description: List of historical scoring records
                    items:
                      type: object
                      description: Scoring information
                      properties:
                        grade:
                          type: string
                          enum:
                            - A
                            - B
                            - C
                            - D
                            - E
                          description: Scoring grade of the company
                          example: A
                        default_probability:
                          type: integer
                          description: Default probability percentage
                        issue_date:
                          type: string
                          format: date-time
                          description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                          example: '2025-02-11T14:30:00.123Z'
                        expiration_date:
                          type: string
                          format: date-time
                          description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                          example: '2025-02-11T14:30:00.123Z'
                        is_current:
                          type: boolean
                          description: Indicates if this is the current active scoring
                      required:
                        - grade
                        - default_probability
                        - issue_date
                        - expiration_date
                        - is_current
                required:
                  - history
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds:
    get:
      operationId: get_bonds
      summary: Get bonds by filter
      description: Returns a paged, filterable list of bonds.
      tags:
        - Bonds
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
        - name: sortBy
          in: query
          required: false
          description: Property to sort bonds by
          schema:
            title: BondSortAttribute
            type: string
            enum:
              - name
              - state
              - issue_date
              - maturity_date
        - name: sortDirection
          in: query
          required: false
          description: Sort order
          schema:
            example: ASC
            description: Sort order which should be applied for the field.
            type: string
            enum:
              - ASC
              - DESC
        - name: name
          in: query
          required: false
          schema:
            type: string
          description: Filter by bond name (partial match)
        - name: companyName
          in: query
          required: false
          schema:
            type: string
          description: Filter by issuer company name (partial match)
        - name: registrationEntity
          in: query
          required: false
          schema:
            description: Countries in EU
            example: CZ
            type: string
            enum:
              - AL
              - AD
              - AT
              - AZ
              - BY
              - BE
              - BA
              - BG
              - HR
              - CY
              - CZ
              - DK
              - EE
              - FI
              - FR
              - GE
              - DE
              - GR
              - HU
              - IS
              - IE
              - IT
              - KZ
              - XK
              - LV
              - LI
              - LT
              - LU
              - MK
              - MT
              - MD
              - MC
              - ME
              - NL
              - 'NO'
              - PL
              - PT
              - RO
              - RU
              - SM
              - RS
              - SK
              - SI
              - ES
              - SE
              - CH
              - TR
              - UA
              - GB
              - VA
        - name: headcountCategory
          in: query
          required: false
          schema:
            type: string
            enum:
              - SMALL
              - MEDIUM
              - LARGE
            description: Company size by headcount
        - name: guarantorId
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: |
            Filter by guarantor. Returns only bonds actively guaranteed by this guarantor (matching external_guarantor_id with an ACTIVE guarantee_state).
      responses:
        '200':
          description: Paged list of bonds for a company
          content:
            application/json:
              schema:
                title: PagedCompanyBondsResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      bonds:
                        type: array
                        items:
                          description: Detailed response for a bond
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the bond
                              example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                            company_id:
                              type: string
                              format: uuid
                              description: Unique identifier of the company that owns this bond
                              example: 123e4567-e89b-12d3-a456-426614174000
                            name:
                              type: string
                              description: Bond name
                              example: Best Bond
                            isin:
                              type: string
                              description: ISIN code
                              example: CZ0003551060
                            description:
                              type: string
                              description: Bond description
                            status:
                              type: string
                              description: Current state of the bond
                              enum:
                                - DRAFT
                                - PUBLISHED
                                - ISSUING
                                - ISSUED
                                - BURNED
                            industry_codes:
                              type: array
                              items:
                                type: string
                                description: NACE industry classification codes
                                enum:
                                  - A
                                  - B
                                  - C
                                  - D
                                  - E
                                  - F
                                  - G
                                  - H
                                  - I
                                  - J
                                  - K
                                  - L
                                  - M
                                  - 'N'
                                  - O
                                  - P
                                  - Q
                                  - R
                                  - S
                                  - T
                                  - U
                                example: C
                            bond_count:
                              type: integer
                              description: Number of emitted bonds
                              example: 10
                            bond_nominal_value:
                              description: A number represented as a string with exactly two decimal places.
                              type: string
                              format: decimal
                              nullable: false
                              x-field-extra-annotation:
                                - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                                - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                            currency:
                              description: Name of european currency used
                              type: string
                              enum:
                                - EUR
                                - CZK
                                - BGN
                                - DKK
                                - HUF
                                - PLN
                                - RON
                                - SEK
                                - CHF
                            interest_rate:
                              description: A number represented as a string with exactly two decimal places.
                              type: string
                              format: decimal
                              nullable: false
                              x-field-extra-annotation:
                                - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                                - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                            issue_date:
                              type: string
                              format: date-time
                              description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                              example: '2025-02-11T14:30:00.123Z'
                            maturity_date:
                              type: string
                              format: date-time
                              description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                              example: '2025-02-11T14:30:00.123Z'
                            payment_frequency:
                              type: string
                              description: Type describing how often is interest payment paid
                              enum:
                                - SEMI_ANNUAL
                                - ANNUAL
                                - QUARTERLY
                                - MONTHLY
                                - ZERO_COUPON
                            contract_address:
                              type: string
                              description: On-chain contract address, present only if ISSUED
                              nullable: true
                            is_guaranteed:
                              type: boolean
                              description: Whether the bond is guaranteed
                            guarantee_state:
                              type: string
                              enum:
                                - DRAFTED
                                - ACTIVE
                                - TRIGGERED
                                - PAID
                                - RESOLVED
                              description: State of the bond guarantee
                            cfi:
                              type: string
                              description: Classification of Financial Instruments code
                              example: ESVUFR
                            fisn:
                              type: string
                              description: Financial Instrument Short Name
                              example: NASDAQ/SHS
                            issuance_size_category:
                              type: string
                              enum:
                                - MICRO
                                - SMALL
                                - MEDIUM
                              description: Bond issuance size category
                            issuer_track_record_category:
                              type: string
                              enum:
                                - FIRST_TIME
                                - REPEATED
                              description: Issuer track record category
                            success_fee_pct:
                              type: string
                              format: decimal
                              description: Success fee percentage (0-100.000), up to 3 decimal places
                              nullable: true
                              x-field-extra-annotation:
                                - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                                - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                                - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
                            broker_id:
                              type: string
                              format: uuid
                              description: Broker identifier
                              nullable: true
                          required:
                            - id
                            - company_id
                            - name
                            - isin
                            - description
                            - status
                            - industry_codes
                            - bond_count
                            - bond_nominal_value
                            - currency
                            - interest_rate
                            - issue_date
                            - maturity_date
                            - payment_frequency
                            - is_guaranteed
                            - cfi
                            - fisn
                    required:
                      - bonds
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/users:
    get:
      operationId: get_users
      summary: Get users by filter
      description: Returns a paged, filterable list of users.
      tags:
        - User
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
        - name: sortBy
          in: query
          required: false
          description: Property to sort users by
          schema:
            type: string
            enum:
              - created
              - wallet_address
            description: Property to sort users by
        - name: sortDirection
          in: query
          required: false
          description: Sort order
          schema:
            example: ASC
            description: Sort order which should be applied for the field.
            type: string
            enum:
              - ASC
              - DESC
        - name: walletAddress
          in: query
          required: false
          schema:
            type: string
          description: Filter by wallet address
        - name: identityVerificationState
          in: query
          required: false
          schema:
            type: string
            enum:
              - NONE
              - PENDING_VERIFICATION
              - VERIFIED
              - FAILED
            description: Identity verification state of the user
          description: Filter by identity verification state
      responses:
        '200':
          description: Paged list of users
          content:
            application/json:
              schema:
                title: PagedUsersResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      users:
                        type: array
                        items:
                          description: Response to users get request
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the user, DEUSS code internal representation
                              example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                            wallet_address:
                              type: string
                              description: User wallet address
                              example: 43981
                              maxLength: 255
                              x-field-extra-annotation: '@NotBlank'
                            email_address:
                              type: string
                              format: email
                              description: Email address of the user. Null for users created from a wallet address only.
                              example: jane.doe@example.com
                              maxLength: 255
                              nullable: true
                            distributor_id:
                              type: string
                              description: User distributor uuid
                              format: uuid
                              maxLength: 255
                              nullable: true
                            identity_verification_state:
                              type: string
                              enum:
                                - NONE
                                - PENDING_VERIFICATION
                                - VERIFIED
                                - FAILED
                              description: Identity verification state of the user
                          required:
                            - id
                            - wallet_address
                            - identity_verification_state
                    required:
                      - users
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    post:
      operationId: post_users
      tags:
        - User
      summary: Register User Identity.
      description: |
        Register User Identity.
        This step creates a DB record but performs no on-chain operations.
      requestBody:
        description: Description of user to be created
        required: true
        content:
          application/json:
            schema:
              description: Description of user to be created
              type: object
              properties:
                passkey_public_key:
                  type: string
                  description: Passkey public key
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                passkey_key_id:
                  type: string
                  description: Passkey key ID
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                email_address:
                  type: string
                  format: email
                  description: Email address of the user
                  example: jane.doe@example.com
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
              required:
                - passkey_public_key
                - passkey_key_id
                - email_address
      responses:
        '201':
          description: User registered
          content:
            application/json:
              schema:
                description: Response to users post request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the added user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: The hexadecimal string representing an Ethereum wallet address.
                    pattern: ^0x[a-fA-F0-9]{40}$
                    example: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
                required:
                  - id
                  - transaction_hash
                  - wallet_address
  /system/v1/users/wallet:
    post:
      operationId: post_user_by_wallet
      tags:
        - User
      summary: Register a user from a wallet address.
      description: |
        Registers a user identity from an existing wallet address.
        Unlike passkey registration this creates a DB record only, performs no
        on-chain operations, and derives no wallet.
      requestBody:
        description: Wallet address of the user to be created
        required: true
        content:
          application/json:
            schema:
              description: Description of a user to be created from an existing wallet address
              type: object
              properties:
                wallet_address:
                  type: string
                  description: The hexadecimal string representing an Ethereum wallet address.
                  pattern: ^0x[a-fA-F0-9]{40}$
                  example: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
                email_address:
                  type: string
                  format: email
                  description: Email address of the user
                  example: jane.doe@example.com
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
              required:
                - wallet_address
                - email_address
      responses:
        '201':
          description: User registered
          content:
            application/json:
              schema:
                description: Response to users post request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the added user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: The hexadecimal string representing an Ethereum wallet address.
                    pattern: ^0x[a-fA-F0-9]{40}$
                    example: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
                required:
                  - id
                  - transaction_hash
                  - wallet_address
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/users/{user_id}:
    get:
      operationId: get_user
      tags:
        - User
      summary: Get user by id
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: User unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: User retrieved successfully.
          content:
            application/json:
              schema:
                description: Response to users get request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: User wallet address
                    example: 43981
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  email_address:
                    type: string
                    format: email
                    description: Email address of the user. Null for users created from a wallet address only.
                    example: jane.doe@example.com
                    maxLength: 255
                    nullable: true
                  distributor_id:
                    type: string
                    description: User distributor uuid
                    format: uuid
                    maxLength: 255
                    nullable: true
                  identity_verification_state:
                    type: string
                    enum:
                      - NONE
                      - PENDING_VERIFICATION
                      - VERIFIED
                      - FAILED
                    description: Identity verification state of the user
                required:
                  - id
                  - wallet_address
                  - identity_verification_state
  /system/v1/users/{user_id}/recover:
    post:
      operationId: recover_user
      tags:
        - User
      summary: Recover user's passkey on-chain
      description: |
        Replaces the passkey currently associated with the user on-chain. Intended
        to be called by user-service after the user re-enrolled a new passkey in
        Keycloak.
        Updates the DB record and performs the on-chain recovery call.
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: User unique identifier
      requestBody:
        description: Passkey data used to recover the user on-chain.
        required: true
        content:
          application/json:
            schema:
              description: New passkey data used to replace the user's on-chain passkey.
              type: object
              properties:
                passkey_public_key:
                  type: string
                  description: New passkey public key
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                passkey_key_id:
                  type: string
                  description: New passkey key ID
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
              required:
                - passkey_public_key
                - passkey_key_id
      responses:
        '200':
          description: Recovery accepted.
          content:
            application/json:
              schema:
                description: Response to users post request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the added user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: The hexadecimal string representing an Ethereum wallet address.
                    pattern: ^0x[a-fA-F0-9]{40}$
                    example: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
                required:
                  - id
                  - transaction_hash
                  - wallet_address
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/draft:
    post:
      operationId: post_bonds_draft
      tags:
        - Bonds
      summary: Submit draft of a bond
      description: |
        Submit draft of a bond.
        This step creates a DB record but performs no on-chain operations.
      requestBody:
        description: Description of bond draft to be created
        required: true
        content:
          application/json:
            schema:
              description: Description of bond draft to be created
              type: object
              properties:
                company_id:
                  type: string
                  format: uuid
                  description: Unique identifier of the related company, DEUSS core internal representation
                  example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  nullable: false
                name:
                  type: string
                  description: Bond name
                  example: Best Bond
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                isin:
                  type: string
                  description: ISIN (12 number)
                  example: Best Bond
                  maxLength: 255
                  x-field-extra-annotation: '@NotBlank'
                description:
                  type: string
                  description: Drafted bond description
                  example: This is by far the best bond around
                  minLength: 500
                  maxLength: 10_000
                industry_codes:
                  type: array
                  items:
                    type: string
                    description: NACE industry classification codes
                    enum:
                      - A
                      - B
                      - C
                      - D
                      - E
                      - F
                      - G
                      - H
                      - I
                      - J
                      - K
                      - L
                      - M
                      - 'N'
                      - O
                      - P
                      - Q
                      - R
                      - S
                      - T
                      - U
                    example: C
                bond_count:
                  type: integer
                  description: Number of emitted bonds
                  minimum: 1
                  example: 10
                bond_nominal_value:
                  description: A number represented as a string with exactly two decimal places.
                  type: string
                  format: decimal
                  nullable: false
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                    - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                currency:
                  description: Name of european currency used
                  type: string
                  enum:
                    - EUR
                    - CZK
                    - BGN
                    - DKK
                    - HUF
                    - PLN
                    - RON
                    - SEK
                    - CHF
                interest_rate:
                  description: A number represented as a string with exactly two decimal places.
                  type: string
                  format: decimal
                  nullable: false
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                    - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                issue_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                maturity_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                payment_frequency:
                  type: string
                  description: Type describing how often is interest payment paid
                  enum:
                    - SEMI_ANNUAL
                    - ANNUAL
                    - QUARTERLY
                    - MONTHLY
                    - ZERO_COUPON
                cfi:
                  type: string
                  description: Classification of Financial Instruments code
                  example: ESVUFR
                  x-field-extra-annotation: '@NotBlank'
                fisn:
                  type: string
                  description: Financial Instrument Short Name
                  example: NASDAQ/SHS
                  x-field-extra-annotation: '@NotBlank'
                issuance_size_category:
                  type: string
                  enum:
                    - MICRO
                    - SMALL
                    - MEDIUM
                  description: Bond issuance size category
                issuer_track_record_category:
                  type: string
                  enum:
                    - FIRST_TIME
                    - REPEATED
                  description: Issuer track record category
                success_fee_pct:
                  type: string
                  format: decimal
                  description: Success fee percentage (0-100.000), up to 3 decimal places
                  nullable: true
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                    - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                    - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
                broker_id:
                  type: string
                  format: uuid
                  description: Broker identifier
                  nullable: true
              required:
                - payment_frequency
                - maturity_date
                - issue_date
                - interest_rate
                - currency
                - bond_nominal_value
                - bond_count
                - industry_codes
                - isin
                - name
                - company_id
                - cfi
                - fisn
      responses:
        '201':
          description: Bond draft accepted
          content:
            application/json:
              schema:
                description: Response to bond draft post
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the drafted bond, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                required:
                  - id
  /system/v1/bonds/isin/{bond_isin}:
    parameters:
      - name: bond_isin
        in: path
        required: true
        description: ISIN code of the bond
        schema:
          type: string
          example: CZ0003551060
    get:
      operationId: get_bond_by_isin
      tags:
        - Bonds
      summary: Get bond by ISIN
      description: Returns a single bond with all its details identified by ISIN.
      responses:
        '200':
          description: Bond retrieved successfully.
          content:
            application/json:
              schema:
                description: Detailed response for a bond
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the bond
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the company that owns this bond
                    example: 123e4567-e89b-12d3-a456-426614174000
                  name:
                    type: string
                    description: Bond name
                    example: Best Bond
                  isin:
                    type: string
                    description: ISIN code
                    example: CZ0003551060
                  description:
                    type: string
                    description: Bond description
                  status:
                    type: string
                    description: Current state of the bond
                    enum:
                      - DRAFT
                      - PUBLISHED
                      - ISSUING
                      - ISSUED
                      - BURNED
                  industry_codes:
                    type: array
                    items:
                      type: string
                      description: NACE industry classification codes
                      enum:
                        - A
                        - B
                        - C
                        - D
                        - E
                        - F
                        - G
                        - H
                        - I
                        - J
                        - K
                        - L
                        - M
                        - 'N'
                        - O
                        - P
                        - Q
                        - R
                        - S
                        - T
                        - U
                      example: C
                  bond_count:
                    type: integer
                    description: Number of emitted bonds
                    example: 10
                  bond_nominal_value:
                    description: A number represented as a string with exactly two decimal places.
                    type: string
                    format: decimal
                    nullable: false
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                      - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                  currency:
                    description: Name of european currency used
                    type: string
                    enum:
                      - EUR
                      - CZK
                      - BGN
                      - DKK
                      - HUF
                      - PLN
                      - RON
                      - SEK
                      - CHF
                  interest_rate:
                    description: A number represented as a string with exactly two decimal places.
                    type: string
                    format: decimal
                    nullable: false
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                      - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                  issue_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  maturity_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  payment_frequency:
                    type: string
                    description: Type describing how often is interest payment paid
                    enum:
                      - SEMI_ANNUAL
                      - ANNUAL
                      - QUARTERLY
                      - MONTHLY
                      - ZERO_COUPON
                  contract_address:
                    type: string
                    description: On-chain contract address, present only if ISSUED
                    nullable: true
                  is_guaranteed:
                    type: boolean
                    description: Whether the bond is guaranteed
                  guarantee_state:
                    type: string
                    enum:
                      - DRAFTED
                      - ACTIVE
                      - TRIGGERED
                      - PAID
                      - RESOLVED
                    description: State of the bond guarantee
                  cfi:
                    type: string
                    description: Classification of Financial Instruments code
                    example: ESVUFR
                  fisn:
                    type: string
                    description: Financial Instrument Short Name
                    example: NASDAQ/SHS
                  issuance_size_category:
                    type: string
                    enum:
                      - MICRO
                      - SMALL
                      - MEDIUM
                    description: Bond issuance size category
                  issuer_track_record_category:
                    type: string
                    enum:
                      - FIRST_TIME
                      - REPEATED
                    description: Issuer track record category
                  success_fee_pct:
                    type: string
                    format: decimal
                    description: Success fee percentage (0-100.000), up to 3 decimal places
                    nullable: true
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                      - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                      - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
                  broker_id:
                    type: string
                    format: uuid
                    description: Broker identifier
                    nullable: true
                required:
                  - id
                  - company_id
                  - name
                  - isin
                  - description
                  - status
                  - industry_codes
                  - bond_count
                  - bond_nominal_value
                  - currency
                  - interest_rate
                  - issue_date
                  - maturity_date
                  - payment_frequency
                  - is_guaranteed
                  - cfi
                  - fisn
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    get:
      operationId: get_bond
      tags:
        - Bonds
      summary: Get bond by id
      description: Returns a single bond with all its details.
      responses:
        '200':
          description: Bond retrieved successfully.
          content:
            application/json:
              schema:
                description: Detailed response for a bond
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the bond
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  company_id:
                    type: string
                    format: uuid
                    description: Unique identifier of the company that owns this bond
                    example: 123e4567-e89b-12d3-a456-426614174000
                  name:
                    type: string
                    description: Bond name
                    example: Best Bond
                  isin:
                    type: string
                    description: ISIN code
                    example: CZ0003551060
                  description:
                    type: string
                    description: Bond description
                  status:
                    type: string
                    description: Current state of the bond
                    enum:
                      - DRAFT
                      - PUBLISHED
                      - ISSUING
                      - ISSUED
                      - BURNED
                  industry_codes:
                    type: array
                    items:
                      type: string
                      description: NACE industry classification codes
                      enum:
                        - A
                        - B
                        - C
                        - D
                        - E
                        - F
                        - G
                        - H
                        - I
                        - J
                        - K
                        - L
                        - M
                        - 'N'
                        - O
                        - P
                        - Q
                        - R
                        - S
                        - T
                        - U
                      example: C
                  bond_count:
                    type: integer
                    description: Number of emitted bonds
                    example: 10
                  bond_nominal_value:
                    description: A number represented as a string with exactly two decimal places.
                    type: string
                    format: decimal
                    nullable: false
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                      - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                  currency:
                    description: Name of european currency used
                    type: string
                    enum:
                      - EUR
                      - CZK
                      - BGN
                      - DKK
                      - HUF
                      - PLN
                      - RON
                      - SEK
                      - CHF
                  interest_rate:
                    description: A number represented as a string with exactly two decimal places.
                    type: string
                    format: decimal
                    nullable: false
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                      - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                  issue_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  maturity_date:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  payment_frequency:
                    type: string
                    description: Type describing how often is interest payment paid
                    enum:
                      - SEMI_ANNUAL
                      - ANNUAL
                      - QUARTERLY
                      - MONTHLY
                      - ZERO_COUPON
                  contract_address:
                    type: string
                    description: On-chain contract address, present only if ISSUED
                    nullable: true
                  is_guaranteed:
                    type: boolean
                    description: Whether the bond is guaranteed
                  guarantee_state:
                    type: string
                    enum:
                      - DRAFTED
                      - ACTIVE
                      - TRIGGERED
                      - PAID
                      - RESOLVED
                    description: State of the bond guarantee
                  cfi:
                    type: string
                    description: Classification of Financial Instruments code
                    example: ESVUFR
                  fisn:
                    type: string
                    description: Financial Instrument Short Name
                    example: NASDAQ/SHS
                  issuance_size_category:
                    type: string
                    enum:
                      - MICRO
                      - SMALL
                      - MEDIUM
                    description: Bond issuance size category
                  issuer_track_record_category:
                    type: string
                    enum:
                      - FIRST_TIME
                      - REPEATED
                    description: Issuer track record category
                  success_fee_pct:
                    type: string
                    format: decimal
                    description: Success fee percentage (0-100.000), up to 3 decimal places
                    nullable: true
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                      - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                      - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
                  broker_id:
                    type: string
                    format: uuid
                    description: Broker identifier
                    nullable: true
                required:
                  - id
                  - company_id
                  - name
                  - isin
                  - description
                  - status
                  - industry_codes
                  - bond_count
                  - bond_nominal_value
                  - currency
                  - interest_rate
                  - issue_date
                  - maturity_date
                  - payment_frequency
                  - is_guaranteed
                  - cfi
                  - fisn
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/issue:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    post:
      operationId: issue_bond
      tags:
        - Bonds
      summary: Publish bond to chain
      description: |
        Finalizes the draft and triggers the upload of bond information to chain.
        Bond must be in DRAFT state.
      responses:
        '201':
          description: Bond published successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  bond_id:
                    type: string
                    format: uuid
                  publish_bond_operation_id:
                    type: string
                    format: uuid
                required:
                  - bond_id
                  - publish_bond_operation_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/draft/{bond_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    patch:
      operationId: patch_bond_draft
      tags:
        - Bonds
      summary: Update a bond draft
      description: |
        Partially updates a bond draft. Only fields present in the request body are updated. Only drafts in DRAFT state can be updated.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Partial update request for a bond draft. Only provided fields are updated.
              type: object
              properties:
                name:
                  type: string
                  description: Bond name
                  maxLength: 255
                isin:
                  type: string
                  description: ISIN code
                  maxLength: 255
                description:
                  type: string
                  description: Bond description
                  maxLength: 10000
                  nullable: true
                bond_count:
                  type: integer
                  description: Number of emitted bonds
                bond_nominal_value:
                  description: A number represented as a string with exactly two decimal places.
                  type: string
                  format: decimal
                  nullable: false
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                    - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                currency:
                  description: Name of european currency used
                  type: string
                  enum:
                    - EUR
                    - CZK
                    - BGN
                    - DKK
                    - HUF
                    - PLN
                    - RON
                    - SEK
                    - CHF
                interest_rate:
                  description: A number represented as a string with exactly two decimal places.
                  type: string
                  format: decimal
                  nullable: false
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                    - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                issue_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                maturity_date:
                  type: string
                  format: date-time
                  description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                  example: '2025-02-11T14:30:00.123Z'
                payment_frequency:
                  type: string
                  description: Type describing how often is interest payment paid
                  enum:
                    - SEMI_ANNUAL
                    - ANNUAL
                    - QUARTERLY
                    - MONTHLY
                    - ZERO_COUPON
                cfi:
                  type: string
                  description: Classification of Financial Instruments code
                  example: ESVUFR
                fisn:
                  type: string
                  description: Financial Instrument Short Name
                  example: NASDAQ/SHS
                issuance_size_category:
                  type: string
                  enum:
                    - MICRO
                    - SMALL
                    - MEDIUM
                  description: Bond issuance size category
                issuer_track_record_category:
                  type: string
                  enum:
                    - FIRST_TIME
                    - REPEATED
                  description: Issuer track record category
                success_fee_pct:
                  type: string
                  format: decimal
                  description: Success fee percentage (0-100.000), up to 3 decimal places
                  nullable: true
                  x-field-extra-annotation:
                    - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                    - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                    - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
      responses:
        '200':
          description: Bond draft updated successfully.
          content:
            application/json:
              schema:
                description: Response to bond draft post
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the drafted bond, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                required:
                  - id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: delete_bond_draft
      tags:
        - Bonds
      summary: Delete a bond draft
      description: |
        Deletes a bond draft. Only drafts in DRAFT state can be deleted.
      responses:
        '204':
          description: Bond draft deleted successfully.
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/documents/uploads:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    post:
      operationId: uploadBondDocumentMetadata
      summary: Upload bond document metadata.
      description: |
        Registers the intent to upload a document file. The client provides file metadata and a pre-calculated checksum. This creates a temporary record in the staging table.
      tags:
        - Bond Document
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Request to initialize a bond document upload
              type: object
              properties:
                file_name:
                  type: string
                  maxLength: 255
                  x-extra-annotation: '@NotBlank'
                  description: Name of the document file
                file_type:
                  type: string
                  description: File type of sent document
                  enum:
                    - PDF
                    - DOC
                    - DOCX
                    - XLS
                    - XLSX
                    - ODP
                    - ODT
                    - ODS
                    - PPT
                    - PPTX
                    - RTF
                content_length:
                  type: integer
                  format: int64
                  minimum: 1
                  description: Size of the file in bytes
                  example: 1024
                checksum_sha256:
                  description: SHA256 checksum in base64 format.
                  type: string
              required:
                - file_name
                - file_type
                - content_length
                - checksum_sha256
      responses:
        '201':
          description: Upload initialized successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload_id:
                    type: string
                    format: uuid
                required:
                  - upload_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/documents/uploads/{upload_id}/file:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: upload_id
        in: path
        required: true
        description: Unique identifier of a registered upload context
        schema:
          type: string
          format: uuid
          example: 1b2c3d4e-1111-2222-3333-444455556666
    post:
      operationId: uploadBondDocumentContent
      summary: Upload bond document content.
      description: |
        Uploads binary content for a previously initialized document upload. The system verifies integrity against the staged metadata, moves the data to the permanent table, and cleans up the staging area.
      tags:
        - Bond Document
      requestBody:
        description: File to be uploaded
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
              required:
                - file
      responses:
        '201':
          description: File uploaded successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the document
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the document was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    description: Name of the document file
                    example: Q4_Report.pdf
                  file_type:
                    type: string
                    description: File type of sent document
                    enum:
                      - PDF
                      - DOC
                      - DOCX
                      - XLS
                      - XLSX
                      - ODP
                      - ODT
                      - ODS
                      - PPT
                      - PPTX
                      - RTF
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - name
                  - file_type
                  - bond_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/marketing-assets/uploads:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    post:
      operationId: uploadBondMarketingAssetMetadata
      summary: Upload bond marketing asset metadata.
      description: |
        Registers the intent to upload a marketing asset. The client provides asset metadata and a pre-calculated checksum. This creates a temporary record in the staging table.
      tags:
        - Bond Marketing Asset
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Request to initialize a marketing asset upload
              type: object
              properties:
                marketing_asset_name:
                  type: string
                  maxLength: 255
                  x-extra-annotation: '@NotBlank'
                  description: Name of the marketing asset
                file_type:
                  type: string
                  enum:
                    - PNG
                    - PDF
                    - JPG
                    - JPEG
                    - LINK
                content_length:
                  type: integer
                  format: int64
                  minimum: 1
                  description: Size of the file in bytes
                  example: 2048
                checksum_sha256:
                  description: SHA256 checksum encoded in base64 for the uploaded file
                  type: string
              required:
                - marketing_asset_name
                - file_type
                - content_length
                - checksum_sha256
      responses:
        '201':
          description: Upload initialized successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload_id:
                    type: string
                    format: uuid
                required:
                  - upload_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/marketing-assets/uploads/{upload_id}/file:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: upload_id
        in: path
        required: true
        description: Unique identifier of a registered upload context
        schema:
          type: string
          format: uuid
          example: 1b2c3d4e-1111-2222-3333-444455556666
    post:
      operationId: uploadBondMarketingAssetContent
      summary: Upload bond marketing asset content.
      description: |
        Uploads binary content for a previously initialized marketing asset upload. The system verifies integrity against the staged metadata, moves the data to the permanent table, and cleans up the staging area.
      tags:
        - Bond Marketing Asset
      requestBody:
        description: File to be uploaded
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
              required:
                - file
      responses:
        '201':
          description: Marketing asset uploaded successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the marketing asset
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the marketing asset was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    description: Name of the marketing asset file
                    example: promo_video.mp4
                  file_type:
                    type: string
                    enum:
                      - PNG
                      - PDF
                      - JPG
                      - JPEG
                      - LINK
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - name
                  - file_type
                  - bond_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/guarantee-documents/uploads:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    post:
      operationId: uploadBondGuaranteeDocumentMetadata
      summary: Upload bond guarantee document metadata.
      description: |
        Registers the intent to upload a guarantee document file. The client provides file metadata and a pre-calculated checksum. This creates a temporary record in the staging table.
      tags:
        - Bond Guarantee Document
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Request to initialize a bond document upload
              type: object
              properties:
                file_name:
                  type: string
                  maxLength: 255
                  x-extra-annotation: '@NotBlank'
                  description: Name of the document file
                file_type:
                  type: string
                  description: File type of sent document
                  enum:
                    - PDF
                    - DOC
                    - DOCX
                    - XLS
                    - XLSX
                    - ODP
                    - ODT
                    - ODS
                    - PPT
                    - PPTX
                    - RTF
                content_length:
                  type: integer
                  format: int64
                  minimum: 1
                  description: Size of the file in bytes
                  example: 1024
                checksum_sha256:
                  description: SHA256 checksum in base64 format.
                  type: string
              required:
                - file_name
                - file_type
                - content_length
                - checksum_sha256
      responses:
        '201':
          description: Upload initialized successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload_id:
                    type: string
                    format: uuid
                required:
                  - upload_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/guarantee-documents/uploads/{upload_id}/file:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: upload_id
        in: path
        required: true
        description: Unique identifier of a registered upload context
        schema:
          type: string
          format: uuid
          example: 1b2c3d4e-1111-2222-3333-444455556666
    post:
      operationId: uploadBondGuaranteeDocumentContent
      summary: Upload bond guarantee document content.
      description: |
        Uploads binary content for a previously initialized guarantee document upload. The system verifies integrity against the staged metadata, moves the data to the permanent table, and cleans up the staging area.
      tags:
        - Bond Guarantee Document
      requestBody:
        description: File to be uploaded
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
              required:
                - file
      responses:
        '201':
          description: File uploaded successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the guarantee document
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the guarantee document was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    nullable: true
                    description: Name of the guarantee document file
                    example: guarantee_agreement.pdf
                  file_type:
                    type: string
                    description: File type of sent document
                    enum:
                      - PDF
                      - DOC
                      - DOCX
                      - XLS
                      - XLSX
                      - ODP
                      - ODT
                      - ODS
                      - PPT
                      - PPTX
                      - RTF
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - file_type
                  - bond_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/guaranteed:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    put:
      operationId: setBondGuaranteed
      summary: Set bond is_guaranteed flag.
      description: |
        Sets the is_guaranteed flag for a bond. When set to false, the guarantee_state is also reset to null. When set to true, at least one guarantee document must exist for the bond.
      tags:
        - Bond Guarantee
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                is_guaranteed:
                  type: boolean
                  description: Whether the bond has an active guarantee
              required:
                - is_guaranteed
      responses:
        '204':
          description: Flag updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/guarantee-state:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    put:
      operationId: setBondGuaranteeState
      summary: Set bond guarantee state.
      description: |
        Sets the guarantee_state for a bond. The bond must have is_guaranteed set to true.
      tags:
        - Bond Guarantee
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                guarantee_state:
                  type: string
                  enum:
                    - DRAFTED
                    - ACTIVE
                    - TRIGGERED
                    - PAID
                    - RESOLVED
                  description: State of the bond guarantee
              required:
                - guarantee_state
      responses:
        '204':
          description: Guarantee state updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/guarantee/guarantor:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    patch:
      operationId: setBondGuarantor
      summary: Set the guarantor of a bond guarantee.
      description: |
        Assigns an external guarantor to the bond guarantee. If no bond guarantee exists yet for the bond, it is created. The external_guarantor_id is the logical id of a partner entity in the Partner Service.
      tags:
        - Bond Guarantee
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                external_guarantor_id:
                  type: string
                  format: uuid
                  description: Logical id of the partner (guarantor) entity in the Partner Service
                  example: 1cbd890d-1529-4857-aafa-b6093e698ce9
              required:
                - external_guarantor_id
      responses:
        '204':
          description: Guarantor updated successfully.
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/guarantee/documents:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    get:
      operationId: getBondGuaranteeDocuments
      summary: Get paged list of bond guarantee documents.
      description: |
        Returns a paginated list of guarantee documents belonging to the specified bond.
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
      tags:
        - Bond Guarantee Document
      responses:
        '200':
          description: Paged list of guarantee documents.
          content:
            application/json:
              schema:
                title: PagedBondGuaranteeDocumentsResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      documents:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the guarantee document
                              example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                            created_at:
                              type: string
                              format: date-time
                              description: Timestamp when the guarantee document was created
                              example: '2023-01-15T10:00:00.000Z'
                            name:
                              type: string
                              maxLength: 255
                              nullable: true
                              description: Name of the guarantee document file
                              example: guarantee_agreement.pdf
                            file_type:
                              type: string
                              description: File type of sent document
                              enum:
                                - PDF
                                - DOC
                                - DOCX
                                - XLS
                                - XLSX
                                - ODP
                                - ODT
                                - ODS
                                - PPT
                                - PPTX
                                - RTF
                            bond_id:
                              type: string
                              format: uuid
                              description: Bond identifier
                              example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                          required:
                            - id
                            - created_at
                            - file_type
                            - bond_id
                    required:
                      - documents
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/guarantee/documents/{document_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: document_id
        in: path
        required: true
        description: Unique identifier of a bond document
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: getBondGuaranteeDocument
      summary: Get bond guarantee document detail.
      description: |
        Returns the detail of a single bond guarantee document.
      tags:
        - Bond Guarantee Document
      responses:
        '200':
          description: Guarantee document detail.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the guarantee document
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the guarantee document was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    nullable: true
                    description: Name of the guarantee document file
                    example: guarantee_agreement.pdf
                  file_type:
                    type: string
                    description: File type of sent document
                    enum:
                      - PDF
                      - DOC
                      - DOCX
                      - XLS
                      - XLSX
                      - ODP
                      - ODT
                      - ODS
                      - PPT
                      - PPTX
                      - RTF
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - file_type
                  - bond_id
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: deleteBondGuaranteeDocument
      summary: Delete a bond guarantee document.
      description: |
        Deletes a bond guarantee document and its associated file from storage.
      tags:
        - Bond Guarantee Document
      responses:
        '204':
          description: Guarantee document deleted successfully.
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/guarantee/documents/{document_id}/download:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: document_id
        in: path
        required: true
        description: Unique identifier of a bond document
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: downloadBondGuaranteeDocument
      summary: Download bond guarantee document file.
      description: |
        Streams the binary content of a previously uploaded bond guarantee document.
      tags:
        - Bond Guarantee Document
      responses:
        '200':
          description: Full file content.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
          headers:
            Content-Disposition:
              description: Suggested filename for download.
              schema:
                type: string
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/documents:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    get:
      operationId: getBondDocuments
      summary: Get paged list of bond documents.
      description: |
        Returns a paginated list of documents belonging to the specified bond.
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
      tags:
        - Bond Document
      responses:
        '200':
          description: Paged list of documents.
          content:
            application/json:
              schema:
                title: PagedBondDocumentsResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      documents:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the document
                              example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                            created_at:
                              type: string
                              format: date-time
                              description: Timestamp when the document was created
                              example: '2023-01-15T10:00:00.000Z'
                            name:
                              type: string
                              maxLength: 255
                              description: Name of the document file
                              example: Q4_Report.pdf
                            file_type:
                              type: string
                              description: File type of sent document
                              enum:
                                - PDF
                                - DOC
                                - DOCX
                                - XLS
                                - XLSX
                                - ODP
                                - ODT
                                - ODS
                                - PPT
                                - PPTX
                                - RTF
                            bond_id:
                              type: string
                              format: uuid
                              description: Bond identifier
                              example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                          required:
                            - id
                            - created_at
                            - name
                            - file_type
                            - bond_id
                    required:
                      - documents
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/documents/{document_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: document_id
        in: path
        required: true
        description: Unique identifier of a bond document
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: getBondDocument
      summary: Get bond document detail.
      description: |
        Returns the detail of a single bond document.
      tags:
        - Bond Document
      responses:
        '200':
          description: Document detail.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the document
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the document was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    description: Name of the document file
                    example: Q4_Report.pdf
                  file_type:
                    type: string
                    description: File type of sent document
                    enum:
                      - PDF
                      - DOC
                      - DOCX
                      - XLS
                      - XLSX
                      - ODP
                      - ODT
                      - ODS
                      - PPT
                      - PPTX
                      - RTF
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - name
                  - file_type
                  - bond_id
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: deleteBondDocument
      summary: Delete a bond document.
      description: |
        Deletes a bond document and its associated file from storage.
      tags:
        - Bond Document
      responses:
        '204':
          description: Document deleted successfully.
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/documents/{document_id}/download:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: document_id
        in: path
        required: true
        description: Unique identifier of a bond document
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: downloadBondDocument
      summary: Download bond document file.
      description: |
        Streams the binary content of a previously uploaded bond document.
      tags:
        - Bond Document
      responses:
        '200':
          description: Full file content.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
          headers:
            Content-Disposition:
              description: Suggested filename for download.
              schema:
                type: string
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/marketing-assets:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
    get:
      operationId: getBondMarketingAssets
      summary: Get paged list of bond marketing assets.
      description: |
        Returns a paginated list of marketing assets belonging to the specified bond.
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
      tags:
        - Bond Marketing Asset
      responses:
        '200':
          description: Paged list of marketing assets.
          content:
            application/json:
              schema:
                title: PagedBondMarketingAssetsResponse
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      marketing_assets:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the marketing asset
                              example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                            created_at:
                              type: string
                              format: date-time
                              description: Timestamp when the marketing asset was created
                              example: '2023-01-15T10:00:00.000Z'
                            name:
                              type: string
                              maxLength: 255
                              description: Name of the marketing asset file
                              example: promo_video.mp4
                            file_type:
                              type: string
                              enum:
                                - PNG
                                - PDF
                                - JPG
                                - JPEG
                                - LINK
                            bond_id:
                              type: string
                              format: uuid
                              description: Bond identifier
                              example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                          required:
                            - id
                            - created_at
                            - name
                            - file_type
                            - bond_id
                    required:
                      - marketing_assets
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/marketing-assets/{marketing_asset_id}:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: marketing_asset_id
        in: path
        required: true
        description: Unique identifier of a bond marketing asset
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: getBondMarketingAsset
      summary: Get bond marketing asset detail.
      description: |
        Returns the detail of a single bond marketing asset.
      tags:
        - Bond Marketing Asset
      responses:
        '200':
          description: Marketing asset detail.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the marketing asset
                    example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
                  created_at:
                    type: string
                    format: date-time
                    description: Timestamp when the marketing asset was created
                    example: '2023-01-15T10:00:00.000Z'
                  name:
                    type: string
                    maxLength: 255
                    description: Name of the marketing asset file
                    example: promo_video.mp4
                  file_type:
                    type: string
                    enum:
                      - PNG
                      - PDF
                      - JPG
                      - JPEG
                      - LINK
                  bond_id:
                    type: string
                    format: uuid
                    description: Bond identifier
                    example: 5b4454b6-d5a0-420c-9927-e3bdd8096bb9
                required:
                  - id
                  - created_at
                  - name
                  - file_type
                  - bond_id
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: deleteBondMarketingAsset
      summary: Delete a bond marketing asset.
      description: |
        Deletes a bond marketing asset and its associated file from storage.
      tags:
        - Bond Marketing Asset
      responses:
        '204':
          description: Marketing asset deleted successfully.
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/bonds/{bond_id}/marketing-assets/{marketing_asset_id}/download:
    parameters:
      - name: bond_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: be41bbdf-0dc7-4dcc-ab69-ffabe088b59c
      - name: marketing_asset_id
        in: path
        required: true
        description: Unique identifier of a bond marketing asset
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: downloadBondMarketingAsset
      summary: Download bond marketing asset file.
      description: |
        Streams the binary content of a previously uploaded bond marketing asset.
      tags:
        - Bond Marketing Asset
      responses:
        '200':
          description: Full file content.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
          headers:
            Content-Disposition:
              description: Suggested filename for download.
              schema:
                type: string
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/v1/users/wallet/{walletAddress}:
    get:
      operationId: get_user_by_wallet
      tags:
        - User
      summary: Get user by wallet
      parameters:
        - name: walletAddress
          in: path
          required: true
          schema:
            type: string
            pattern: ^0x[a-fA-F0-9]{40}$
          description: User wallet address
          example: '0x1234567890123456789012345678901234567890'
      responses:
        '200':
          description: User retrieved successfully.
          content:
            application/json:
              schema:
                description: Response to users get request
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user, DEUSS code internal representation
                    example: fd62d1f2-ca68-445a-b542-9d02068da0d9
                  wallet_address:
                    type: string
                    description: User wallet address
                    example: 43981
                    maxLength: 255
                    x-field-extra-annotation: '@NotBlank'
                  email_address:
                    type: string
                    format: email
                    description: Email address of the user. Null for users created from a wallet address only.
                    example: jane.doe@example.com
                    maxLength: 255
                    nullable: true
                  distributor_id:
                    type: string
                    description: User distributor uuid
                    format: uuid
                    maxLength: 255
                    nullable: true
                  identity_verification_state:
                    type: string
                    enum:
                      - NONE
                      - PENDING_VERIFICATION
                      - VERIFIED
                      - FAILED
                    description: Identity verification state of the user
                required:
                  - id
                  - wallet_address
                  - identity_verification_state
  /public/payments/reset:
    post:
      operationId: reset_payments
      summary: Reset failed payments in the system to their original state.
      description: Reset failed payments in the system to their original state.
      parameters:
        - name: id
          in: query
          required: false
          description: ID of the payment to be reset. If not provided, all payments will be reset.
          schema:
            type: string
            format: uuid
            example: 106f6bea-24cc-4fd3-bf4f-f60e17f7405a
      tags:
        - Admin
      responses:
        '200':
          description: All payments reset successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    paymentType:
                      description: There are four different kinds of payments. SENDER/RECEIVER pair for bond purchase and the same for settlement.
                      type: string
                      example: PURCHASE_SENDER
                      enum:
                        - PURCHASE_SENDER
                        - PURCHASE_RECEIVER
                        - SETTLEMENT_SENDER_PRINCIPAL
                        - SETTLEMENT_RECEIVER_PRINCIPAL
                        - SETTLEMENT_SENDER_COUPON
                        - SETTLEMENT_RECEIVER_COUPON
                    senderWalletAddress:
                      type: string
                    receiverWalletAddresses:
                      type: array
                      description: receiver payments array
                      items:
                        type: string
                    amount:
                      type: integer
                      format: int64
                    currency:
                      description: Name of european currency used
                      type: string
                      enum:
                        - EUR
                        - CZK
                        - BGN
                        - DKK
                        - HUF
                        - PLN
                        - RON
                        - SEK
                        - CHF
                    statusPurchase:
                      description: States of payment from the business flow perspective
                      type: string
                      example: CREATED
                      enum:
                        - CREATED
                        - BUYER_PAYMENT_AUTHORISED
                        - BUYER_PAID
                        - DEAL_PAID
                        - SELLER_PAYMENT_AUTHORISED
                        - SELLER_PAID
                        - DEAL_SETTLED
                        - UNABLE_TO_CREATE
                        - UNABLE_TO_VALIDATE
                    statusSender:
                      example: AUTHORISED
                      description: State of the Issuer payment (RECEIVED is issuer payment by PSP, SENT corresponding buyer payments by PSP).
                      type: string
                      enum:
                        - CREATED
                        - AUTHORISED
                        - RECEIVED
                        - SENT
                        - FAILED
                    statusReceiver:
                      example: CREATED
                      description: State of the Buyer payment (SENT is from the point of view of payment provider).
                      type: string
                      enum:
                        - CREATED
                        - AUTHORISED
                        - SENT
                        - FAILED
                    isin:
                      type: string
                    paymentReference:
                      type: integer
                      format: int64
                  required:
                    - id
                    - paymentType
                    - amount
                    - currency
                    - isin
                  oneOf:
                    - required:
                        - statusPurchase
                    - required:
                        - statusSender
                    - required:
                        - statusReceiver
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/payments:
    get:
      operationId: get_payments_admin
      summary: (Admin) Retrieve list of payments matching the given filters.
      description: |
        Retrieve the list of payments, be them purchase or both way settlements. Every filter is optional, the wallet address included - when no wallet is given, payments of all wallets are returned.
      tags:
        - Admin
      parameters:
        - name: wallet
          in: query
          required: false
          description: Filter payments by the wallet address they are associated with, be it as the sender or the receiver.
          schema:
            type: string
        - name: isin
          in: query
          required: false
          description: Filter payments by ISIN (International Securities Identification Number) of the bond associated with the payment.
          example: US0378331005
          schema:
            type: string
        - name: issuanceName
          in: query
          required: false
          description: Filter payments by name of the bond issuance associated with the payment.
          example: Apple Inc. 2025 Bond Issuance
          schema:
            type: string
        - name: type
          in: query
          required: false
          description: Filter payments by type (purchase payment for buying bonds, settlement payment from the sender or settlement payment from the receiver). A payment is included if its type matches any of the given values.
          schema:
            type: array
            items:
              description: There are four different kinds of payments. SENDER/RECEIVER pair for bond purchase and the same for settlement.
              type: string
              example: PURCHASE_SENDER
              enum:
                - PURCHASE_SENDER
                - PURCHASE_RECEIVER
                - SETTLEMENT_SENDER_PRINCIPAL
                - SETTLEMENT_RECEIVER_PRINCIPAL
                - SETTLEMENT_SENDER_COUPON
                - SETTLEMENT_RECEIVER_COUPON
        - name: status
          in: query
          required: false
          description: Filter payments by status in the payment process. A payment is included if its status matches any of the given values. Accepts any status across all payment types (purchase, issuer settlement, buyer settlement).
          schema:
            type: array
            items:
              description: |
                Union of every status a payment can take across all payment types (bond purchase, issuer settlement, buyer settlement).
              type: string
              example: CREATED
              enum:
                - CREATED
                - BUYER_PAYMENT_AUTHORISED
                - BUYER_PAID
                - DEAL_PAID
                - SELLER_PAYMENT_AUTHORISED
                - SELLER_PAID
                - DEAL_SETTLED
                - UNABLE_TO_CREATE
                - UNABLE_TO_VALIDATE
                - AUTHORISED
                - RECEIVED
                - SENT
                - FAILED
        - name: amountFrom
          in: query
          required: false
          description: Filter payments by min amount.
          example: 1000
          schema:
            description: A number represented as a string with exactly two decimal places.
            type: string
            format: decimal
            nullable: false
            x-field-extra-annotation:
              - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
              - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
        - name: amountTo
          in: query
          required: false
          description: Filter payments by max amount.
          example: 1000
          schema:
            description: A number represented as a string with exactly two decimal places.
            type: string
            format: decimal
            nullable: false
            x-field-extra-annotation:
              - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
              - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
        - name: createdFrom
          in: query
          required: false
          description: Filter payments by creation date (date when payment was created in our system).
          example: '2023-12-31T23:59:59.000Z'
          schema:
            type: string
            format: date-time
        - name: createdTo
          in: query
          required: false
          description: Filter payments by creation date (date when payment was created in our system).
          example: '2023-12-31T23:59:59.000Z'
          schema:
            type: string
            format: date-time
        - name: sortBy
          in: query
          required: false
          description: Property to sort payments by.
          example: created
          schema:
            title: PaymentSortAttribute
            type: string
            enum:
              - created
              - amount
        - name: sortDirection
          in: query
          required: false
          description: Sort order
          schema:
            example: ASC
            description: Sort order which should be applied for the field.
            type: string
            enum:
              - ASC
              - DESC
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
      responses:
        '200':
          description: Detailed information about a Payment
          content:
            application/json:
              schema:
                type: array
                description: Current payments
                items:
                  description: Detailed information about a Payment enhanced by additional info
                  type: object
                  properties:
                    paymentDetail:
                      description: Detailed information about a Payment
                      type: object
                      properties:
                        paymentType:
                          description: There are four different kinds of payments. SENDER/RECEIVER pair for bond purchase and the same for settlement.
                          type: string
                          example: PURCHASE_SENDER
                          enum:
                            - PURCHASE_SENDER
                            - PURCHASE_RECEIVER
                            - SETTLEMENT_SENDER_PRINCIPAL
                            - SETTLEMENT_RECEIVER_PRINCIPAL
                            - SETTLEMENT_SENDER_COUPON
                            - SETTLEMENT_RECEIVER_COUPON
                        senderWalletAddress:
                          type: string
                        receiverWalletAddresses:
                          type: array
                          description: receiver payments array
                          items:
                            type: string
                        amount:
                          type: integer
                          format: int64
                          description: Number of bonds being purchased (bond count) for purchase payments. Zero for settlement payments.
                        price:
                          description: A number represented as a string with exactly two decimal places.
                          type: string
                          format: decimal
                          nullable: false
                          x-field-extra-annotation:
                            - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                            - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                        currency:
                          description: Name of european currency used
                          type: string
                          enum:
                            - EUR
                            - CZK
                            - BGN
                            - DKK
                            - HUF
                            - PLN
                            - RON
                            - SEK
                            - CHF
                        statusPurchase:
                          description: States of payment from the business flow perspective
                          type: string
                          example: CREATED
                          enum:
                            - CREATED
                            - BUYER_PAYMENT_AUTHORISED
                            - BUYER_PAID
                            - DEAL_PAID
                            - SELLER_PAYMENT_AUTHORISED
                            - SELLER_PAID
                            - DEAL_SETTLED
                            - UNABLE_TO_CREATE
                            - UNABLE_TO_VALIDATE
                        statusSender:
                          example: CREATED
                          description: State of the Buyer payment (SENT is from the point of view of payment provider).
                          type: string
                          enum:
                            - CREATED
                            - AUTHORISED
                            - SENT
                            - FAILED
                        statusReceiver:
                          example: AUTHORISED
                          description: State of the Issuer payment (RECEIVED is issuer payment by PSP, SENT corresponding buyer payments by PSP).
                          type: string
                          enum:
                            - CREATED
                            - AUTHORISED
                            - RECEIVED
                            - SENT
                            - FAILED
                        issuanceName:
                          type: string
                        isin:
                          type: string
                      required:
                        - paymentType
                        - walletAddress
                        - amount
                        - price
                        - currency
                        - status
                        - isin
                      oneOf:
                        - required:
                            - status
                        - required:
                            - statusSender
                        - required:
                            - statusReceiver
                    created:
                      type: string
                      format: date-time
                    activeAt:
                      type: string
                      format: date-time
                      nullable: true
                    dealId:
                      type: integer
                      format: int64
                      nullable: true
                    issuanceName:
                      type: string
                      nullable: true
                    senderPaymentReference:
                      type: integer
                      format: int64
                      nullable: true
                      description: Payment reference of the sender-side payment (purchase sender or issuer settlement)
                    receiverPaymentReference:
                      type: integer
                      format: int64
                      nullable: true
                      description: Payment reference of the receiver-side payment (purchase receiver or buyer settlement)
                  required:
                    - paymentDetail
                    - created
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/paydays/{isin}:
    get:
      operationId: get_bond_paydays_admin
      summary: (Admin) Retrieve all scheduled paydays (future payments) of a bond.
      description: Returns the list of paydays for the bond identified by the given ISIN, ordered by activeAt ascending. Empty list if the bond has no paydays.
      tags:
        - Admin
      parameters:
        - name: isin
          in: path
          required: true
          schema:
            type: string
            example: CZ0000000001
          description: ISIN identifying the bond whose paydays are requested
      responses:
        '200':
          description: List of the bond's paydays
          content:
            application/json:
              schema:
                type: array
                items:
                  description: A single scheduled (future or processed) payment of a bond.
                  type: object
                  required:
                    - isin
                    - activeAt
                    - paymentType
                    - couponRate
                    - currency
                    - status
                  properties:
                    isin:
                      type: string
                      example: CZ0000000001
                    activeAt:
                      type: string
                      format: date-time
                      description: The date on which processing of this payday starts.
                    paymentType:
                      description: Type of a scheduled bond payment (payday).
                      type: string
                      example: COUPON
                      enum:
                        - COUPON
                        - PRINCIPAL
                    couponRate:
                      type: number
                      description: Interest rate for this payday in basis points (500 = 5% PA). Zero for PRINCIPAL.
                      example: 500
                    currency:
                      description: Name of european currency used
                      type: string
                      enum:
                        - EUR
                        - CZK
                        - BGN
                        - DKK
                        - HUF
                        - PLN
                        - RON
                        - SEK
                        - CHF
                    status:
                      description: Processing status of a payday.
                      type: string
                      example: PENDING
                      enum:
                        - PENDING
                        - NO_OWNERS
                        - PAYMENTS_CREATED
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/payments/{paymentReference}:
    get:
      operationId: get_payment
      summary: Retrieve payment information by its market deal id.
      description: Retrieve payment information by its payment reference assigned by PSP
      tags:
        - Payment
      parameters:
        - name: paymentReference
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: Payment reference generated by PSP for each individual payment
      responses:
        '200':
          description: Detailed information about a Payment
          content:
            application/json:
              schema:
                description: Detailed information about a Payment
                type: object
                properties:
                  paymentType:
                    description: There are four different kinds of payments. SENDER/RECEIVER pair for bond purchase and the same for settlement.
                    type: string
                    example: PURCHASE_SENDER
                    enum:
                      - PURCHASE_SENDER
                      - PURCHASE_RECEIVER
                      - SETTLEMENT_SENDER_PRINCIPAL
                      - SETTLEMENT_RECEIVER_PRINCIPAL
                      - SETTLEMENT_SENDER_COUPON
                      - SETTLEMENT_RECEIVER_COUPON
                  senderWalletAddress:
                    type: string
                  receiverWalletAddresses:
                    type: array
                    description: receiver payments array
                    items:
                      type: string
                  amount:
                    type: integer
                    format: int64
                    description: Number of bonds being purchased (bond count) for purchase payments. Zero for settlement payments.
                  price:
                    description: A number represented as a string with exactly two decimal places.
                    type: string
                    format: decimal
                    nullable: false
                    x-field-extra-annotation:
                      - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                      - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                  currency:
                    description: Name of european currency used
                    type: string
                    enum:
                      - EUR
                      - CZK
                      - BGN
                      - DKK
                      - HUF
                      - PLN
                      - RON
                      - SEK
                      - CHF
                  statusPurchase:
                    description: States of payment from the business flow perspective
                    type: string
                    example: CREATED
                    enum:
                      - CREATED
                      - BUYER_PAYMENT_AUTHORISED
                      - BUYER_PAID
                      - DEAL_PAID
                      - SELLER_PAYMENT_AUTHORISED
                      - SELLER_PAID
                      - DEAL_SETTLED
                      - UNABLE_TO_CREATE
                      - UNABLE_TO_VALIDATE
                  statusSender:
                    example: CREATED
                    description: State of the Buyer payment (SENT is from the point of view of payment provider).
                    type: string
                    enum:
                      - CREATED
                      - AUTHORISED
                      - SENT
                      - FAILED
                  statusReceiver:
                    example: AUTHORISED
                    description: State of the Issuer payment (RECEIVED is issuer payment by PSP, SENT corresponding buyer payments by PSP).
                    type: string
                    enum:
                      - CREATED
                      - AUTHORISED
                      - RECEIVED
                      - SENT
                      - FAILED
                  issuanceName:
                    type: string
                  isin:
                    type: string
                required:
                  - paymentType
                  - walletAddress
                  - amount
                  - price
                  - currency
                  - status
                  - isin
                oneOf:
                  - required:
                      - status
                  - required:
                      - statusSender
                  - required:
                      - statusReceiver
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/payments/{paymentReference}/statusHistory:
    get:
      operationId: get_payment_status_history
      summary: Retrieve the list of status changes for a payment.
      description: |
        Returns every recorded status change of the payment identified by the given payment reference, ordered by the time of the change. Works for purchase, issuer settlement and buyer settlement payments.
      tags:
        - Payment
      parameters:
        - name: paymentReference
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: Payment reference generated by PSP for each individual payment
        - name: order
          in: query
          required: false
          description: Ordering of the returned status changes by change datetime. Defaults to ascending.
          schema:
            example: ASC
            description: Sort order which should be applied for the field.
            type: string
            enum:
              - ASC
              - DESC
        - name: state
          in: query
          required: false
          description: Filter the result to only the given states.
          schema:
            type: array
            items:
              description: |
                Union of every status a payment can take across all payment types (bond purchase, issuer settlement, buyer settlement).
              type: string
              example: CREATED
              enum:
                - CREATED
                - BUYER_PAYMENT_AUTHORISED
                - BUYER_PAID
                - DEAL_PAID
                - SELLER_PAYMENT_AUTHORISED
                - SELLER_PAID
                - DEAL_SETTLED
                - UNABLE_TO_CREATE
                - UNABLE_TO_VALIDATE
                - AUTHORISED
                - RECEIVED
                - SENT
                - FAILED
      responses:
        '200':
          description: Ordered list of status changes for the payment.
          content:
            application/json:
              schema:
                type: array
                description: Status changes of the payment.
                items:
                  description: A single status transition of a payment.
                  type: object
                  properties:
                    changed:
                      type: string
                      format: date-time
                      description: When the payment changed to this state.
                    state:
                      description: |
                        Union of every status a payment can take across all payment types (bond purchase, issuer settlement, buyer settlement).
                      type: string
                      example: CREATED
                      enum:
                        - CREATED
                        - BUYER_PAYMENT_AUTHORISED
                        - BUYER_PAID
                        - DEAL_PAID
                        - SELLER_PAYMENT_AUTHORISED
                        - SELLER_PAID
                        - DEAL_SETTLED
                        - UNABLE_TO_CREATE
                        - UNABLE_TO_VALIDATE
                        - AUTHORISED
                        - RECEIVED
                        - SENT
                        - FAILED
                  required:
                    - changed
                    - state
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/payments/deal/{dealId}:
    get:
      operationId: get_payment_by_deal_id
      summary: Retrieve the bond purchase payment associated with a deal id.
      description: Retrieve the bond purchase payment for the given on-chain deal id. Provided for backward compatibility.
      tags:
        - Payment
      parameters:
        - name: dealId
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: Unique on chain identifier of a deal (bond transaction).
      responses:
        '200':
          description: Payment associated with the deal
          content:
            application/json:
              schema:
                description: Detailed information about a Payment enhanced by additional info
                type: object
                properties:
                  paymentDetail:
                    description: Detailed information about a Payment
                    type: object
                    properties:
                      paymentType:
                        description: There are four different kinds of payments. SENDER/RECEIVER pair for bond purchase and the same for settlement.
                        type: string
                        example: PURCHASE_SENDER
                        enum:
                          - PURCHASE_SENDER
                          - PURCHASE_RECEIVER
                          - SETTLEMENT_SENDER_PRINCIPAL
                          - SETTLEMENT_RECEIVER_PRINCIPAL
                          - SETTLEMENT_SENDER_COUPON
                          - SETTLEMENT_RECEIVER_COUPON
                      senderWalletAddress:
                        type: string
                      receiverWalletAddresses:
                        type: array
                        description: receiver payments array
                        items:
                          type: string
                      amount:
                        type: integer
                        format: int64
                        description: Number of bonds being purchased (bond count) for purchase payments. Zero for settlement payments.
                      price:
                        description: A number represented as a string with exactly two decimal places.
                        type: string
                        format: decimal
                        nullable: false
                        x-field-extra-annotation:
                          - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                          - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                      currency:
                        description: Name of european currency used
                        type: string
                        enum:
                          - EUR
                          - CZK
                          - BGN
                          - DKK
                          - HUF
                          - PLN
                          - RON
                          - SEK
                          - CHF
                      statusPurchase:
                        description: States of payment from the business flow perspective
                        type: string
                        example: CREATED
                        enum:
                          - CREATED
                          - BUYER_PAYMENT_AUTHORISED
                          - BUYER_PAID
                          - DEAL_PAID
                          - SELLER_PAYMENT_AUTHORISED
                          - SELLER_PAID
                          - DEAL_SETTLED
                          - UNABLE_TO_CREATE
                          - UNABLE_TO_VALIDATE
                      statusSender:
                        example: CREATED
                        description: State of the Buyer payment (SENT is from the point of view of payment provider).
                        type: string
                        enum:
                          - CREATED
                          - AUTHORISED
                          - SENT
                          - FAILED
                      statusReceiver:
                        example: AUTHORISED
                        description: State of the Issuer payment (RECEIVED is issuer payment by PSP, SENT corresponding buyer payments by PSP).
                        type: string
                        enum:
                          - CREATED
                          - AUTHORISED
                          - RECEIVED
                          - SENT
                          - FAILED
                      issuanceName:
                        type: string
                      isin:
                        type: string
                    required:
                      - paymentType
                      - walletAddress
                      - amount
                      - price
                      - currency
                      - status
                      - isin
                    oneOf:
                      - required:
                          - status
                      - required:
                          - statusSender
                      - required:
                          - statusReceiver
                  created:
                    type: string
                    format: date-time
                  activeAt:
                    type: string
                    format: date-time
                    nullable: true
                  dealId:
                    type: integer
                    format: int64
                    nullable: true
                  issuanceName:
                    type: string
                    nullable: true
                  senderPaymentReference:
                    type: integer
                    format: int64
                    nullable: true
                    description: Payment reference of the sender-side payment (purchase sender or issuer settlement)
                  receiverPaymentReference:
                    type: integer
                    format: int64
                    nullable: true
                    description: Payment reference of the receiver-side payment (purchase receiver or buyer settlement)
                required:
                  - paymentDetail
                  - created
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/payments/wallet/{wallet}:
    get:
      operationId: get_by_wallet
      summary: Retrieve list of all payments associated with given wallet address
      description: Retrieve list of all payments associated with given wallet address, be them purchase or both way settlements
      tags:
        - Payment
      parameters:
        - name: wallet
          in: query
          required: true
          schema:
            type: string
          description: Wallet address to retrieve payment information for
        - name: isin
          in: query
          required: false
          description: Filter payments by ISIN (International Securities Identification Number) of the bond associated with the payment.
          example: US0378331005
          schema:
            type: string
        - name: issuanceName
          in: query
          required: false
          description: Filter payments by name of the bond issuance associated with the payment.
          example: Apple Inc. 2025 Bond Issuance
          schema:
            type: string
        - name: type
          in: query
          required: false
          description: Filter payments by type (purchase payment for buying bonds, settlement payment from the sender or settlement payment from the receiver). A payment is included if its type matches any of the given values.
          schema:
            type: array
            items:
              description: There are four different kinds of payments. SENDER/RECEIVER pair for bond purchase and the same for settlement.
              type: string
              example: PURCHASE_SENDER
              enum:
                - PURCHASE_SENDER
                - PURCHASE_RECEIVER
                - SETTLEMENT_SENDER_PRINCIPAL
                - SETTLEMENT_RECEIVER_PRINCIPAL
                - SETTLEMENT_SENDER_COUPON
                - SETTLEMENT_RECEIVER_COUPON
        - name: status
          in: query
          required: false
          description: Filter payments by status in the payment process. A payment is included if its status matches any of the given values. Accepts any status across all payment types (purchase, issuer settlement, buyer settlement).
          schema:
            type: array
            items:
              description: |
                Union of every status a payment can take across all payment types (bond purchase, issuer settlement, buyer settlement).
              type: string
              example: CREATED
              enum:
                - CREATED
                - BUYER_PAYMENT_AUTHORISED
                - BUYER_PAID
                - DEAL_PAID
                - SELLER_PAYMENT_AUTHORISED
                - SELLER_PAID
                - DEAL_SETTLED
                - UNABLE_TO_CREATE
                - UNABLE_TO_VALIDATE
                - AUTHORISED
                - RECEIVED
                - SENT
                - FAILED
        - name: amountFrom
          in: query
          required: false
          description: Filter payments by min amount.
          example: 1000
          schema:
            description: A number represented as a string with exactly two decimal places.
            type: string
            format: decimal
            nullable: false
            x-field-extra-annotation:
              - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
              - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
        - name: amountTo
          in: query
          required: false
          description: Filter payments by max amount.
          example: 1000
          schema:
            description: A number represented as a string with exactly two decimal places.
            type: string
            format: decimal
            nullable: false
            x-field-extra-annotation:
              - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
              - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
        - name: createdFrom
          in: query
          required: false
          description: Filter payments by creation date (date when payment was created in our system).
          example: '2023-12-31T23:59:59.000Z'
          schema:
            type: string
            format: date-time
        - name: createdTo
          in: query
          required: false
          description: Filter payments by creation date (date when payment was created in our system).
          example: '2023-12-31T23:59:59.000Z'
          schema:
            type: string
            format: date-time
        - name: sortBy
          in: query
          required: false
          description: Property to sort payments by.
          example: created
          schema:
            title: PaymentSortAttribute
            type: string
            enum:
              - created
              - amount
        - name: sortDirection
          in: query
          required: false
          description: Sort order
          schema:
            example: ASC
            description: Sort order which should be applied for the field.
            type: string
            enum:
              - ASC
              - DESC
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
      responses:
        '200':
          description: Detailed information about a Payment
          content:
            application/json:
              schema:
                type: array
                description: Current payments
                items:
                  description: Detailed information about a Payment enhanced by additional info
                  type: object
                  properties:
                    paymentDetail:
                      description: Detailed information about a Payment
                      type: object
                      properties:
                        paymentType:
                          description: There are four different kinds of payments. SENDER/RECEIVER pair for bond purchase and the same for settlement.
                          type: string
                          example: PURCHASE_SENDER
                          enum:
                            - PURCHASE_SENDER
                            - PURCHASE_RECEIVER
                            - SETTLEMENT_SENDER_PRINCIPAL
                            - SETTLEMENT_RECEIVER_PRINCIPAL
                            - SETTLEMENT_SENDER_COUPON
                            - SETTLEMENT_RECEIVER_COUPON
                        senderWalletAddress:
                          type: string
                        receiverWalletAddresses:
                          type: array
                          description: receiver payments array
                          items:
                            type: string
                        amount:
                          type: integer
                          format: int64
                          description: Number of bonds being purchased (bond count) for purchase payments. Zero for settlement payments.
                        price:
                          description: A number represented as a string with exactly two decimal places.
                          type: string
                          format: decimal
                          nullable: false
                          x-field-extra-annotation:
                            - '@Digits(message = "Value must have at most {integer} digits and at most {fraction} digits after decimal point", integer = 24, fraction = 2)'
                            - '@DecimalMin(message = "Provided value must be at least {value}" , value = "0.01", inclusive = true)'
                        currency:
                          description: Name of european currency used
                          type: string
                          enum:
                            - EUR
                            - CZK
                            - BGN
                            - DKK
                            - HUF
                            - PLN
                            - RON
                            - SEK
                            - CHF
                        statusPurchase:
                          description: States of payment from the business flow perspective
                          type: string
                          example: CREATED
                          enum:
                            - CREATED
                            - BUYER_PAYMENT_AUTHORISED
                            - BUYER_PAID
                            - DEAL_PAID
                            - SELLER_PAYMENT_AUTHORISED
                            - SELLER_PAID
                            - DEAL_SETTLED
                            - UNABLE_TO_CREATE
                            - UNABLE_TO_VALIDATE
                        statusSender:
                          example: CREATED
                          description: State of the Buyer payment (SENT is from the point of view of payment provider).
                          type: string
                          enum:
                            - CREATED
                            - AUTHORISED
                            - SENT
                            - FAILED
                        statusReceiver:
                          example: AUTHORISED
                          description: State of the Issuer payment (RECEIVED is issuer payment by PSP, SENT corresponding buyer payments by PSP).
                          type: string
                          enum:
                            - CREATED
                            - AUTHORISED
                            - RECEIVED
                            - SENT
                            - FAILED
                        issuanceName:
                          type: string
                        isin:
                          type: string
                      required:
                        - paymentType
                        - walletAddress
                        - amount
                        - price
                        - currency
                        - status
                        - isin
                      oneOf:
                        - required:
                            - status
                        - required:
                            - statusSender
                        - required:
                            - statusReceiver
                    created:
                      type: string
                      format: date-time
                    activeAt:
                      type: string
                      format: date-time
                      nullable: true
                    dealId:
                      type: integer
                      format: int64
                      nullable: true
                    issuanceName:
                      type: string
                      nullable: true
                    senderPaymentReference:
                      type: integer
                      format: int64
                      nullable: true
                      description: Payment reference of the sender-side payment (purchase sender or issuer settlement)
                    receiverPaymentReference:
                      type: integer
                      format: int64
                      nullable: true
                      description: Payment reference of the receiver-side payment (purchase receiver or buyer settlement)
                  required:
                    - paymentDetail
                    - created
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/bonds/{isin}/paydays:
    get:
      operationId: get_bond_paydays
      summary: Retrieve all scheduled paydays (future payments) of a bond.
      description: Returns the list of paydays for the bond identified by the given ISIN, ordered by activeAt ascending. Empty list if the bond has no paydays.
      tags:
        - Payment
      parameters:
        - name: isin
          in: path
          required: true
          schema:
            type: string
            example: CZ0000000001
          description: ISIN identifying the bond whose paydays are requested
      responses:
        '200':
          description: List of the bond's paydays
          content:
            application/json:
              schema:
                type: array
                items:
                  description: A single scheduled (future or processed) payment of a bond.
                  type: object
                  required:
                    - isin
                    - activeAt
                    - paymentType
                    - couponRate
                    - currency
                    - status
                  properties:
                    isin:
                      type: string
                      example: CZ0000000001
                    activeAt:
                      type: string
                      format: date-time
                      description: The date on which processing of this payday starts.
                    paymentType:
                      description: Type of a scheduled bond payment (payday).
                      type: string
                      example: COUPON
                      enum:
                        - COUPON
                        - PRINCIPAL
                    couponRate:
                      type: number
                      description: Interest rate for this payday in basis points (500 = 5% PA). Zero for PRINCIPAL.
                      example: 500
                    currency:
                      description: Name of european currency used
                      type: string
                      enum:
                        - EUR
                        - CZK
                        - BGN
                        - DKK
                        - HUF
                        - PLN
                        - RON
                        - SEK
                        - CHF
                    status:
                      description: Processing status of a payday.
                      type: string
                      example: PENDING
                      enum:
                        - PENDING
                        - NO_OWNERS
                        - PAYMENTS_CREATED
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/payments/{paymentReference}/received:
    patch:
      operationId: payment_received
      description: Called when the Payment provider receives payment from a sender or in case of failure. States are differentiated by the 'state' field in body.
      tags:
        - PaymentProviderExternal
      parameters:
        - name: paymentReference
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: Payment reference generated by PSP for each individual payment
        - name: Authorization
          in: header
          required: true
          description: Basic authentication header
          schema:
            type: string
            example: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
      requestBody:
        required: true
        x-codegen-request-body-name: updateRequest
        content:
          application/json:
            schema:
              type: object
              properties:
                state:
                  description: |
                    Requested new state of the payment.
                    - RECEIVED
                    - FAILED
                  type: string
                  example: RECEIVED
                  enum:
                    - RECEIVED
                    - FAILED
              required:
                - state
      responses:
        '204':
          description: Processed successfully
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /system/payments/sent:
    patch:
      operationId: payments_sent
      description: Called when Payment service provider dislocates money previously sent by sender to receiver(s)
      tags:
        - PaymentProviderExternal
      parameters:
        - name: Authorization
          in: header
          required: true
          description: Basic authentication header
          schema:
            type: string
            example: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
      requestBody:
        required: true
        x-codegen-request-body-name: updateRequest
        content:
          application/json:
            schema:
              type: array
              description: One or more sent payments
              items:
                type: object
                properties:
                  state:
                    description: |
                      Requested new state of the payment.
                      - SENT
                      - FAILED
                    type: string
                    example: SENT
                    enum:
                      - SENT
                      - FAILED
                  payment_reference:
                    type: integer
                    format: int64
                    description: Payment reference generated by PSP for each individual payment
                required:
                  - state
                  - payment_reference
      responses:
        '204':
          description: Processed successfully
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners:
    post:
      operationId: create_partner
      summary: Create a new partner
      description: |
        Creates a new partner record. Each partner must have at least one of
        `broker_profile`, `psp_profile` or `guarantor_profile` populated. The newly
        created partner is always in `DRAFT` status.
      tags:
        - Partners
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: |
                Payload to create a new partner. At least one role must be selected in
                `roles`; an empty child profile record is created for each selected role.
                The new partner is always created in `DRAFT` status.
              properties:
                legal_name:
                  type: string
                  maxLength: 256
                  x-field-extra-annotation: '@NotBlank'
                contact_email:
                  type: string
                  maxLength: 256
                  x-field-extra-annotation: '@NotBlank @jakarta.validation.constraints.Email'
                country_code:
                  description: Countries in EU
                  example: CZ
                  type: string
                  enum:
                    - AL
                    - AD
                    - AT
                    - AZ
                    - BY
                    - BE
                    - BA
                    - BG
                    - HR
                    - CY
                    - CZ
                    - DK
                    - EE
                    - FI
                    - FR
                    - GE
                    - DE
                    - GR
                    - HU
                    - IS
                    - IE
                    - IT
                    - KZ
                    - XK
                    - LV
                    - LI
                    - LT
                    - LU
                    - MK
                    - MT
                    - MD
                    - MC
                    - ME
                    - NL
                    - 'NO'
                    - PL
                    - PT
                    - RO
                    - RU
                    - SM
                    - RS
                    - SK
                    - SI
                    - ES
                    - SE
                    - CH
                    - TR
                    - UA
                    - GB
                    - VA
                business_id:
                  type: string
                  maxLength: 256
                  x-field-extra-annotation: '@NotBlank'
                legal_entity_id:
                  type: string
                  maxLength: 256
                  x-field-extra-annotation: '@NotBlank'
                gemi:
                  type: string
                  maxLength: 256
                  x-field-extra-annotation: '@NotBlank'
                roles:
                  type: array
                  description: One or more roles the partner fulfils. Must contain at least one entry.
                  minItems: 1
                  uniqueItems: true
                  items:
                    type: string
                    description: Role a partner can fulfil. Each role maps to a child profile record.
                    enum:
                      - BROKER
                      - PSP
                      - GUARANTOR
              required:
                - legal_name
                - contact_email
                - country_code
                - business_id
                - legal_entity_id
                - gemi
                - roles
      responses:
        '201':
          description: Partner created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  legal_name:
                    type: string
                  contact_email:
                    type: string
                  country_code:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  business_id:
                    type: string
                  legal_entity_id:
                    type: string
                  gemi:
                    type: string
                  iban:
                    type: string
                    maxLength: 34
                    nullable: true
                    description: International Bank Account Number of the partner.
                  status:
                    type: string
                    description: Lifecycle status of a partner.
                    enum:
                      - DRAFT
                      - REVIEW_REQUESTED
                      - ACTIVE
                      - INACTIVE
                  broker_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      ebsi_verifiable_credential:
                        type: object
                        additionalProperties: true
                        nullable: true
                      ebsi_digital_identifier:
                        type: string
                        nullable: true
                      eoa_public_key:
                        type: string
                        nullable: true
                    required:
                      - id
                  psp_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  guarantor_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  created:
                    type: string
                    format: date-time
                  last_edit:
                    type: string
                    format: date-time
                    description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                required:
                  - id
                  - legal_name
                  - contact_email
                  - country_code
                  - business_id
                  - legal_entity_id
                  - gemi
                  - status
                  - created
                  - last_edit
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    get:
      operationId: list_partners
      summary: List partners with optional filters
      description: Returns a paged list of partners filtered by the given criteria.
      tags:
        - Partners
      parameters:
        - name: page
          in: query
          description: Sets which page should be returned
          required: true
          example: 0
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - in: query
          name: pageSize
          description: Sets the page size/number of returned elements
          required: true
          example: 25
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
        - name: legal_name
          in: query
          required: false
          description: Partial, case-insensitive match against the partner's legal name.
          schema:
            type: string
        - name: contact_email
          in: query
          required: false
          description: Partial, case-insensitive match against the partner's contact email.
          schema:
            type: string
        - name: business_id
          in: query
          required: false
          description: Exact match against the partner's business id.
          schema:
            type: string
        - name: legal_entity_id
          in: query
          required: false
          description: Exact match against the partner's legal entity id.
          schema:
            type: string
        - name: gemi
          in: query
          required: false
          description: Exact match against the partner's GEMI number.
          schema:
            type: string
        - name: country_code
          in: query
          required: false
          description: Filter by the partner's ISO 3166-1 alpha-2 country code (e.g. CZ).
          schema:
            type: string
        - name: role
          in: query
          required: false
          description: Only return partners that fulfil the given role.
          schema:
            type: string
            description: Role a partner can fulfil. Each role maps to a child profile record.
            enum:
              - BROKER
              - PSP
              - GUARANTOR
        - name: status
          in: query
          required: false
          description: Filter by partner lifecycle status.
          schema:
            type: string
            description: Lifecycle status of a partner.
            enum:
              - DRAFT
              - REVIEW_REQUESTED
              - ACTIVE
              - INACTIVE
      responses:
        '200':
          description: Paged list of partners.
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                        format: int64
                        description: Total count of results which can be returned for API call with current settings
                        example: 100
                      page:
                        type: integer
                        format: int32
                        description: Page for which results are returned
                        example: 0
                    required:
                      - count
                      - page
                  - properties:
                      partners:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                            legal_name:
                              type: string
                            contact_email:
                              type: string
                            country_code:
                              description: Countries in EU
                              example: CZ
                              type: string
                              enum:
                                - AL
                                - AD
                                - AT
                                - AZ
                                - BY
                                - BE
                                - BA
                                - BG
                                - HR
                                - CY
                                - CZ
                                - DK
                                - EE
                                - FI
                                - FR
                                - GE
                                - DE
                                - GR
                                - HU
                                - IS
                                - IE
                                - IT
                                - KZ
                                - XK
                                - LV
                                - LI
                                - LT
                                - LU
                                - MK
                                - MT
                                - MD
                                - MC
                                - ME
                                - NL
                                - 'NO'
                                - PL
                                - PT
                                - RO
                                - RU
                                - SM
                                - RS
                                - SK
                                - SI
                                - ES
                                - SE
                                - CH
                                - TR
                                - UA
                                - GB
                                - VA
                            business_id:
                              type: string
                            legal_entity_id:
                              type: string
                            gemi:
                              type: string
                            iban:
                              type: string
                              maxLength: 34
                              nullable: true
                              description: International Bank Account Number of the partner.
                            status:
                              type: string
                              description: Lifecycle status of a partner.
                              enum:
                                - DRAFT
                                - REVIEW_REQUESTED
                                - ACTIVE
                                - INACTIVE
                            broker_profile:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                ebsi_verifiable_credential:
                                  type: object
                                  additionalProperties: true
                                  nullable: true
                                ebsi_digital_identifier:
                                  type: string
                                  nullable: true
                                eoa_public_key:
                                  type: string
                                  nullable: true
                              required:
                                - id
                            psp_profile:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                              required:
                                - id
                            guarantor_profile:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                              required:
                                - id
                            created:
                              type: string
                              format: date-time
                            last_edit:
                              type: string
                              format: date-time
                              description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                          required:
                            - id
                            - legal_name
                            - contact_email
                            - country_code
                            - business_id
                            - legal_entity_id
                            - gemi
                            - status
                            - created
                            - last_edit
                    required:
                      - partners
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
    get:
      operationId: get_partner
      summary: Get partner by id
      tags:
        - Partners
      responses:
        '200':
          description: Partner detail.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  legal_name:
                    type: string
                  contact_email:
                    type: string
                  country_code:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  business_id:
                    type: string
                  legal_entity_id:
                    type: string
                  gemi:
                    type: string
                  iban:
                    type: string
                    maxLength: 34
                    nullable: true
                    description: International Bank Account Number of the partner.
                  status:
                    type: string
                    description: Lifecycle status of a partner.
                    enum:
                      - DRAFT
                      - REVIEW_REQUESTED
                      - ACTIVE
                      - INACTIVE
                  broker_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      ebsi_verifiable_credential:
                        type: object
                        additionalProperties: true
                        nullable: true
                      ebsi_digital_identifier:
                        type: string
                        nullable: true
                      eoa_public_key:
                        type: string
                        nullable: true
                    required:
                      - id
                  psp_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  guarantor_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  created:
                    type: string
                    format: date-time
                  last_edit:
                    type: string
                    format: date-time
                    description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                required:
                  - id
                  - legal_name
                  - contact_email
                  - country_code
                  - business_id
                  - legal_entity_id
                  - gemi
                  - status
                  - created
                  - last_edit
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    patch:
      operationId: update_partner
      summary: Update partner attributes (except status)
      description: |
        Partially updates a partner. Only fields present in the request body are
        applied. The partner's `status`, `created` and `last_edit` fields cannot
        be updated through this endpoint - use the dedicated status endpoint for
        status changes. `last_edit` is set automatically on every successful
        update.
      tags:
        - Partners
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: |
                Partial update of an existing partner. Only fields present in the
                payload are applied. Status, created and last_edit are immutable here.
              properties:
                legal_name:
                  type: string
                  maxLength: 256
                contact_email:
                  type: string
                  maxLength: 256
                  x-field-extra-annotation: '@jakarta.validation.constraints.Email'
                country_code:
                  description: Countries in EU
                  example: CZ
                  type: string
                  enum:
                    - AL
                    - AD
                    - AT
                    - AZ
                    - BY
                    - BE
                    - BA
                    - BG
                    - HR
                    - CY
                    - CZ
                    - DK
                    - EE
                    - FI
                    - FR
                    - GE
                    - DE
                    - GR
                    - HU
                    - IS
                    - IE
                    - IT
                    - KZ
                    - XK
                    - LV
                    - LI
                    - LT
                    - LU
                    - MK
                    - MT
                    - MD
                    - MC
                    - ME
                    - NL
                    - 'NO'
                    - PL
                    - PT
                    - RO
                    - RU
                    - SM
                    - RS
                    - SK
                    - SI
                    - ES
                    - SE
                    - CH
                    - TR
                    - UA
                    - GB
                    - VA
                business_id:
                  type: string
                  maxLength: 256
                legal_entity_id:
                  type: string
                  maxLength: 256
                gemi:
                  type: string
                  maxLength: 256
                iban:
                  type: string
                  maxLength: 34
                  description: International Bank Account Number of the partner.
      responses:
        '200':
          description: Partner updated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  legal_name:
                    type: string
                  contact_email:
                    type: string
                  country_code:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  business_id:
                    type: string
                  legal_entity_id:
                    type: string
                  gemi:
                    type: string
                  iban:
                    type: string
                    maxLength: 34
                    nullable: true
                    description: International Bank Account Number of the partner.
                  status:
                    type: string
                    description: Lifecycle status of a partner.
                    enum:
                      - DRAFT
                      - REVIEW_REQUESTED
                      - ACTIVE
                      - INACTIVE
                  broker_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      ebsi_verifiable_credential:
                        type: object
                        additionalProperties: true
                        nullable: true
                      ebsi_digital_identifier:
                        type: string
                        nullable: true
                      eoa_public_key:
                        type: string
                        nullable: true
                    required:
                      - id
                  psp_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  guarantor_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  created:
                    type: string
                    format: date-time
                  last_edit:
                    type: string
                    format: date-time
                    description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                required:
                  - id
                  - legal_name
                  - contact_email
                  - country_code
                  - business_id
                  - legal_entity_id
                  - gemi
                  - status
                  - created
                  - last_edit
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: delete_partner
      summary: Delete a partner
      description: |
        Deletes a partner along with all its profiles, status history and
        certificates. Deletion is only allowed when the partner is in the
        `DRAFT` status; deleting partners in any other state returns 409.
      tags:
        - Partners
      responses:
        '204':
          description: Partner deleted.
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}/roles/{role}:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
      - name: role
        in: path
        required: true
        description: Role held by a partner.
        schema:
          type: string
          description: Role a partner can fulfil. Each role maps to a child profile record.
          enum:
            - BROKER
            - PSP
            - GUARANTOR
    post:
      operationId: add_partner_role
      summary: Add a role to a partner
      description: |
        Adds the role to the partner by creating the matching profile record
        (`broker_details`, `psp_details` or `guarantor_details`). A partner holds
        at most one record per role. Roles may only be changed while the partner
        is in `DRAFT`; any other status returns 409, as does adding a role the
        partner already holds. Adding `BROKER` also gives the partner an active
        platform fee schedule copied from the default template.
      tags:
        - Partners
      responses:
        '200':
          description: Role added.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  legal_name:
                    type: string
                  contact_email:
                    type: string
                  country_code:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  business_id:
                    type: string
                  legal_entity_id:
                    type: string
                  gemi:
                    type: string
                  iban:
                    type: string
                    maxLength: 34
                    nullable: true
                    description: International Bank Account Number of the partner.
                  status:
                    type: string
                    description: Lifecycle status of a partner.
                    enum:
                      - DRAFT
                      - REVIEW_REQUESTED
                      - ACTIVE
                      - INACTIVE
                  broker_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      ebsi_verifiable_credential:
                        type: object
                        additionalProperties: true
                        nullable: true
                      ebsi_digital_identifier:
                        type: string
                        nullable: true
                      eoa_public_key:
                        type: string
                        nullable: true
                    required:
                      - id
                  psp_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  guarantor_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  created:
                    type: string
                    format: date-time
                  last_edit:
                    type: string
                    format: date-time
                    description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                required:
                  - id
                  - legal_name
                  - contact_email
                  - country_code
                  - business_id
                  - legal_entity_id
                  - gemi
                  - status
                  - created
                  - last_edit
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    delete:
      operationId: remove_partner_role
      summary: Remove a role from a partner
      description: |
        Removes the role from the partner by deleting the matching profile
        record. Roles may only be changed while the partner is in `DRAFT`; any
        other status returns 409, as does removing a role the partner does not
        hold or removing its only remaining role. Removing `BROKER` also removes
        the partner's platform fee schedules.
      tags:
        - Partners
      responses:
        '200':
          description: Role removed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  legal_name:
                    type: string
                  contact_email:
                    type: string
                  country_code:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  business_id:
                    type: string
                  legal_entity_id:
                    type: string
                  gemi:
                    type: string
                  iban:
                    type: string
                    maxLength: 34
                    nullable: true
                    description: International Bank Account Number of the partner.
                  status:
                    type: string
                    description: Lifecycle status of a partner.
                    enum:
                      - DRAFT
                      - REVIEW_REQUESTED
                      - ACTIVE
                      - INACTIVE
                  broker_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      ebsi_verifiable_credential:
                        type: object
                        additionalProperties: true
                        nullable: true
                      ebsi_digital_identifier:
                        type: string
                        nullable: true
                      eoa_public_key:
                        type: string
                        nullable: true
                    required:
                      - id
                  psp_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  guarantor_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  created:
                    type: string
                    format: date-time
                  last_edit:
                    type: string
                    format: date-time
                    description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                required:
                  - id
                  - legal_name
                  - contact_email
                  - country_code
                  - business_id
                  - legal_entity_id
                  - gemi
                  - status
                  - created
                  - last_edit
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}/request-review:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
    post:
      operationId: request_partner_review
      summary: Submit a partner for review
      description: |
        Transitions the partner from `DRAFT` to `REVIEW_REQUESTED`. Any other
        source status returns 409. A row describing the transition is appended to
        `partner_status_history` capturing the authenticated user that performed
        the change.
      tags:
        - Partners
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: |
                Optional body of a lifecycle transition. The target status is implied by the
                endpoint, so only the reason can be supplied.
              properties:
                reason:
                  type: string
                  description: Optional free-form description of why the status was changed.
                  maxLength: 4096
      responses:
        '200':
          description: Review requested.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  legal_name:
                    type: string
                  contact_email:
                    type: string
                  country_code:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  business_id:
                    type: string
                  legal_entity_id:
                    type: string
                  gemi:
                    type: string
                  iban:
                    type: string
                    maxLength: 34
                    nullable: true
                    description: International Bank Account Number of the partner.
                  status:
                    type: string
                    description: Lifecycle status of a partner.
                    enum:
                      - DRAFT
                      - REVIEW_REQUESTED
                      - ACTIVE
                      - INACTIVE
                  broker_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      ebsi_verifiable_credential:
                        type: object
                        additionalProperties: true
                        nullable: true
                      ebsi_digital_identifier:
                        type: string
                        nullable: true
                      eoa_public_key:
                        type: string
                        nullable: true
                    required:
                      - id
                  psp_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  guarantor_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  created:
                    type: string
                    format: date-time
                  last_edit:
                    type: string
                    format: date-time
                    description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                required:
                  - id
                  - legal_name
                  - contact_email
                  - country_code
                  - business_id
                  - legal_entity_id
                  - gemi
                  - status
                  - created
                  - last_edit
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}/activate:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
    post:
      operationId: activate_partner
      summary: Activate a partner
      description: |
        Accepts an activation of the partner from `REVIEW_REQUESTED` to `ACTIVE`;
        any other source status returns 409.

        For a partner holding the `BROKER` role the on-chain registration in the
        `EntityRegistry` contract runs asynchronously: the response carries an
        `operation_id` and the partner stays `REVIEW_REQUESTED` until a background
        job registers it on-chain (recorded in `chain_operations`) and then flips
        it to `ACTIVE` — so it is never `ACTIVE` off-chain while unregistered
        on-chain. Poll the partner to observe the transition. If the on-chain
        registration fails, the operation is marked `FAILED` and the partner stays
        `REVIEW_REQUESTED`.

        Partners without the `BROKER` role are activated immediately and no
        `operation_id` is returned.
      tags:
        - Partners
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: |
                Optional body of a lifecycle transition. The target status is implied by the
                endpoint, so only the reason can be supplied.
              properties:
                reason:
                  type: string
                  description: Optional free-form description of why the status was changed.
                  maxLength: 4096
      responses:
        '202':
          description: Activation accepted. A BROKER partner is activated asynchronously; others are already ACTIVE.
          content:
            application/json:
              schema:
                type: object
                description: Result of an activation request.
                properties:
                  operation_id:
                    type: string
                    format: uuid
                    nullable: true
                    description: |
                      Identifier of the tracked on-chain registration operation for a BROKER partner;
                      null when the partner has no BROKER role and was activated immediately.
                  partner:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      legal_name:
                        type: string
                      contact_email:
                        type: string
                      country_code:
                        description: Countries in EU
                        example: CZ
                        type: string
                        enum:
                          - AL
                          - AD
                          - AT
                          - AZ
                          - BY
                          - BE
                          - BA
                          - BG
                          - HR
                          - CY
                          - CZ
                          - DK
                          - EE
                          - FI
                          - FR
                          - GE
                          - DE
                          - GR
                          - HU
                          - IS
                          - IE
                          - IT
                          - KZ
                          - XK
                          - LV
                          - LI
                          - LT
                          - LU
                          - MK
                          - MT
                          - MD
                          - MC
                          - ME
                          - NL
                          - 'NO'
                          - PL
                          - PT
                          - RO
                          - RU
                          - SM
                          - RS
                          - SK
                          - SI
                          - ES
                          - SE
                          - CH
                          - TR
                          - UA
                          - GB
                          - VA
                      business_id:
                        type: string
                      legal_entity_id:
                        type: string
                      gemi:
                        type: string
                      iban:
                        type: string
                        maxLength: 34
                        nullable: true
                        description: International Bank Account Number of the partner.
                      status:
                        type: string
                        description: Lifecycle status of a partner.
                        enum:
                          - DRAFT
                          - REVIEW_REQUESTED
                          - ACTIVE
                          - INACTIVE
                      broker_profile:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          ebsi_verifiable_credential:
                            type: object
                            additionalProperties: true
                            nullable: true
                          ebsi_digital_identifier:
                            type: string
                            nullable: true
                          eoa_public_key:
                            type: string
                            nullable: true
                        required:
                          - id
                      psp_profile:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                        required:
                          - id
                      guarantor_profile:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                        required:
                          - id
                      created:
                        type: string
                        format: date-time
                      last_edit:
                        type: string
                        format: date-time
                        description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                    required:
                      - id
                      - legal_name
                      - contact_email
                      - country_code
                      - business_id
                      - legal_entity_id
                      - gemi
                      - status
                      - created
                      - last_edit
                required:
                  - partner
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}/set-inactive:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
    post:
      operationId: set_partner_inactive
      summary: Set a partner inactive
      description: |
        Transitions the partner from `ACTIVE` to `INACTIVE`. Any other source
        status returns 409. Only partners that do **not** hold the `BROKER` role
        may be set inactive; a broker returns 409.

        The partner's current `ACTIVE` certificate, if any, is marked `REVOKED`
        (with `revoked_at` and, when supplied, the request `reason` as
        `revocation_reason`). The real certificate revocation is performed
        manually for now.
      tags:
        - Partners
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: |
                Optional body of a lifecycle transition. The target status is implied by the
                endpoint, so only the reason can be supplied.
              properties:
                reason:
                  type: string
                  description: Optional free-form description of why the status was changed.
                  maxLength: 4096
      responses:
        '200':
          description: Partner set inactive.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  legal_name:
                    type: string
                  contact_email:
                    type: string
                  country_code:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  business_id:
                    type: string
                  legal_entity_id:
                    type: string
                  gemi:
                    type: string
                  iban:
                    type: string
                    maxLength: 34
                    nullable: true
                    description: International Bank Account Number of the partner.
                  status:
                    type: string
                    description: Lifecycle status of a partner.
                    enum:
                      - DRAFT
                      - REVIEW_REQUESTED
                      - ACTIVE
                      - INACTIVE
                  broker_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      ebsi_verifiable_credential:
                        type: object
                        additionalProperties: true
                        nullable: true
                      ebsi_digital_identifier:
                        type: string
                        nullable: true
                      eoa_public_key:
                        type: string
                        nullable: true
                    required:
                      - id
                  psp_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  guarantor_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  created:
                    type: string
                    format: date-time
                  last_edit:
                    type: string
                    format: date-time
                    description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                required:
                  - id
                  - legal_name
                  - contact_email
                  - country_code
                  - business_id
                  - legal_entity_id
                  - gemi
                  - status
                  - created
                  - last_edit
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '409':
          description: Resource cannot be created
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}/platform-fee-schedules/current:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
    get:
      operationId: get_current_platform_fee_schedule
      summary: Get the partner's current active platform fee schedule
      description: Returns the ACTIVE platform fee schedule of the given BROKER partner.
      tags:
        - Platform Fee Schedules
      responses:
        '200':
          description: Current platform fee schedule.
          content:
            application/json:
              schema:
                type: object
                properties:
                  partner_id:
                    type: string
                    format: uuid
                  fee_schedule_id:
                    type: string
                    format: uuid
                  version:
                    type: integer
                    format: int32
                  status:
                    type: string
                    description: Lifecycle status of a platform fee schedule.
                    enum:
                      - DRAFT
                      - ACTIVE
                      - ARCHIVED
                  valid_from:
                    type: string
                    format: date-time
                    nullable: true
                  valid_to:
                    type: string
                    format: date-time
                    nullable: true
                  source_template_id:
                    type: string
                    format: uuid
                    nullable: true
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        fee_type:
                          type: string
                          description: Type of platform fee.
                          enum:
                            - ONBOARDING_FEE
                            - ADMISSION_FEE
                            - TOKENIZATION_FEE
                            - ISSUANCE_FEE
                            - ANNUAL_MAINTENANCE_FEE
                            - SECONDARY_TRADING_FEE
                        calculation_type:
                          type: string
                          description: How a fee amount is calculated.
                          enum:
                            - FIXED
                            - PERCENTAGE
                        fixed_amount:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fixed fee amount; set for FIXED fees.
                        percentage:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fee percentage (0-100, up to 3 decimal places); set for PERCENTAGE fees.
                        min_amount:
                          type: string
                          format: decimal
                          nullable: true
                        max_amount:
                          type: string
                          format: decimal
                          nullable: true
                        applies_to_issuance_size_category:
                          type: string
                          description: Bond issuance size category a fee item applies to.
                          enum:
                            - MICRO
                            - SMALL
                            - MEDIUM
                        applies_to_issuer_track_record_category:
                          type: string
                          description: Issuer track record category a fee item applies to.
                          enum:
                            - FIRST_TIME
                            - REPEATED
                        metadata:
                          type: object
                          additionalProperties: true
                          nullable: true
                      required:
                        - id
                        - fee_type
                        - calculation_type
                required:
                  - partner_id
                  - fee_schedule_id
                  - version
                  - status
                  - items
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}/platform-fee-schedules:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
    post:
      operationId: create_platform_fee_schedule_draft
      summary: Create a new draft platform fee schedule
      description: |
        Creates a new DRAFT platform fee schedule for the BROKER partner by copying the items of
        the partner's current ACTIVE schedule. Fails if the partner has no ACTIVE schedule, already
        has a DRAFT schedule, or is not a BROKER.
      tags:
        - Platform Fee Schedules
      responses:
        '201':
          description: Draft platform fee schedule created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  partner_id:
                    type: string
                    format: uuid
                  fee_schedule_id:
                    type: string
                    format: uuid
                  version:
                    type: integer
                    format: int32
                  status:
                    type: string
                    description: Lifecycle status of a platform fee schedule.
                    enum:
                      - DRAFT
                      - ACTIVE
                      - ARCHIVED
                  valid_from:
                    type: string
                    format: date-time
                    nullable: true
                  valid_to:
                    type: string
                    format: date-time
                    nullable: true
                  source_template_id:
                    type: string
                    format: uuid
                    nullable: true
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        fee_type:
                          type: string
                          description: Type of platform fee.
                          enum:
                            - ONBOARDING_FEE
                            - ADMISSION_FEE
                            - TOKENIZATION_FEE
                            - ISSUANCE_FEE
                            - ANNUAL_MAINTENANCE_FEE
                            - SECONDARY_TRADING_FEE
                        calculation_type:
                          type: string
                          description: How a fee amount is calculated.
                          enum:
                            - FIXED
                            - PERCENTAGE
                        fixed_amount:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fixed fee amount; set for FIXED fees.
                        percentage:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fee percentage (0-100, up to 3 decimal places); set for PERCENTAGE fees.
                        min_amount:
                          type: string
                          format: decimal
                          nullable: true
                        max_amount:
                          type: string
                          format: decimal
                          nullable: true
                        applies_to_issuance_size_category:
                          type: string
                          description: Bond issuance size category a fee item applies to.
                          enum:
                            - MICRO
                            - SMALL
                            - MEDIUM
                        applies_to_issuer_track_record_category:
                          type: string
                          description: Issuer track record category a fee item applies to.
                          enum:
                            - FIRST_TIME
                            - REPEATED
                        metadata:
                          type: object
                          additionalProperties: true
                          nullable: true
                      required:
                        - id
                        - fee_type
                        - calculation_type
                required:
                  - partner_id
                  - fee_schedule_id
                  - version
                  - status
                  - items
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}/platform-fee-schedules/{fee_schedule_id}:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
      - name: fee_schedule_id
        in: path
        required: true
        description: Unique identifier of a platform fee schedule version.
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    get:
      operationId: get_platform_fee_schedule
      summary: Get a specific platform fee schedule version
      description: Returns a specific version of a partner's platform fee schedule, including its items.
      tags:
        - Platform Fee Schedules
      responses:
        '200':
          description: Platform fee schedule.
          content:
            application/json:
              schema:
                type: object
                properties:
                  partner_id:
                    type: string
                    format: uuid
                  fee_schedule_id:
                    type: string
                    format: uuid
                  version:
                    type: integer
                    format: int32
                  status:
                    type: string
                    description: Lifecycle status of a platform fee schedule.
                    enum:
                      - DRAFT
                      - ACTIVE
                      - ARCHIVED
                  valid_from:
                    type: string
                    format: date-time
                    nullable: true
                  valid_to:
                    type: string
                    format: date-time
                    nullable: true
                  source_template_id:
                    type: string
                    format: uuid
                    nullable: true
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        fee_type:
                          type: string
                          description: Type of platform fee.
                          enum:
                            - ONBOARDING_FEE
                            - ADMISSION_FEE
                            - TOKENIZATION_FEE
                            - ISSUANCE_FEE
                            - ANNUAL_MAINTENANCE_FEE
                            - SECONDARY_TRADING_FEE
                        calculation_type:
                          type: string
                          description: How a fee amount is calculated.
                          enum:
                            - FIXED
                            - PERCENTAGE
                        fixed_amount:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fixed fee amount; set for FIXED fees.
                        percentage:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fee percentage (0-100, up to 3 decimal places); set for PERCENTAGE fees.
                        min_amount:
                          type: string
                          format: decimal
                          nullable: true
                        max_amount:
                          type: string
                          format: decimal
                          nullable: true
                        applies_to_issuance_size_category:
                          type: string
                          description: Bond issuance size category a fee item applies to.
                          enum:
                            - MICRO
                            - SMALL
                            - MEDIUM
                        applies_to_issuer_track_record_category:
                          type: string
                          description: Issuer track record category a fee item applies to.
                          enum:
                            - FIRST_TIME
                            - REPEATED
                        metadata:
                          type: object
                          additionalProperties: true
                          nullable: true
                      required:
                        - id
                        - fee_type
                        - calculation_type
                required:
                  - partner_id
                  - fee_schedule_id
                  - version
                  - status
                  - items
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
    patch:
      operationId: update_platform_fee_schedule
      summary: Update a draft platform fee schedule
      description: Replaces the items of a DRAFT platform fee schedule. Only DRAFT schedules can be updated.
      tags:
        - Platform Fee Schedules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        nullable: true
                        description: Id of the existing item to update; omit to add a new item.
                      fee_type:
                        type: string
                        description: Type of platform fee.
                        enum:
                          - ONBOARDING_FEE
                          - ADMISSION_FEE
                          - TOKENIZATION_FEE
                          - ISSUANCE_FEE
                          - ANNUAL_MAINTENANCE_FEE
                          - SECONDARY_TRADING_FEE
                      calculation_type:
                        type: string
                        description: How a fee amount is calculated.
                        enum:
                          - FIXED
                          - PERCENTAGE
                      fixed_amount:
                        type: string
                        format: decimal
                        nullable: true
                      percentage:
                        type: string
                        format: decimal
                        nullable: true
                        description: Fee percentage (0-100, up to 3 decimal places).
                        x-field-extra-annotation:
                          - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                          - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                          - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
                      min_amount:
                        type: string
                        format: decimal
                        nullable: true
                      max_amount:
                        type: string
                        format: decimal
                        nullable: true
                      applies_to_issuance_size_category:
                        type: string
                        description: Bond issuance size category a fee item applies to.
                        enum:
                          - MICRO
                          - SMALL
                          - MEDIUM
                      applies_to_issuer_track_record_category:
                        type: string
                        description: Issuer track record category a fee item applies to.
                        enum:
                          - FIRST_TIME
                          - REPEATED
                      metadata:
                        type: object
                        additionalProperties: true
                        nullable: true
                    required:
                      - fee_type
                      - calculation_type
              required:
                - items
      responses:
        '200':
          description: Draft platform fee schedule updated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  partner_id:
                    type: string
                    format: uuid
                  fee_schedule_id:
                    type: string
                    format: uuid
                  version:
                    type: integer
                    format: int32
                  status:
                    type: string
                    description: Lifecycle status of a platform fee schedule.
                    enum:
                      - DRAFT
                      - ACTIVE
                      - ARCHIVED
                  valid_from:
                    type: string
                    format: date-time
                    nullable: true
                  valid_to:
                    type: string
                    format: date-time
                    nullable: true
                  source_template_id:
                    type: string
                    format: uuid
                    nullable: true
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        fee_type:
                          type: string
                          description: Type of platform fee.
                          enum:
                            - ONBOARDING_FEE
                            - ADMISSION_FEE
                            - TOKENIZATION_FEE
                            - ISSUANCE_FEE
                            - ANNUAL_MAINTENANCE_FEE
                            - SECONDARY_TRADING_FEE
                        calculation_type:
                          type: string
                          description: How a fee amount is calculated.
                          enum:
                            - FIXED
                            - PERCENTAGE
                        fixed_amount:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fixed fee amount; set for FIXED fees.
                        percentage:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fee percentage (0-100, up to 3 decimal places); set for PERCENTAGE fees.
                        min_amount:
                          type: string
                          format: decimal
                          nullable: true
                        max_amount:
                          type: string
                          format: decimal
                          nullable: true
                        applies_to_issuance_size_category:
                          type: string
                          description: Bond issuance size category a fee item applies to.
                          enum:
                            - MICRO
                            - SMALL
                            - MEDIUM
                        applies_to_issuer_track_record_category:
                          type: string
                          description: Issuer track record category a fee item applies to.
                          enum:
                            - FIRST_TIME
                            - REPEATED
                        metadata:
                          type: object
                          additionalProperties: true
                          nullable: true
                      required:
                        - id
                        - fee_type
                        - calculation_type
                required:
                  - partner_id
                  - fee_schedule_id
                  - version
                  - status
                  - items
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}/platform-fee-schedules/{fee_schedule_id}/publish:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
      - name: fee_schedule_id
        in: path
        required: true
        description: Unique identifier of a platform fee schedule version.
        schema:
          type: string
          format: uuid
          example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    post:
      operationId: publish_platform_fee_schedule
      summary: Publish a draft platform fee schedule
      description: |
        Publishes a DRAFT schedule as the new ACTIVE version. The previous ACTIVE schedule is
        ARCHIVED. Only DRAFT schedules belonging to the partner can be published.
      tags:
        - Platform Fee Schedules
      responses:
        '200':
          description: Platform fee schedule published.
          content:
            application/json:
              schema:
                type: object
                properties:
                  partner_id:
                    type: string
                    format: uuid
                  fee_schedule_id:
                    type: string
                    format: uuid
                  version:
                    type: integer
                    format: int32
                  status:
                    type: string
                    description: Lifecycle status of a platform fee schedule.
                    enum:
                      - DRAFT
                      - ACTIVE
                      - ARCHIVED
                  valid_from:
                    type: string
                    format: date-time
                    nullable: true
                  valid_to:
                    type: string
                    format: date-time
                    nullable: true
                  source_template_id:
                    type: string
                    format: uuid
                    nullable: true
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        fee_type:
                          type: string
                          description: Type of platform fee.
                          enum:
                            - ONBOARDING_FEE
                            - ADMISSION_FEE
                            - TOKENIZATION_FEE
                            - ISSUANCE_FEE
                            - ANNUAL_MAINTENANCE_FEE
                            - SECONDARY_TRADING_FEE
                        calculation_type:
                          type: string
                          description: How a fee amount is calculated.
                          enum:
                            - FIXED
                            - PERCENTAGE
                        fixed_amount:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fixed fee amount; set for FIXED fees.
                        percentage:
                          type: string
                          format: decimal
                          nullable: true
                          description: Fee percentage (0-100, up to 3 decimal places); set for PERCENTAGE fees.
                        min_amount:
                          type: string
                          format: decimal
                          nullable: true
                        max_amount:
                          type: string
                          format: decimal
                          nullable: true
                        applies_to_issuance_size_category:
                          type: string
                          description: Bond issuance size category a fee item applies to.
                          enum:
                            - MICRO
                            - SMALL
                            - MEDIUM
                        applies_to_issuer_track_record_category:
                          type: string
                          description: Issuer track record category a fee item applies to.
                          enum:
                            - FIRST_TIME
                            - REPEATED
                        metadata:
                          type: object
                          additionalProperties: true
                          nullable: true
                      required:
                        - id
                        - fee_type
                        - calculation_type
                required:
                  - partner_id
                  - fee_schedule_id
                  - version
                  - status
                  - items
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
  /public/v1/partners/{partner_id}/platform-fee-quote:
    parameters:
      - name: partner_id
        in: path
        required: true
        description: Unique identifier of a partner.
        schema:
          type: string
          format: uuid
          example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
    post:
      operationId: quote_platform_fee
      summary: Calculate a platform fee quote
      description: |
        Calculates a concrete platform fee for the partner based on its current ACTIVE platform
        fee schedule, the requested fee type and the issuance size / issuer track record categories.
      tags:
        - Platform Fee Schedules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                fee_type:
                  type: string
                  description: Type of platform fee.
                  enum:
                    - ONBOARDING_FEE
                    - ADMISSION_FEE
                    - TOKENIZATION_FEE
                    - ISSUANCE_FEE
                    - ANNUAL_MAINTENANCE_FEE
                    - SECONDARY_TRADING_FEE
                base_price:
                  type: string
                  format: decimal
                  nullable: true
                  description: Base amount used to calculate a percentage fee.
                issuance_size_category:
                  type: string
                  description: Bond issuance size category a fee item applies to.
                  enum:
                    - MICRO
                    - SMALL
                    - MEDIUM
                issuer_track_record_category:
                  type: string
                  description: Issuer track record category a fee item applies to.
                  enum:
                    - FIRST_TIME
                    - REPEATED
              required:
                - fee_type
      responses:
        '200':
          description: Calculated platform fee quote.
          content:
            application/json:
              schema:
                type: object
                properties:
                  fee_price:
                    type: string
                    format: decimal
                  partner_iban:
                    type: string
                    nullable: true
                  fee_schedule_id:
                    type: string
                    format: uuid
                  fee_schedule_item_id:
                    type: string
                    format: uuid
                required:
                  - fee_price
                  - fee_schedule_id
                  - fee_schedule_item_id
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '401':
          description: Unauthorized access, user must be logged in
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '403':
          description: User does not have enough permissions to perform this action
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
        '404':
          description: Resource not found by id
          content:
            application/json:
              schema:
                type: object
                description: |
                  A Problem Details object (RFC 9457).
                  Additional properties specific to the problem type may be present.
                properties:
                  type:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the problem type
                    default: about:blank
                    example: cz:deuss:BaseProblem
                  title:
                    type: string
                    description: A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
                    example: Service Unavailable
                  status:
                    type: integer
                    format: int32
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    minimum: 400
                    maximum: 600
                    exclusiveMaximum: true
                    example: 418
                  detail:
                    type: string
                    description: A human-readable explanation specific to this occurrence of the problem
                    example: I am a teapot
                  instance:
                    type: string
                    format: uri
                    description: An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
                    example: /company/12345
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SS.sssZ)
                    example: '2025-02-11T14:30:00.123Z'
                  messageDetails:
                    type: array
                    items:
                      type: object
                      description: Detail containing further data for frontend error messages like names of missing/invalid params
                      example: 'emailAddress: shrek@swamp.com'
                      properties:
                        name:
                          type: string
                          description: Name of parameter
                          example: invalidEmails
                        values:
                          type: array
                          items:
                            type: string
                          description: Values specified for parameter
                          example:
                            - ey@ou.go
                            - john@doe.org
                required:
                  - type
                  - detail
                  - messageDetails
                  - messageId
                  - status
                  - timestamp
                  - title
components:
  schemas:
    ResetPaymentResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        paymentType:
          description: There are four different kinds of payments. SENDER/RECEIVER pair for bond purchase and the same for settlement.
          type: string
          example: PURCHASE_SENDER
          enum:
            - PURCHASE_SENDER
            - PURCHASE_RECEIVER
            - SETTLEMENT_SENDER_PRINCIPAL
            - SETTLEMENT_RECEIVER_PRINCIPAL
            - SETTLEMENT_SENDER_COUPON
            - SETTLEMENT_RECEIVER_COUPON
        senderWalletAddress:
          type: string
        receiverWalletAddresses:
          type: array
          description: receiver payments array
          items:
            type: string
        amount:
          type: integer
          format: int64
        currency:
          description: Name of european currency used
          type: string
          enum:
            - EUR
            - CZK
            - BGN
            - DKK
            - HUF
            - PLN
            - RON
            - SEK
            - CHF
        statusPurchase:
          description: States of payment from the business flow perspective
          type: string
          example: CREATED
          enum:
            - CREATED
            - BUYER_PAYMENT_AUTHORISED
            - BUYER_PAID
            - DEAL_PAID
            - SELLER_PAYMENT_AUTHORISED
            - SELLER_PAID
            - DEAL_SETTLED
            - UNABLE_TO_CREATE
            - UNABLE_TO_VALIDATE
        statusSender:
          example: AUTHORISED
          description: State of the Issuer payment (RECEIVED is issuer payment by PSP, SENT corresponding buyer payments by PSP).
          type: string
          enum:
            - CREATED
            - AUTHORISED
            - RECEIVED
            - SENT
            - FAILED
        statusReceiver:
          example: CREATED
          description: State of the Buyer payment (SENT is from the point of view of payment provider).
          type: string
          enum:
            - CREATED
            - AUTHORISED
            - SENT
            - FAILED
        isin:
          type: string
        paymentReference:
          type: integer
          format: int64
      required:
        - id
        - paymentType
        - amount
        - currency
        - isin
      oneOf:
        - required:
            - statusPurchase
        - required:
            - statusSender
        - required:
            - statusReceiver
    PaymentReceivedRequest:
      type: object
      properties:
        state:
          description: |
            Requested new state of the payment.
            - RECEIVED
            - FAILED
          type: string
          example: RECEIVED
          enum:
            - RECEIVED
            - FAILED
      required:
        - state
    PaymentsSentRequest:
      type: object
      properties:
        state:
          description: |
            Requested new state of the payment.
            - SENT
            - FAILED
          type: string
          example: SENT
          enum:
            - SENT
            - FAILED
        payment_reference:
          type: integer
          format: int64
          description: Payment reference generated by PSP for each individual payment
      required:
        - state
        - payment_reference
    PartnerStatus:
      type: string
      description: Lifecycle status of a partner.
      enum:
        - DRAFT
        - REVIEW_REQUESTED
        - ACTIVE
        - INACTIVE
    PartnerRole:
      type: string
      description: Role a partner can fulfil. Each role maps to a child profile record.
      enum:
        - BROKER
        - PSP
        - GUARANTOR
    PartnerCreateRequest:
      type: object
      description: |
        Payload to create a new partner. At least one role must be selected in
        `roles`; an empty child profile record is created for each selected role.
        The new partner is always created in `DRAFT` status.
      properties:
        legal_name:
          type: string
          maxLength: 256
          x-field-extra-annotation: '@NotBlank'
        contact_email:
          type: string
          maxLength: 256
          x-field-extra-annotation: '@NotBlank @jakarta.validation.constraints.Email'
        country_code:
          description: Countries in EU
          example: CZ
          type: string
          enum:
            - AL
            - AD
            - AT
            - AZ
            - BY
            - BE
            - BA
            - BG
            - HR
            - CY
            - CZ
            - DK
            - EE
            - FI
            - FR
            - GE
            - DE
            - GR
            - HU
            - IS
            - IE
            - IT
            - KZ
            - XK
            - LV
            - LI
            - LT
            - LU
            - MK
            - MT
            - MD
            - MC
            - ME
            - NL
            - 'NO'
            - PL
            - PT
            - RO
            - RU
            - SM
            - RS
            - SK
            - SI
            - ES
            - SE
            - CH
            - TR
            - UA
            - GB
            - VA
        business_id:
          type: string
          maxLength: 256
          x-field-extra-annotation: '@NotBlank'
        legal_entity_id:
          type: string
          maxLength: 256
          x-field-extra-annotation: '@NotBlank'
        gemi:
          type: string
          maxLength: 256
          x-field-extra-annotation: '@NotBlank'
        roles:
          type: array
          description: One or more roles the partner fulfils. Must contain at least one entry.
          minItems: 1
          uniqueItems: true
          items:
            type: string
            description: Role a partner can fulfil. Each role maps to a child profile record.
            enum:
              - BROKER
              - PSP
              - GUARANTOR
      required:
        - legal_name
        - contact_email
        - country_code
        - business_id
        - legal_entity_id
        - gemi
        - roles
    PartnerUpdateRequest:
      type: object
      description: |
        Partial update of an existing partner. Only fields present in the
        payload are applied. Status, created and last_edit are immutable here.
      properties:
        legal_name:
          type: string
          maxLength: 256
        contact_email:
          type: string
          maxLength: 256
          x-field-extra-annotation: '@jakarta.validation.constraints.Email'
        country_code:
          description: Countries in EU
          example: CZ
          type: string
          enum:
            - AL
            - AD
            - AT
            - AZ
            - BY
            - BE
            - BA
            - BG
            - HR
            - CY
            - CZ
            - DK
            - EE
            - FI
            - FR
            - GE
            - DE
            - GR
            - HU
            - IS
            - IE
            - IT
            - KZ
            - XK
            - LV
            - LI
            - LT
            - LU
            - MK
            - MT
            - MD
            - MC
            - ME
            - NL
            - 'NO'
            - PL
            - PT
            - RO
            - RU
            - SM
            - RS
            - SK
            - SI
            - ES
            - SE
            - CH
            - TR
            - UA
            - GB
            - VA
        business_id:
          type: string
          maxLength: 256
        legal_entity_id:
          type: string
          maxLength: 256
        gemi:
          type: string
          maxLength: 256
        iban:
          type: string
          maxLength: 34
          description: International Bank Account Number of the partner.
    PartnerTransitionRequest:
      type: object
      description: |
        Optional body of a lifecycle transition. The target status is implied by the
        endpoint, so only the reason can be supplied.
      properties:
        reason:
          type: string
          description: Optional free-form description of why the status was changed.
          maxLength: 4096
    PartnerActivationResponse:
      type: object
      description: Result of an activation request.
      properties:
        operation_id:
          type: string
          format: uuid
          nullable: true
          description: |
            Identifier of the tracked on-chain registration operation for a BROKER partner;
            null when the partner has no BROKER role and was activated immediately.
        partner:
          type: object
          properties:
            id:
              type: string
              format: uuid
            legal_name:
              type: string
            contact_email:
              type: string
            country_code:
              description: Countries in EU
              example: CZ
              type: string
              enum:
                - AL
                - AD
                - AT
                - AZ
                - BY
                - BE
                - BA
                - BG
                - HR
                - CY
                - CZ
                - DK
                - EE
                - FI
                - FR
                - GE
                - DE
                - GR
                - HU
                - IS
                - IE
                - IT
                - KZ
                - XK
                - LV
                - LI
                - LT
                - LU
                - MK
                - MT
                - MD
                - MC
                - ME
                - NL
                - 'NO'
                - PL
                - PT
                - RO
                - RU
                - SM
                - RS
                - SK
                - SI
                - ES
                - SE
                - CH
                - TR
                - UA
                - GB
                - VA
            business_id:
              type: string
            legal_entity_id:
              type: string
            gemi:
              type: string
            iban:
              type: string
              maxLength: 34
              nullable: true
              description: International Bank Account Number of the partner.
            status:
              type: string
              description: Lifecycle status of a partner.
              enum:
                - DRAFT
                - REVIEW_REQUESTED
                - ACTIVE
                - INACTIVE
            broker_profile:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                ebsi_verifiable_credential:
                  type: object
                  additionalProperties: true
                  nullable: true
                ebsi_digital_identifier:
                  type: string
                  nullable: true
                eoa_public_key:
                  type: string
                  nullable: true
              required:
                - id
            psp_profile:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
              required:
                - id
            guarantor_profile:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
              required:
                - id
            created:
              type: string
              format: date-time
            last_edit:
              type: string
              format: date-time
              description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
          required:
            - id
            - legal_name
            - contact_email
            - country_code
            - business_id
            - legal_entity_id
            - gemi
            - status
            - created
            - last_edit
      required:
        - partner
    BrokerProfileResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        ebsi_verifiable_credential:
          type: object
          additionalProperties: true
          nullable: true
        ebsi_digital_identifier:
          type: string
          nullable: true
        eoa_public_key:
          type: string
          nullable: true
      required:
        - id
    PspProfileResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
      required:
        - id
    GuarantorProfileResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
      required:
        - id
    PartnerResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        legal_name:
          type: string
        contact_email:
          type: string
        country_code:
          description: Countries in EU
          example: CZ
          type: string
          enum:
            - AL
            - AD
            - AT
            - AZ
            - BY
            - BE
            - BA
            - BG
            - HR
            - CY
            - CZ
            - DK
            - EE
            - FI
            - FR
            - GE
            - DE
            - GR
            - HU
            - IS
            - IE
            - IT
            - KZ
            - XK
            - LV
            - LI
            - LT
            - LU
            - MK
            - MT
            - MD
            - MC
            - ME
            - NL
            - 'NO'
            - PL
            - PT
            - RO
            - RU
            - SM
            - RS
            - SK
            - SI
            - ES
            - SE
            - CH
            - TR
            - UA
            - GB
            - VA
        business_id:
          type: string
        legal_entity_id:
          type: string
        gemi:
          type: string
        iban:
          type: string
          maxLength: 34
          nullable: true
          description: International Bank Account Number of the partner.
        status:
          type: string
          description: Lifecycle status of a partner.
          enum:
            - DRAFT
            - REVIEW_REQUESTED
            - ACTIVE
            - INACTIVE
        broker_profile:
          type: object
          properties:
            id:
              type: string
              format: uuid
            ebsi_verifiable_credential:
              type: object
              additionalProperties: true
              nullable: true
            ebsi_digital_identifier:
              type: string
              nullable: true
            eoa_public_key:
              type: string
              nullable: true
          required:
            - id
        psp_profile:
          type: object
          properties:
            id:
              type: string
              format: uuid
          required:
            - id
        guarantor_profile:
          type: object
          properties:
            id:
              type: string
              format: uuid
          required:
            - id
        created:
          type: string
          format: date-time
        last_edit:
          type: string
          format: date-time
          description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
      required:
        - id
        - legal_name
        - contact_email
        - country_code
        - business_id
        - legal_entity_id
        - gemi
        - status
        - created
        - last_edit
    PagedPartnersResponse:
      type: object
      allOf:
        - type: object
          properties:
            count:
              type: integer
              format: int64
              description: Total count of results which can be returned for API call with current settings
              example: 100
            page:
              type: integer
              format: int32
              description: Page for which results are returned
              example: 0
          required:
            - count
            - page
        - properties:
            partners:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  legal_name:
                    type: string
                  contact_email:
                    type: string
                  country_code:
                    description: Countries in EU
                    example: CZ
                    type: string
                    enum:
                      - AL
                      - AD
                      - AT
                      - AZ
                      - BY
                      - BE
                      - BA
                      - BG
                      - HR
                      - CY
                      - CZ
                      - DK
                      - EE
                      - FI
                      - FR
                      - GE
                      - DE
                      - GR
                      - HU
                      - IS
                      - IE
                      - IT
                      - KZ
                      - XK
                      - LV
                      - LI
                      - LT
                      - LU
                      - MK
                      - MT
                      - MD
                      - MC
                      - ME
                      - NL
                      - 'NO'
                      - PL
                      - PT
                      - RO
                      - RU
                      - SM
                      - RS
                      - SK
                      - SI
                      - ES
                      - SE
                      - CH
                      - TR
                      - UA
                      - GB
                      - VA
                  business_id:
                    type: string
                  legal_entity_id:
                    type: string
                  gemi:
                    type: string
                  iban:
                    type: string
                    maxLength: 34
                    nullable: true
                    description: International Bank Account Number of the partner.
                  status:
                    type: string
                    description: Lifecycle status of a partner.
                    enum:
                      - DRAFT
                      - REVIEW_REQUESTED
                      - ACTIVE
                      - INACTIVE
                  broker_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      ebsi_verifiable_credential:
                        type: object
                        additionalProperties: true
                        nullable: true
                      ebsi_digital_identifier:
                        type: string
                        nullable: true
                      eoa_public_key:
                        type: string
                        nullable: true
                    required:
                      - id
                  psp_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  guarantor_profile:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                    required:
                      - id
                  created:
                    type: string
                    format: date-time
                  last_edit:
                    type: string
                    format: date-time
                    description: Timestamp of the last modification. Set to the creation time when the partner is created and updated automatically on every successful change, so it is always present.
                required:
                  - id
                  - legal_name
                  - contact_email
                  - country_code
                  - business_id
                  - legal_entity_id
                  - gemi
                  - status
                  - created
                  - last_edit
          required:
            - partners
    FeeScheduleStatus:
      type: string
      description: Lifecycle status of a platform fee schedule.
      enum:
        - DRAFT
        - ACTIVE
        - ARCHIVED
    FeeType:
      type: string
      description: Type of platform fee.
      enum:
        - ONBOARDING_FEE
        - ADMISSION_FEE
        - TOKENIZATION_FEE
        - ISSUANCE_FEE
        - ANNUAL_MAINTENANCE_FEE
        - SECONDARY_TRADING_FEE
    FeeCalculationType:
      type: string
      description: How a fee amount is calculated.
      enum:
        - FIXED
        - PERCENTAGE
    IssuanceSizeCategory:
      type: string
      description: Bond issuance size category a fee item applies to.
      enum:
        - MICRO
        - SMALL
        - MEDIUM
    IssuerTrackRecordCategory:
      type: string
      description: Issuer track record category a fee item applies to.
      enum:
        - FIRST_TIME
        - REPEATED
    PlatformFeeScheduleItemResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        fee_type:
          type: string
          description: Type of platform fee.
          enum:
            - ONBOARDING_FEE
            - ADMISSION_FEE
            - TOKENIZATION_FEE
            - ISSUANCE_FEE
            - ANNUAL_MAINTENANCE_FEE
            - SECONDARY_TRADING_FEE
        calculation_type:
          type: string
          description: How a fee amount is calculated.
          enum:
            - FIXED
            - PERCENTAGE
        fixed_amount:
          type: string
          format: decimal
          nullable: true
          description: Fixed fee amount; set for FIXED fees.
        percentage:
          type: string
          format: decimal
          nullable: true
          description: Fee percentage (0-100, up to 3 decimal places); set for PERCENTAGE fees.
        min_amount:
          type: string
          format: decimal
          nullable: true
        max_amount:
          type: string
          format: decimal
          nullable: true
        applies_to_issuance_size_category:
          type: string
          description: Bond issuance size category a fee item applies to.
          enum:
            - MICRO
            - SMALL
            - MEDIUM
        applies_to_issuer_track_record_category:
          type: string
          description: Issuer track record category a fee item applies to.
          enum:
            - FIRST_TIME
            - REPEATED
        metadata:
          type: object
          additionalProperties: true
          nullable: true
      required:
        - id
        - fee_type
        - calculation_type
    PartnerPlatformFeeScheduleResponse:
      type: object
      properties:
        partner_id:
          type: string
          format: uuid
        fee_schedule_id:
          type: string
          format: uuid
        version:
          type: integer
          format: int32
        status:
          type: string
          description: Lifecycle status of a platform fee schedule.
          enum:
            - DRAFT
            - ACTIVE
            - ARCHIVED
        valid_from:
          type: string
          format: date-time
          nullable: true
        valid_to:
          type: string
          format: date-time
          nullable: true
        source_template_id:
          type: string
          format: uuid
          nullable: true
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              fee_type:
                type: string
                description: Type of platform fee.
                enum:
                  - ONBOARDING_FEE
                  - ADMISSION_FEE
                  - TOKENIZATION_FEE
                  - ISSUANCE_FEE
                  - ANNUAL_MAINTENANCE_FEE
                  - SECONDARY_TRADING_FEE
              calculation_type:
                type: string
                description: How a fee amount is calculated.
                enum:
                  - FIXED
                  - PERCENTAGE
              fixed_amount:
                type: string
                format: decimal
                nullable: true
                description: Fixed fee amount; set for FIXED fees.
              percentage:
                type: string
                format: decimal
                nullable: true
                description: Fee percentage (0-100, up to 3 decimal places); set for PERCENTAGE fees.
              min_amount:
                type: string
                format: decimal
                nullable: true
              max_amount:
                type: string
                format: decimal
                nullable: true
              applies_to_issuance_size_category:
                type: string
                description: Bond issuance size category a fee item applies to.
                enum:
                  - MICRO
                  - SMALL
                  - MEDIUM
              applies_to_issuer_track_record_category:
                type: string
                description: Issuer track record category a fee item applies to.
                enum:
                  - FIRST_TIME
                  - REPEATED
              metadata:
                type: object
                additionalProperties: true
                nullable: true
            required:
              - id
              - fee_type
              - calculation_type
      required:
        - partner_id
        - fee_schedule_id
        - version
        - status
        - items
    UpdatePartnerPlatformFeeScheduleItemRequest:
      type: object
      properties:
        id:
          type: string
          format: uuid
          nullable: true
          description: Id of the existing item to update; omit to add a new item.
        fee_type:
          type: string
          description: Type of platform fee.
          enum:
            - ONBOARDING_FEE
            - ADMISSION_FEE
            - TOKENIZATION_FEE
            - ISSUANCE_FEE
            - ANNUAL_MAINTENANCE_FEE
            - SECONDARY_TRADING_FEE
        calculation_type:
          type: string
          description: How a fee amount is calculated.
          enum:
            - FIXED
            - PERCENTAGE
        fixed_amount:
          type: string
          format: decimal
          nullable: true
        percentage:
          type: string
          format: decimal
          nullable: true
          description: Fee percentage (0-100, up to 3 decimal places).
          x-field-extra-annotation:
            - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
            - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
            - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
        min_amount:
          type: string
          format: decimal
          nullable: true
        max_amount:
          type: string
          format: decimal
          nullable: true
        applies_to_issuance_size_category:
          type: string
          description: Bond issuance size category a fee item applies to.
          enum:
            - MICRO
            - SMALL
            - MEDIUM
        applies_to_issuer_track_record_category:
          type: string
          description: Issuer track record category a fee item applies to.
          enum:
            - FIRST_TIME
            - REPEATED
        metadata:
          type: object
          additionalProperties: true
          nullable: true
      required:
        - fee_type
        - calculation_type
    UpdatePartnerPlatformFeeScheduleRequest:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                nullable: true
                description: Id of the existing item to update; omit to add a new item.
              fee_type:
                type: string
                description: Type of platform fee.
                enum:
                  - ONBOARDING_FEE
                  - ADMISSION_FEE
                  - TOKENIZATION_FEE
                  - ISSUANCE_FEE
                  - ANNUAL_MAINTENANCE_FEE
                  - SECONDARY_TRADING_FEE
              calculation_type:
                type: string
                description: How a fee amount is calculated.
                enum:
                  - FIXED
                  - PERCENTAGE
              fixed_amount:
                type: string
                format: decimal
                nullable: true
              percentage:
                type: string
                format: decimal
                nullable: true
                description: Fee percentage (0-100, up to 3 decimal places).
                x-field-extra-annotation:
                  - '@Digits(message = "Value must have at most {integer} integer digits and at most {fraction} decimal digits", integer = 3, fraction = 3)'
                  - '@DecimalMin(message = "Provided value must be at least {value}", value = "0.000", inclusive = true)'
                  - '@DecimalMax(message = "Provided value must be at most {value}", value = "100.000", inclusive = true)'
              min_amount:
                type: string
                format: decimal
                nullable: true
              max_amount:
                type: string
                format: decimal
                nullable: true
              applies_to_issuance_size_category:
                type: string
                description: Bond issuance size category a fee item applies to.
                enum:
                  - MICRO
                  - SMALL
                  - MEDIUM
              applies_to_issuer_track_record_category:
                type: string
                description: Issuer track record category a fee item applies to.
                enum:
                  - FIRST_TIME
                  - REPEATED
              metadata:
                type: object
                additionalProperties: true
                nullable: true
            required:
              - fee_type
              - calculation_type
      required:
        - items
    PartnerPlatformFeeQuoteRequest:
      type: object
      properties:
        fee_type:
          type: string
          description: Type of platform fee.
          enum:
            - ONBOARDING_FEE
            - ADMISSION_FEE
            - TOKENIZATION_FEE
            - ISSUANCE_FEE
            - ANNUAL_MAINTENANCE_FEE
            - SECONDARY_TRADING_FEE
        base_price:
          type: string
          format: decimal
          nullable: true
          description: Base amount used to calculate a percentage fee.
        issuance_size_category:
          type: string
          description: Bond issuance size category a fee item applies to.
          enum:
            - MICRO
            - SMALL
            - MEDIUM
        issuer_track_record_category:
          type: string
          description: Issuer track record category a fee item applies to.
          enum:
            - FIRST_TIME
            - REPEATED
      required:
        - fee_type
    PartnerPlatformFeeQuoteResponse:
      type: object
      properties:
        fee_price:
          type: string
          format: decimal
        partner_iban:
          type: string
          nullable: true
        fee_schedule_id:
          type: string
          format: uuid
        fee_schedule_item_id:
          type: string
          format: uuid
      required:
        - fee_price
        - fee_schedule_id
        - fee_schedule_item_id
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication for payment provider endpoints
  parameters:
    PartnerId:
      name: partner_id
      in: path
      required: true
      description: Unique identifier of a partner.
      schema:
        type: string
        format: uuid
        example: f4d6c2a0-15c4-4d24-9f5e-1f93efb3a811
    FeeScheduleId:
      name: fee_schedule_id
      in: path
      required: true
      description: Unique identifier of a platform fee schedule version.
      schema:
        type: string
        format: uuid
        example: 3f3a3cd0-9697-45d2-b61a-822eddd2f970
    RoleParam:
      name: role
      in: path
      required: true
      description: Role held by a partner.
      schema:
        type: string
        description: Role a partner can fulfil. Each role maps to a child profile record.
        enum:
          - BROKER
          - PSP
          - GUARANTOR
