openapi: 3.1.0
info:
  title: Yandex Tracker API as wrapped by ycli (unofficial)
  version: v3
  description: 'Derived from ycli''s own code, not published by Yandex: the requests ycli sends to Yandex
    Tracker and the models it parses the replies into. It is only as complete as ycli; README''s "Against
    the published API" lists where the two differ. Generated by scripts/gen_openapi.py; do not edit by
    hand.'
servers:
- url: https://api.tracker.yandex.net/v3
security:
- oauth: []
  organization: []
paths:
  /applications:
    get:
      operationId: applications_list
      tags:
      - applications
      x-ycli-operations:
      - applications.list
      x-ycli-effect: read
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Application'
  /attachments:
    post:
      operationId: attachments_upload_temp
      tags:
      - attachments
      x-ycli-operations:
      - attachments.upload_temp
      x-ycli-effect: write
      parameters:
      - name: filename
        in: query
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data: {}
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsAttachment'
  /attachments/{file_id}/{filename}:
    get:
      operationId: entities_attachment_download
      tags:
      - entities
      x-ycli-operations:
      - entities.attachment_download
      x-ycli-effect: read
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: string
      - name: filename
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Raw bytes.
          content:
            application/octet-stream: {}
  /boards/_paginate:
    get:
      operationId: boards_list
      tags:
      - boards
      x-ycli-operations:
      - boards.list
      x-ycli-effect: read
      x-ycli-pagination: RelativeIdPagination
      parameters:
      - name: id
        in: query
        schema: {}
      - name: perPage
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Board'
  /boards/{board_id}:
    delete:
      operationId: boards_delete
      tags:
      - boards
      x-ycli-operations:
      - boards.delete
      x-ycli-effect: destructive
      parameters:
      - name: board_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: boards_get
      tags:
      - boards
      x-ycli-operations:
      - boards.get
      x-ycli-effect: read
      parameters:
      - name: board_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Board'
    patch:
      operationId: boards_edit
      tags:
      - boards
      x-ycli-operations:
      - boards.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: board_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoardUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Board'
  /boards/{board_id}/columns:
    get:
      operationId: columns_list
      tags:
      - columns
      x-ycli-operations:
      - columns.list
      x-ycli-effect: read
      parameters:
      - name: board_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Column'
    post:
      operationId: columns_create
      tags:
      - columns
      x-ycli-operations:
      - columns.create
      x-ycli-effect: write
      parameters:
      - name: board_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ColumnCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Column'
  /boards/{board_id}/columns/{column_id}:
    delete:
      operationId: columns_delete
      tags:
      - columns
      x-ycli-operations:
      - columns.delete
      x-ycli-effect: destructive
      parameters:
      - name: board_id
        in: path
        required: true
        schema:
          type: integer
      - name: column_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: columns_get
      tags:
      - columns
      x-ycli-operations:
      - columns.get
      x-ycli-effect: read
      parameters:
      - name: board_id
        in: path
        required: true
        schema:
          type: integer
      - name: column_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Column'
    patch:
      operationId: columns_edit
      tags:
      - columns
      x-ycli-operations:
      - columns.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: board_id
        in: path
        required: true
        schema:
          type: integer
      - name: column_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ColumnUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Column'
  /boards/{board_id}/sprints:
    get:
      operationId: sprints_list
      tags:
      - sprints
      x-ycli-operations:
      - sprints.list
      x-ycli-effect: read
      parameters:
      - name: board_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Sprint'
  /bulkchange/_move:
    post:
      operationId: bulk_move
      tags:
      - bulk
      x-ycli-operations:
      - bulk.move
      x-ycli-effect: write
      parameters:
      - name: notify
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkMove'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkChange'
  /bulkchange/_transition:
    post:
      operationId: bulk_transition
      tags:
      - bulk
      x-ycli-operations:
      - bulk.transition
      x-ycli-effect: write
      parameters:
      - name: notify
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkTransition'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkChange'
  /bulkchange/_update:
    post:
      operationId: bulk_update
      tags:
      - bulk
      x-ycli-operations:
      - bulk.update
      x-ycli-effect: write
      parameters:
      - name: notify
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkChange'
  /bulkchange/{bulk_id}:
    get:
      operationId: bulk_get
      tags:
      - bulk
      x-ycli-operations:
      - bulk.get
      x-ycli-effect: read
      parameters:
      - name: bulk_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkChange'
  /bulkchange/{bulk_id}/issues:
    get:
      operationId: bulk_issues
      tags:
      - bulk
      x-ycli-operations:
      - bulk.issues
      x-ycli-effect: read
      parameters:
      - name: bulk_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BulkIssueResult'
  /bulkchange/{operation_id}:
    get:
      operationId: entities_bulk_status
      tags:
      - entities
      x-ycli-operations:
      - entities.bulk_status
      x-ycli-effect: read
      parameters:
      - name: operation_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkChangeOperation'
  /components:
    get:
      operationId: components_list
      tags:
      - components
      x-ycli-operations:
      - components.list
      x-ycli-effect: read
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Component'
    post:
      operationId: components_create
      tags:
      - components
      x-ycli-operations:
      - components.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComponentCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Component'
  /components/{component_id}:
    delete:
      operationId: components_delete
      tags:
      - components
      x-ycli-operations:
      - components.delete
      x-ycli-effect: destructive
      parameters:
      - name: component_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: components_get
      tags:
      - components
      x-ycli-operations:
      - components.get
      x-ycli-effect: read
      parameters:
      - name: component_id
        in: path
        required: true
        schema:
          type: integer
      - name: fields
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Component'
    patch:
      operationId: components_edit
      tags:
      - components
      x-ycli-operations:
      - components.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: component_id
        in: path
        required: true
        schema:
          type: integer
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComponentUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Component'
  /components/{component_id}/permissions/groups/{group_id}:
    get:
      operationId: components_group_permissions
      tags:
      - components
      x-ycli-operations:
      - components.group_permissions
      x-ycli-effect: read
      parameters:
      - name: component_id
        in: path
        required: true
        schema:
          type: integer
      - name: group_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentGroupAccess'
  /components/{component_id}/permissions/users/{user_id}:
    get:
      operationId: components_user_permissions
      tags:
      - components
      x-ycli-operations:
      - components.user_permissions
      x-ycli-effect: read
      parameters:
      - name: component_id
        in: path
        required: true
        schema:
          type: integer
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentUserAccess'
  /dashboards:
    post:
      operationId: dashboards_create
      tags:
      - dashboards
      x-ycli-operations:
      - dashboards.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
  /dashboards/{dashboard_id}/widgets/cycleTime:
    post:
      operationId: dashboards_add_cycle_time_widget
      tags:
      - dashboards
      x-ycli-operations:
      - dashboards.add_cycle_time_widget
      x-ycli-effect: write
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CycleTimeWidget'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Widget'
  /entities/report:
    post:
      operationId: entities_create_report
      tags:
      - entities
      x-ycli-operations:
      - entities.create_report
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}:
    post:
      operationId: entities_create
      tags:
      - entities
      x-ycli-operations:
      - entities.create
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}/_search:
    post:
      operationId: entities_search
      tags:
      - entities
      x-ycli-operations:
      - entities.search
      x-ycli-effect: read
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
      - name: perPage
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/EntitySearch'
              - type: 'null'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitySearchResponse'
  /entities/{entity_type}/bulkchange/_update:
    post:
      operationId: entities_bulk_update
      tags:
      - entities
      x-ycli-operations:
      - entities.bulk_update
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkChangeUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkChangeOperation'
  /entities/{entity_type}/{entity_id}:
    delete:
      operationId: entities_delete
      tags:
      - entities
      x-ycli-operations:
      - entities.delete
      x-ycli-effect: destructive
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: withBoard
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: entities_get
      tags:
      - entities
      x-ycli-operations:
      - entities.get
      x-ycli-effect: read
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    patch:
      operationId: entities_edit
      tags:
      - entities
      x-ycli-operations:
      - entities.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}/{entity_id}/attachments:
    get:
      operationId: entities_attachments_list
      tags:
      - entities
      x-ycli-operations:
      - entities.attachments_list
      x-ycli-effect: read
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EntitiesAttachment'
  /entities/{entity_type}/{entity_id}/attachments/{file_id}:
    delete:
      operationId: entities_attachments_delete
      tags:
      - entities
      x-ycli-operations:
      - entities.attachments_delete
      x-ycli-effect: destructive
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: file_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: entities_attachments_get
      tags:
      - entities
      x-ycli-operations:
      - entities.attachments_get
      x-ycli-effect: read
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: file_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitiesAttachment'
  /entities/{entity_type}/{entity_id}/attachments/{temp_file_id}:
    post:
      operationId: entities_attachments_attach
      tags:
      - entities
      x-ycli-operations:
      - entities.attachments_attach
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: temp_file_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema: {}
      - name: fields
        in: query
        schema: {}
      - name: notify
        in: query
        schema: {}
      - name: notifyAuthor
        in: query
        schema: {}
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}/{entity_id}/checklistItems:
    delete:
      operationId: entities_checklists_delete
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_delete
      x-ycli-effect: destructive
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema: {}
      - name: fields
        in: query
        schema: {}
      - name: notify
        in: query
        schema: {}
      - name: notifyAuthor
        in: query
        schema: {}
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    patch:
      operationId: entities_checklists_edit
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema: {}
      - name: fields
        in: query
        schema: {}
      - name: notify
        in: query
        schema: {}
      - name: notifyAuthor
        in: query
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ChecklistItemInput'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    post:
      operationId: entities_checklists_create
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_create
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema: {}
      - name: fields
        in: query
        schema: {}
      - name: notify
        in: query
        schema: {}
      - name: notifyAuthor
        in: query
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ChecklistItemInput'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}/{entity_id}/checklistItems/{item_id}:
    delete:
      operationId: entities_checklists_delete_item
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_delete_item
      x-ycli-effect: destructive
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: item_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema: {}
      - name: fields
        in: query
        schema: {}
      - name: notify
        in: query
        schema: {}
      - name: notifyAuthor
        in: query
        schema: {}
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    patch:
      operationId: entities_checklists_edit_item
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_edit_item
      x-ycli-effect: idempotent_write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: item_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema: {}
      - name: fields
        in: query
        schema: {}
      - name: notify
        in: query
        schema: {}
      - name: notifyAuthor
        in: query
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistItemInput'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}/{entity_id}/checklistItems/{item_id}/_move:
    post:
      operationId: entities_checklists_move
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_move
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: item_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema: {}
      - name: fields
        in: query
        schema: {}
      - name: notify
        in: query
        schema: {}
      - name: notifyAuthor
        in: query
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistMove'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}/{entity_id}/comments:
    get:
      operationId: entities_comments_list
      tags:
      - entities
      x-ycli-operations:
      - entities.comments_list
      x-ycli-effect: read
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EntitiesComment'
    post:
      operationId: entities_comments_create
      tags:
      - entities
      x-ycli-operations:
      - entities.comments_create
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: isAddToFollowers
        in: query
        schema:
          type: boolean
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitiesComment'
  /entities/{entity_type}/{entity_id}/comments/_relative:
    get:
      operationId: entities_comments_relative
      tags:
      - entities
      x-ycli-operations:
      - entities.comments_relative
      x-ycli-effect: read
      x-ycli-pagination: RelativeIdPagination
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: from
        in: query
        schema: {}
      - name: perPage
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentsRelativeResponse'
  /entities/{entity_type}/{entity_id}/comments/{comment_id}:
    delete:
      operationId: entities_comments_delete
      tags:
      - entities
      x-ycli-operations:
      - entities.comments_delete
      x-ycli-effect: destructive
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: entities_comments_get
      tags:
      - entities
      x-ycli-operations:
      - entities.comments_get
      x-ycli-effect: read
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitiesComment'
    patch:
      operationId: entities_comments_edit
      tags:
      - entities
      x-ycli-operations:
      - entities.comments_edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: isAddToFollowers
        in: query
        schema:
          type: boolean
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntitiesCommentUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitiesComment'
  /entities/{entity_type}/{entity_id}/events/_relative:
    get:
      operationId: entities_history
      tags:
      - entities
      x-ycli-operations:
      - entities.history
      x-ycli-effect: read
      x-ycli-pagination: RelativeIdPagination
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: direction
        in: query
        schema:
          type: string
      - name: from
        in: query
        schema: {}
      - name: newEventsOnTop
        in: query
        schema:
          type: boolean
      - name: perPage
        in: query
        schema:
          type: integer
      - name: selected
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityEventsResponse'
  /entities/{entity_type}/{entity_id}/extendedPermissions:
    get:
      operationId: entities_permissions
      tags:
      - entities
      x-ycli-operations:
      - entities.permissions
      x-ycli-effect: read
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedPermissions'
    patch:
      operationId: entities_set_permissions
      tags:
      - entities
      x-ycli-operations:
      - entities.set_permissions
      x-ycli-effect: idempotent_write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionsUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedPermissions'
  /entities/{entity_type}/{entity_id}/links:
    delete:
      operationId: entities_links_delete
      tags:
      - entities
      x-ycli-operations:
      - entities.links_delete
      x-ycli-effect: destructive
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: right
        in: query
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: entities_links_list
      tags:
      - entities
      x-ycli-operations:
      - entities.links_list
      x-ycli-effect: read
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EntitiesLink'
    post:
      operationId: entities_links_create
      tags:
      - entities
      x-ycli-operations:
      - entities.links_create
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkInput'
        x-ycli-body: typed
      responses:
        '200':
          description: ycli reads no body.
  /entities/{entity_type}/{entity_id}/permissions:
    get:
      operationId: entities_direct_permissions
      tags:
      - entities
      x-ycli-operations:
      - entities.direct_permissions
      x-ycli-effect: read
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Acl'
    patch:
      operationId: entities_set_direct_permissions
      tags:
      - entities
      x-ycli-operations:
      - entities.set_direct_permissions
      x-ycli-effect: idempotent_write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectPermissionsUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Acl'
  /entities/{entity_type}/{entity_id}/{expand}/{temp_file_id}:
    post:
      operationId: entities_attachments_attach_post_entities_entity_type_entity_id_expand_temp_file_id
      tags:
      - entities
      x-ycli-operations:
      - entities.attachments_attach
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: path
        required: true
        schema:
          type: string
      - name: temp_file_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}/{entity_id}/{fields}:
    delete:
      operationId: entities_checklists_delete_delete_entities_entity_type_entity_id_fields
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_delete
      x-ycli-effect: destructive
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    patch:
      operationId: entities_checklists_edit_patch_entities_entity_type_entity_id_fields
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ChecklistItemInput'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    post:
      operationId: entities_checklists_create_post_entities_entity_type_entity_id_fields
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_create
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ChecklistItemInput'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}/{entity_id}/{fields}/{item_id}:
    delete:
      operationId: entities_checklists_delete_item_delete_entities_entity_type_entity_id_fields_item_id
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_delete_item
      x-ycli-effect: destructive
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: path
        required: true
        schema:
          type: string
      - name: item_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
    patch:
      operationId: entities_checklists_edit_item_patch_entities_entity_type_entity_id_fields_item_id
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_edit_item
      x-ycli-effect: idempotent_write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: path
        required: true
        schema:
          type: string
      - name: item_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistItemInput'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /entities/{entity_type}/{entity_id}/{fields}/{item_id}/_move:
    post:
      operationId: entities_checklists_move_post_entities_entity_type_entity_id_fields_item_id__move
      tags:
      - entities
      x-ycli-operations:
      - entities.checklists_move
      x-ycli-effect: write
      parameters:
      - name: entity_type
        in: path
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: path
        required: true
        schema:
          type: string
      - name: item_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistMove'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
  /fields:
    get:
      operationId: fields_list
      tags:
      - fields
      x-ycli-operations:
      - fields.list
      x-ycli-effect: read
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomField'
    post:
      operationId: fields_create
      tags:
      - fields
      x-ycli-operations:
      - fields.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FieldCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
  /fields/categories:
    post:
      operationId: fields_category_create
      tags:
      - fields
      x-ycli-operations:
      - fields.category_create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FieldCategoryCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FieldCategoryRecord'
  /fields/categories/{category_id}:
    patch:
      operationId: fields_category_edit
      tags:
      - fields
      x-ycli-operations:
      - fields.category_edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: category_id
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FieldCategoryUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FieldCategoryRecord'
  /fields/{field_id}:
    get:
      operationId: fields_get
      tags:
      - fields
      x-ycli-operations:
      - fields.get
      x-ycli-effect: read
      parameters:
      - name: field_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
    patch:
      operationId: fields_edit
      tags:
      - fields
      x-ycli-operations:
      - fields.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: field_id
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FieldUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
  /filters:
    post:
      operationId: filters_create
      tags:
      - filters
      x-ycli-operations:
      - filters.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FilterCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Filter'
  /filters/{filter_id}:
    delete:
      operationId: filters_delete
      tags:
      - filters
      x-ycli-operations:
      - filters.delete
      x-ycli-effect: destructive
      parameters:
      - name: filter_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: filters_get
      tags:
      - filters
      x-ycli-operations:
      - filters.get
      x-ycli-effect: read
      parameters:
      - name: filter_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Filter'
    patch:
      operationId: filters_edit
      tags:
      - filters
      x-ycli-operations:
      - filters.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: filter_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FilterUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Filter'
  /gaps:
    delete:
      operationId: gaps_delete
      tags:
      - gaps
      x-ycli-operations:
      - gaps.delete
      x-ycli-effect: destructive
      parameters:
      - name: gapIds
        in: query
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
    post:
      operationId: gaps_create
      tags:
      - gaps
      x-ycli-operations:
      - gaps.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GapsCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GapCreated'
  /gaps/_search:
    post:
      operationId: gaps_search
      tags:
      - gaps
      x-ycli-operations:
      - gaps.search
      x-ycli-effect: read
      x-ycli-pagination: PageNumberPagination
      parameters:
      - name: page
        in: query
        schema: {}
      - name: perPage
        in: query
        schema: {}
      requestBody:
        content:
          application/json: {}
        x-ycli-body: untyped
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GapSearchPage'
  /issues:
    post:
      operationId: issues_create
      tags:
      - issues
      x-ycli-operations:
      - issues.create
      x-ycli-effect: write
      parameters:
      - name: notify
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
  /issues/_count:
    post:
      operationId: issues_count
      tags:
      - issues
      x-ycli-operations:
      - issues.count
      x-ycli-effect: read
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueSearch'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: integer
  /issues/_import:
    post:
      operationId: import__task
      tags:
      - import_
      x-ycli-operations:
      - import_.task
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportTask'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
  /issues/_search:
    post:
      operationId: issues_search
      tags:
      - issues
      x-ycli-operations:
      - issues.search
      x-ycli-effect: read
      x-ycli-pagination: PageNumberPagination
      parameters:
      - name: expand
        in: query
        schema:
          type: string
      - name: page
        in: query
        schema: {}
      - name: perPage
        in: query
        schema: {}
      - name: perScroll
        in: query
        schema:
          type: integer
      - name: scrollId
        in: query
        schema: {}
      - name: scrollTTLMillis
        in: query
        schema:
          type: integer
      - name: scrollType
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueSearch'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Issue'
  /issues/_suggest:
    get:
      operationId: issues_suggest
      tags:
      - issues
      x-ycli-operations:
      - issues.suggest
      x-ycli-effect: read
      parameters:
      - name: embed
        in: query
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      - name: full
        in: query
        schema:
          type: boolean
      - name: input
        in: query
        schema:
          type: string
      - name: queue
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Issue'
  /issues/{issue_key}/attachments:
    get:
      operationId: attachments_list
      tags:
      - attachments
      x-ycli-operations:
      - attachments.list
      x-ycli-effect: read
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AttachmentsAttachment'
    post:
      operationId: attachments_upload
      tags:
      - attachments
      x-ycli-operations:
      - attachments.upload
      x-ycli-effect: write
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      - name: filename
        in: query
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data: {}
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsAttachment'
  /issues/{issue_key}/attachments/_import:
    post:
      operationId: import__file
      tags:
      - import_
      x-ycli-operations:
      - import_.file
      x-ycli-effect: write
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      - name: createdAt
        in: query
        schema:
          type: string
      - name: createdBy
        in: query
        schema:
          type: string
      - name: filename
        in: query
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data: {}
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsAttachment'
  /issues/{issue_key}/attachments/{file_id}:
    delete:
      operationId: attachments_delete
      tags:
      - attachments
      x-ycli-operations:
      - attachments.delete
      x-ycli-effect: destructive
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      - name: file_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: attachments_get
      tags:
      - attachments
      x-ycli-operations:
      - attachments.get
      x-ycli-effect: read
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      - name: file_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsAttachment'
  /issues/{issue_key}/attachments/{file_id}/{filename}:
    get:
      operationId: attachments_download
      tags:
      - attachments
      x-ycli-operations:
      - attachments.download
      x-ycli-effect: read
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      - name: file_id
        in: path
        required: true
        schema:
          type: string
      - name: filename
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Raw bytes.
          content:
            application/octet-stream: {}
  /issues/{issue_key}/comments/_import:
    post:
      operationId: import__comment
      tags:
      - import_
      x-ycli-operations:
      - import_.comment
      x-ycli-effect: write
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportComment'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentsComment'
  /issues/{issue_key}/comments/{comment_id}/attachments/_import:
    post:
      operationId: import__comment_file
      tags:
      - import_
      x-ycli-operations:
      - import_.comment_file
      x-ycli-effect: write
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      - name: createdAt
        in: query
        schema:
          type: string
      - name: createdBy
        in: query
        schema:
          type: string
      - name: filename
        in: query
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data: {}
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsAttachment'
  /issues/{issue_key}/links/_import:
    post:
      operationId: import__link
      tags:
      - import_
      x-ycli-operations:
      - import_.link
      x-ycli-effect: write
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportLink'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinksLink'
  /issues/{issue_key}/remotelinks:
    get:
      operationId: remotelinks_list
      tags:
      - remotelinks
      x-ycli-operations:
      - remotelinks.list
      x-ycli-effect: read
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteLink'
    post:
      operationId: remotelinks_create
      tags:
      - remotelinks
      x-ycli-operations:
      - remotelinks.create
      x-ycli-effect: write
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      - name: backlink
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteLinkCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteLink'
  /issues/{issue_key}/remotelinks/{link_id}:
    delete:
      operationId: remotelinks_delete
      tags:
      - remotelinks
      x-ycli-operations:
      - remotelinks.delete
      x-ycli-effect: destructive
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      - name: link_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
  /issues/{issue_key}/thumbnails/{file_id}:
    get:
      operationId: attachments_download_thumbnail
      tags:
      - attachments
      x-ycli-operations:
      - attachments.download_thumbnail
      x-ycli-effect: read
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      - name: file_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Raw bytes.
          content:
            application/octet-stream: {}
  /issues/{issue_key}/worklogs/_import:
    post:
      operationId: import__worklog
      tags:
      - import_
      x-ycli-operations:
      - import_.worklog
      x-ycli-effect: write
      parameters:
      - name: issue_key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportWorklog'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Worklog'
  /issues/{key}:
    get:
      operationId: issues_get
      tags:
      - issues
      x-ycli-operations:
      - issues.get
      x-ycli-effect: read
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
    patch:
      operationId: issues_update
      tags:
      - issues
      x-ycli-operations:
      - issues.update
      x-ycli-effect: idempotent_write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
  /issues/{key}/_move:
    post:
      operationId: issues_move
      tags:
      - issues
      x-ycli-operations:
      - issues.move
      x-ycli-effect: write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: initialStatus
        in: query
        schema:
          type: boolean
      - name: moveAllFields
        in: query
        schema:
          type: boolean
      - name: notify
        in: query
        schema:
          type: boolean
      - name: notifyAuthor
        in: query
        schema:
          type: boolean
      - name: queue
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
  /issues/{key}/changelog:
    get:
      operationId: changelog_list
      tags:
      - changelog
      x-ycli-operations:
      - changelog.list
      x-ycli-effect: read
      x-ycli-pagination: RelativeIdPagination
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: field
        in: query
        schema:
          type: string
      - name: id
        in: query
        schema: {}
      - name: perPage
        in: query
        schema:
          type: integer
      - name: sort
        in: query
        schema:
          type: string
      - name: type
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChangelogEntry'
  /issues/{key}/checklistItems:
    delete:
      operationId: checklists_clear
      tags:
      - checklists
      x-ycli-operations:
      - checklists.clear
      x-ycli-effect: destructive
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checklist'
    get:
      operationId: checklists_get
      tags:
      - checklists
      x-ycli-operations:
      - checklists.get
      x-ycli-effect: read
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChecklistsChecklistItem'
    post:
      operationId: checklists_create
      tags:
      - checklists
      x-ycli-operations:
      - checklists.create
      x-ycli-effect: write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistItemCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checklist'
  /issues/{key}/checklistItems/{item_id}:
    delete:
      operationId: checklists_delete
      tags:
      - checklists
      x-ycli-operations:
      - checklists.delete
      x-ycli-effect: destructive
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: item_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checklist'
    patch:
      operationId: checklists_edit
      tags:
      - checklists
      x-ycli-operations:
      - checklists.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: item_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistItemUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checklist'
  /issues/{key}/comments:
    get:
      operationId: comments_list
      tags:
      - comments
      x-ycli-operations:
      - comments.list
      x-ycli-effect: read
      x-ycli-pagination: RelativeIdPagination
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      - name: id
        in: query
        schema: {}
      - name: perPage
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CommentsComment'
    post:
      operationId: comments_add
      tags:
      - comments
      x-ycli-operations:
      - comments.add
      x-ycli-effect: write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentsComment'
  /issues/{key}/comments/{comment_id}:
    delete:
      operationId: comments_delete
      tags:
      - comments
      x-ycli-operations:
      - comments.delete
      x-ycli-effect: destructive
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: comments_get
      tags:
      - comments
      x-ycli-operations:
      - comments.get
      x-ycli-effect: read
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        required: true
        schema:
          anyOf:
          - type: integer
          - type: string
      - name: expand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentsComment'
    patch:
      operationId: comments_edit
      tags:
      - comments
      x-ycli-operations:
      - comments.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        required: true
        schema:
          anyOf:
          - type: integer
          - type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentsCommentUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentsComment'
  /issues/{key}/comments/{comment_id}/reactions/{name}:
    post:
      operationId: comments_react
      tags:
      - comments
      x-ycli-operations:
      - comments.react
      x-ycli-effect: write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        required: true
        schema:
          anyOf:
          - type: integer
          - type: string
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentsComment'
  /issues/{key}/links:
    get:
      operationId: links_list
      tags:
      - links
      x-ycli-operations:
      - links.list
      x-ycli-effect: read
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LinksLink'
    post:
      operationId: links_add
      tags:
      - links
      x-ycli-operations:
      - links.add
      x-ycli-effect: write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinksLink'
  /issues/{key}/links/_list:
    post:
      operationId: links_search
      tags:
      - links
      x-ycli-operations:
      - links.search
      x-ycli-effect: read
      x-ycli-pagination: PageNumberPagination
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        schema: {}
      - name: perPage
        in: query
        schema: {}
      requestBody:
        content:
          application/json: {}
        x-ycli-body: untyped
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkPage'
  /issues/{key}/links/{link_id}:
    delete:
      operationId: links_delete
      tags:
      - links
      x-ycli-operations:
      - links.delete
      x-ycli-effect: destructive
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: link_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
  /issues/{key}/transitions:
    get:
      operationId: transitions_list
      tags:
      - transitions
      x-ycli-operations:
      - transitions.list
      x-ycli-effect: read
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Transition'
  /issues/{key}/transitions/{transition_id}/_execute:
    post:
      operationId: transitions_execute
      tags:
      - transitions
      x-ycli-operations:
      - transitions.execute
      x-ycli-effect: write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: transition_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransitionExecute'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Transition'
  /issues/{key}/worklog:
    get:
      operationId: worklog_list
      tags:
      - worklog
      x-ycli-operations:
      - worklog.list
      x-ycli-effect: read
      x-ycli-pagination: RelativeIdPagination
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: query
        schema: {}
      - name: perPage
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Worklog'
    post:
      operationId: worklog_create
      tags:
      - worklog
      x-ycli-operations:
      - worklog.create
      x-ycli-effect: write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorklogCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Worklog'
  /issues/{key}/worklog/{record_id}:
    delete:
      operationId: worklog_delete
      tags:
      - worklog
      x-ycli-operations:
      - worklog.delete
      x-ycli-effect: destructive
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: record_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
    patch:
      operationId: worklog_edit
      tags:
      - worklog
      x-ycli-operations:
      - worklog.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      - name: record_id
        in: path
        required: true
        schema:
          anyOf:
          - type: integer
          - type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorklogUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Worklog'
  /issuetypes:
    get:
      operationId: issuetypes_list
      tags:
      - issuetypes
      x-ycli-operations:
      - issuetypes.list
      x-ycli-effect: read
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueType'
    post:
      operationId: issuetypes_create
      tags:
      - issuetypes
      x-ycli-operations:
      - issuetypes.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueTypeCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueType'
  /issuetypes/{issue_type_id}:
    patch:
      operationId: issuetypes_edit
      tags:
      - issuetypes
      x-ycli-operations:
      - issuetypes.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: issue_type_id
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueTypeUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueType'
  /linktypes:
    get:
      operationId: linktypes_list
      tags:
      - linktypes
      x-ycli-operations:
      - linktypes.list
      x-ycli-effect: read
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LinkType'
  /liveBoards:
    post:
      operationId: boards_create
      tags:
      - boards
      x-ycli-operations:
      - boards.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoardCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Board'
  /myself:
    get:
      operationId: me_get
      tags:
      - me
      x-ycli-operations:
      - me.get
      x-ycli-effect: read
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Me'
  /priorities:
    get:
      operationId: priorities_list
      tags:
      - priorities
      x-ycli-operations:
      - priorities.list
      x-ycli-effect: read
      parameters:
      - name: localized
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Priority'
    post:
      operationId: priorities_create
      tags:
      - priorities
      x-ycli-operations:
      - priorities.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PriorityCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Priority'
  /priorities/{priority_id}:
    patch:
      operationId: priorities_edit
      tags:
      - priorities
      x-ycli-operations:
      - priorities.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: priority_id
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PriorityUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Priority'
  /projects:
    get:
      operationId: projects_list
      tags:
      - projects
      x-ycli-operations:
      - projects.list
      x-ycli-effect: read
      parameters:
      - name: expand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
    post:
      operationId: projects_create
      tags:
      - projects
      x-ycli-operations:
      - projects.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
  /projects/{project_id}:
    delete:
      operationId: projects_delete
      tags:
      - projects
      x-ycli-operations:
      - projects.delete
      x-ycli-effect: destructive
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: projects_get
      tags:
      - projects
      x-ycli-operations:
      - projects.get
      x-ycli-effect: read
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: integer
      - name: expand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
    put:
      operationId: projects_edit
      tags:
      - projects
      x-ycli-operations:
      - projects.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: integer
      - name: expand
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
  /projects/{project_id}/queues:
    get:
      operationId: projects_queues
      tags:
      - projects
      x-ycli-operations:
      - projects.queues
      x-ycli-effect: read
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: integer
      - name: expand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Queue'
  /queues:
    get:
      operationId: queues_list
      tags:
      - queues
      x-ycli-operations:
      - queues.list
      x-ycli-effect: read
      x-ycli-pagination: PageNumberPagination
      parameters:
      - name: expand
        in: query
        schema:
          type: string
      - name: page
        in: query
        schema: {}
      - name: perPage
        in: query
        schema: {}
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Queue'
    post:
      operationId: queues_create
      tags:
      - queues
      x-ycli-operations:
      - queues.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueueCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Queue'
  /queues/{queue_id}:
    delete:
      operationId: queues_delete
      tags:
      - queues
      x-ycli-operations:
      - queues.delete
      x-ycli-effect: destructive
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: queues_get
      tags:
      - queues
      x-ycli-operations:
      - queues.get
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Queue'
  /queues/{queue_id}/_restore:
    post:
      operationId: queues_restore
      tags:
      - queues
      x-ycli-operations:
      - queues.restore
      x-ycli-effect: write
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Queue'
  /queues/{queue_id}/autoactions:
    post:
      operationId: autoactions_create
      tags:
      - autoactions
      x-ycli-operations:
      - autoactions.create
      x-ycli-effect: write
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoactionCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Autoaction'
  /queues/{queue_id}/autoactions/{action_id}:
    get:
      operationId: autoactions_get
      tags:
      - autoactions
      x-ycli-operations:
      - autoactions.get
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: action_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Autoaction'
  /queues/{queue_id}/autoactions/{action_id}/logs:
    get:
      operationId: autoactions_logs
      tags:
      - autoactions
      x-ycli-operations:
      - autoactions.logs
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: action_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AutoactionLogEntry'
  /queues/{queue_id}/autoactions/{action_id}/logs/{run_id}:
    get:
      operationId: autoactions_log_detail
      tags:
      - autoactions
      x-ycli-operations:
      - autoactions.log_detail
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: action_id
        in: path
        required: true
        schema:
          type: integer
      - name: run_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AutoactionRunEntry'
  /queues/{queue_id}/components:
    get:
      operationId: components_list_for_queue
      tags:
      - components
      x-ycli-operations:
      - components.list_for_queue
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Component'
  /queues/{queue_id}/fields:
    get:
      operationId: queues_fields
      tags:
      - queues
      x-ycli-operations:
      - queues.fields
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QueueField'
  /queues/{queue_id}/localFields:
    get:
      operationId: localfields_list
      tags:
      - localfields
      x-ycli-operations:
      - localfields.list
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LocalField'
    post:
      operationId: localfields_create
      tags:
      - localfields
      x-ycli-operations:
      - localfields.create
      x-ycli-effect: write
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FieldCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocalField'
  /queues/{queue_id}/localFields/{field_key}:
    get:
      operationId: localfields_get
      tags:
      - localfields
      x-ycli-operations:
      - localfields.get
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: field_key
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocalField'
    patch:
      operationId: localfields_edit
      tags:
      - localfields
      x-ycli-operations:
      - localfields.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: field_key
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocalFieldUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocalField'
  /queues/{queue_id}/macros:
    get:
      operationId: macros_list
      tags:
      - macros
      x-ycli-operations:
      - macros.list
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Macro'
    post:
      operationId: macros_create
      tags:
      - macros
      x-ycli-operations:
      - macros.create
      x-ycli-effect: write
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MacroCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Macro'
  /queues/{queue_id}/macros/{macro_id}:
    delete:
      operationId: macros_delete
      tags:
      - macros
      x-ycli-operations:
      - macros.delete
      x-ycli-effect: destructive
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: macro_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: macros_get
      tags:
      - macros
      x-ycli-operations:
      - macros.get
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: macro_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Macro'
    patch:
      operationId: macros_edit
      tags:
      - macros
      x-ycli-operations:
      - macros.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: macro_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MacroUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Macro'
  /queues/{queue_id}/permissions:
    patch:
      operationId: queues_set_permissions
      tags:
      - queues
      x-ycli-operations:
      - queues.set_permissions
      x-ycli-effect: idempotent_write
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueuePermissionsUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueuePermissions'
  /queues/{queue_id}/permissions/groups/{group_id}:
    get:
      operationId: queues_group_permissions
      tags:
      - queues
      x-ycli-operations:
      - queues.group_permissions
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: group_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueGroupAccess'
  /queues/{queue_id}/permissions/users/{user_id}:
    get:
      operationId: queues_user_permissions
      tags:
      - queues
      x-ycli-operations:
      - queues.user_permissions
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueUserAccess'
  /queues/{queue_id}/tags:
    get:
      operationId: queues_tags
      tags:
      - queues
      x-ycli-operations:
      - queues.tags
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
  /queues/{queue_id}/tags/_remove:
    post:
      operationId: queues_tag_remove
      tags:
      - queues
      x-ycli-operations:
      - queues.tag_remove
      x-ycli-effect: destructive
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueueTagRemove'
        x-ycli-body: typed
      responses:
        '200':
          description: ycli reads no body.
  /queues/{queue_id}/triggers:
    get:
      operationId: triggers_list
      tags:
      - triggers
      x-ycli-operations:
      - triggers.list
      x-ycli-effect: read
      x-ycli-pagination: RelativeIdPagination
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: query
        schema: {}
      - name: perPage
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Trigger'
    post:
      operationId: triggers_create
      tags:
      - triggers
      x-ycli-operations:
      - triggers.create
      x-ycli-effect: write
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TriggerCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trigger'
  /queues/{queue_id}/triggers/{trigger_id}:
    get:
      operationId: triggers_get
      tags:
      - triggers
      x-ycli-operations:
      - triggers.get
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: trigger_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trigger'
    patch:
      operationId: triggers_edit
      tags:
      - triggers
      x-ycli-operations:
      - triggers.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: trigger_id
        in: path
        required: true
        schema:
          type: integer
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TriggerUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trigger'
  /queues/{queue_id}/triggers/{trigger_id}/webhooks/log:
    get:
      operationId: triggers_webhook_log
      tags:
      - triggers
      x-ycli-operations:
      - triggers.webhook_log
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      - name: trigger_id
        in: path
        required: true
        schema:
          type: integer
      - name: from
        in: query
        schema:
          type: string
      - name: issueId
        in: query
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
      - name: to
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebhookLogEntry'
  /queues/{queue_id}/versions:
    get:
      operationId: queues_versions
      tags:
      - queues
      x-ycli-operations:
      - queues.versions
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QueueVersionInfo'
  /queues/{queue_id}/workflows:
    get:
      operationId: workflows_for_queue
      tags:
      - workflows
      x-ycli-operations:
      - workflows.for_queue
      x-ycli-effect: read
      parameters:
      - name: queue_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    $ref: '#/components/schemas/KeyedReference'
  /resolutions:
    get:
      operationId: resolutions_list
      tags:
      - resolutions
      x-ycli-operations:
      - resolutions.list
      x-ycli-effect: read
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Resolution'
    post:
      operationId: resolutions_create
      tags:
      - resolutions
      x-ycli-operations:
      - resolutions.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResolutionCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resolution'
  /resolutions/{resolution_id}:
    patch:
      operationId: resolutions_edit
      tags:
      - resolutions
      x-ycli-operations:
      - resolutions.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: resolution_id
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResolutionUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resolution'
  /sprints:
    post:
      operationId: sprints_create
      tags:
      - sprints
      x-ycli-operations:
      - sprints.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SprintCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sprint'
  /sprints/{sprint_id}:
    delete:
      operationId: sprints_delete
      tags:
      - sprints
      x-ycli-operations:
      - sprints.delete
      x-ycli-effect: destructive
      parameters:
      - name: sprint_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: sprints_get
      tags:
      - sprints
      x-ycli-operations:
      - sprints.get
      x-ycli-effect: read
      parameters:
      - name: sprint_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sprint'
    patch:
      operationId: sprints_edit
      tags:
      - sprints
      x-ycli-operations:
      - sprints.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: sprint_id
        in: path
        required: true
        schema:
          type: integer
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SprintUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sprint'
  /sprints/{sprint_id}/_archive:
    post:
      operationId: sprints_archive
      tags:
      - sprints
      x-ycli-operations:
      - sprints.archive
      x-ycli-effect: write
      parameters:
      - name: sprint_id
        in: path
        required: true
        schema:
          type: integer
      - name: version
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sprint'
  /sprints/{sprint_id}/_start:
    post:
      operationId: sprints_start
      tags:
      - sprints
      x-ycli-operations:
      - sprints.start
      x-ycli-effect: write
      parameters:
      - name: sprint_id
        in: path
        required: true
        schema:
          type: integer
      - name: version
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sprint'
  /statuses:
    get:
      operationId: statuses_list
      tags:
      - statuses
      x-ycli-operations:
      - statuses.list
      x-ycli-effect: read
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Status'
    post:
      operationId: statuses_create
      tags:
      - statuses
      x-ycli-operations:
      - statuses.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
  /statuses/{status_id}:
    patch:
      operationId: statuses_edit
      tags:
      - statuses
      x-ycli-operations:
      - statuses.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: status_id
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
  /system/search/scroll/_clear:
    post:
      operationId: issues_scroll_clear
      tags:
      - issues
      x-ycli-operations:
      - issues.scroll_clear
      x-ycli-effect: idempotent_write
      requestBody:
        content:
          application/json: {}
        x-ycli-body: untyped
      responses:
        '200':
          description: ycli reads no body.
  /users/_relative:
    get:
      operationId: users_list
      tags:
      - users
      x-ycli-operations:
      - users.list
      x-ycli-effect: read
      x-ycli-pagination: RelativeIdPagination
      parameters:
      - name: expand
        in: query
        schema:
          type: string
      - name: id
        in: query
        schema: {}
      - name: perPage
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersRelativeResponse'
  /users/{login_or_id}:
    get:
      operationId: users_get
      tags:
      - users
      x-ycli-operations:
      - users.get
      x-ycli-effect: read
      parameters:
      - name: login_or_id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
  /versions:
    post:
      operationId: queues_version_create
      tags:
      - queues
      x-ycli-operations:
      - queues.version_create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueueVersionCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueVersionInfo'
  /versions/{version_id}:
    delete:
      operationId: queues_version_delete
      tags:
      - queues
      x-ycli-operations:
      - queues.version_delete
      x-ycli-effect: destructive
      parameters:
      - name: version_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: queues_version_get
      tags:
      - queues
      x-ycli-operations:
      - queues.version_get
      x-ycli-effect: read
      parameters:
      - name: version_id
        in: path
        required: true
        schema:
          type: integer
      - name: fields
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueVersionInfo'
    patch:
      operationId: queues_version_edit
      tags:
      - queues
      x-ycli-operations:
      - queues.version_edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: version_id
        in: path
        required: true
        schema:
          type: integer
      - name: fields
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueueVersionUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueVersionInfo'
  /workflows:
    get:
      operationId: workflows_list
      tags:
      - workflows
      x-ycli-operations:
      - workflows.list
      x-ycli-effect: read
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Workflow'
    post:
      operationId: workflows_create
      tags:
      - workflows
      x-ycli-operations:
      - workflows.create
      x-ycli-effect: write
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowCreate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
  /workflows/{workflow_id}:
    delete:
      operationId: workflows_delete
      tags:
      - workflows
      x-ycli-operations:
      - workflows.delete
      x-ycli-effect: destructive
      parameters:
      - name: workflow_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ycli reads no body.
    get:
      operationId: workflows_get
      tags:
      - workflows
      x-ycli-operations:
      - workflows.get
      x-ycli-effect: read
      parameters:
      - name: workflow_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
    patch:
      operationId: workflows_edit
      tags:
      - workflows
      x-ycli-operations:
      - workflows.edit
      x-ycli-effect: idempotent_write
      parameters:
      - name: workflow_id
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
  /workflows/{workflow_id}/steps/{status}/actions/{action_id}:
    patch:
      operationId: workflows_edit_action
      tags:
      - workflows
      x-ycli-operations:
      - workflows.edit_action
      x-ycli-effect: idempotent_write
      parameters:
      - name: workflow_id
        in: path
        required: true
        schema:
          type: string
      - name: status
        in: path
        required: true
        schema:
          type: string
      - name: action_id
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowActionUpdate'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
  /worklog:
    get:
      operationId: worklog_global_list
      tags:
      - worklog
      x-ycli-operations:
      - worklog.global_list
      x-ycli-effect: read
      parameters:
      - name: createdAt
        in: query
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: string
          - type: 'null'
      - name: createdBy
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Worklog'
  /worklog/_search:
    post:
      operationId: worklog_search
      tags:
      - worklog
      x-ycli-operations:
      - worklog.search
      x-ycli-effect: read
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorklogSearch'
        x-ycli-body: typed
      responses:
        '200':
          description: Parsed by ycli.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Worklog'
components:
  securitySchemes:
    oauth:
      type: apiKey
      in: header
      name: Authorization
      description: '`OAuth <token>`'
    organization:
      type: apiKey
      in: header
      name: X-Org-Id
  schemas:
    AccessHolders:
      description: "Who holds one permission: users, groups and roles (an empty kind is left out by the\
        \ API).\n\nExamples:\n    >>> AccessHolders.model_validate({\"groups\": [{\"id\": \"5\"}]}).groups[0].id\n\
        \    '5'"
      properties:
        users:
          description: Users holding the permission personally.
          items:
            $ref: '#/components/schemas/UserReference'
          title: Users
          type: array
        groups:
          description: Groups holding the permission.
          items:
            $ref: '#/components/schemas/Reference'
          title: Groups
          type: array
        roles:
          description: Roles (queue-lead, author, …) holding the permission.
          items:
            $ref: '#/components/schemas/Reference'
          title: Roles
          type: array
      title: AccessHolders
      type: object
    AccessPermissions:
      description: "The permissions of one subject, keyed by kind; a kind the subject lacks is absent.\n\
        \n``grant`` (queue settings) exists on a queue only; a component has create/read/write/deny.\n\
        \nExamples:\n    >>> AccessPermissions.model_validate(\n    ...     {\"CREATE\": {\"roles\": [{\"\
        id\": \"author\"}]}}\n    ... ).create.roles[0].id\n    'author'"
      properties:
        GRANT:
          anyOf:
          - $ref: '#/components/schemas/AccessHolders'
          - type: 'null'
          default: null
          description: Who may change the queue's settings.
        CREATE:
          anyOf:
          - $ref: '#/components/schemas/AccessHolders'
          - type: 'null'
          default: null
          description: Who may create issues.
        READ:
          anyOf:
          - $ref: '#/components/schemas/AccessHolders'
          - type: 'null'
          default: null
          description: Who may view issues.
        WRITE:
          anyOf:
          - $ref: '#/components/schemas/AccessHolders'
          - type: 'null'
          default: null
          description: Who may edit issues.
        DENY:
          anyOf:
          - $ref: '#/components/schemas/AccessHolders'
          - type: 'null'
          default: null
          description: Who is denied access.
      title: AccessPermissions
      type: object
    Acl:
      description: "The ``acl`` block — READ / WRITE / GRANT principal sets.\n\nExamples:\n    >>> Acl.model_validate({\"\
        READ\": {\"roles\": [\"OWNER\"]}}).read.roles\n    ['OWNER']"
      properties:
        READ:
          anyOf:
          - $ref: '#/components/schemas/AclPrincipals'
          - type: 'null'
          default: null
          description: Principals with READ access.
        WRITE:
          anyOf:
          - $ref: '#/components/schemas/AclPrincipals'
          - type: 'null'
          default: null
          description: Principals with WRITE access.
        GRANT:
          anyOf:
          - $ref: '#/components/schemas/AclPrincipals'
          - type: 'null'
          default: null
          description: Principals with GRANT (admin) access.
      title: Acl
      type: object
    AclInput:
      description: "The ``acl`` block for a permissions-set body (READ / WRITE / GRANT principal sets).\n\
        \nExamples:\n    >>> AclInput(read=AclPrincipalsInput(roles=[\"OWNER\"])).model_dump(exclude_none=True)\n\
        \    {'READ': {'roles': ['OWNER']}}"
      properties:
        READ:
          anyOf:
          - $ref: '#/components/schemas/AclPrincipalsInput'
          - type: 'null'
          default: null
          description: Principals to grant READ.
        WRITE:
          anyOf:
          - $ref: '#/components/schemas/AclPrincipalsInput'
          - type: 'null'
          default: null
          description: Principals to grant WRITE.
        GRANT:
          anyOf:
          - $ref: '#/components/schemas/AclPrincipalsInput'
          - type: 'null'
          default: null
          description: Principals to grant GRANT (admin).
      title: AclInput
      type: object
    AclPrincipals:
      description: "The users/groups/roles granted one access level (READ / WRITE / GRANT).\n\nExamples:\n\
        \    >>> AclPrincipals.model_validate({\"roles\": [\"OWNER\"]}).roles\n    ['OWNER']"
      properties:
        users:
          description: Users granted this level.
          items:
            $ref: '#/components/schemas/UserReference'
          title: Users
          type: array
        groups:
          description: Groups granted this level.
          items:
            $ref: '#/components/schemas/Reference'
          title: Groups
          type: array
        roles:
          description: Roles granted this level.
          items:
            type: string
          title: Roles
          type: array
      title: AclPrincipals
      type: object
    AclPrincipalsInput:
      description: "The users/groups/roles for one access level in a permissions-set body.\n\nExamples:\n\
        \    >>> AclPrincipalsInput(roles=[\"OWNER\"]).model_dump(exclude_none=True)\n    {'roles': ['OWNER']}"
      properties:
        users:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: User ids to grant this level.
          title: Users
        groups:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Group ids to grant this level.
          title: Groups
        roles:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Roles to grant this level.
          title: Roles
      title: AclPrincipalsInput
      type: object
    Application:
      description: "An external application that issues can be linked to (``/applications`` item).\n\n\
        Examples:\n    >>> Application.model_validate({\"id\": \"my-app\", \"name\": \"My app\"}).id\n\
        \    'my-app'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the application.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Unique identifier of the application.
          title: Id
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Type of the application; matches the value of the id parameter.
          title: Type
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the application.
          title: Name
      title: Application
      type: object
    AttachmentMetadata:
      description: "The ``metadata`` sub-object of an attachment: extra file metadata.\n\nPresent for\
        \ graphic files, where it carries the image's pixel dimensions.\n\nExamples:\n    >>> AttachmentMetadata.model_validate({\"\
        size\": \"550x175\"}).size\n    '550x175'"
      properties:
        size:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Image dimensions in pixels (``WIDTHxHEIGHT``); graphic files only.
          title: Size
      title: AttachmentMetadata
      type: object
    AttachmentsAttachment:
      description: "A file attached to a Tracker issue (``/issues/{key}/attachments`` item).\n\nExamples:\n\
        \    >>> Attachment.model_validate(\n    ...     {\"id\": \"123\", \"name\": \"picture.jpg\",\
        \ \"createdBy\": {\"display\": \"Full Name\"}}\n    ... ).created_by\n    'Full Name'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource address of this attachment.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Unique file identifier.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: File name.
          title: Name
        content:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Download URL for the file's raw bytes (fetch via ``attachments download``).
          title: Content
        thumbnail:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Download URL for the preview thumbnail; graphic files only.
          title: Thumbnail
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the user who attached the file.
          title: Createdby
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Upload timestamp (``YYYY-MM-DDThh:mm:ss.sss±hhmm``).
          title: Createdat
        mimetype:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: MIME type of the file, e.g. ``image/png`` or ``text/plain``.
          title: Mimetype
        size:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: File size in bytes.
          title: Size
        metadata:
          anyOf:
          - $ref: '#/components/schemas/AttachmentMetadata'
          - type: 'null'
          default: null
          description: Extra file metadata (image pixel dimensions for graphic files).
      title: Attachment
      type: object
    Autoaction:
      description: "A queue autoaction (``GET /queues/{id}/autoactions/{action_id}``).\n\nExamples:\n\
        \    >>> Autoaction.model_validate({\"id\": 9, \"name\": \"auto\", \"active\": True}).name\n \
        \   'auto'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns the autoaction's parameters.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the autoaction.
          title: Id
        queue:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: Queue the autoaction is configured in.
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the autoaction.
          title: Name
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Autoaction version; incremented on every change.
          title: Version
        active:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the autoaction is active (true) or disabled (false).
          title: Active
        created:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Creation timestamp (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Created
        updated:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Last-change timestamp (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Updated
        filter:
          default: null
          description: Field-based filter selecting the issues the autoaction runs on.
          title: Filter
        query:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: TQL query selecting the issues the autoaction runs on.
          title: Query
        actions:
          description: Actions applied to each matching issue.
          items:
            $ref: '#/components/schemas/AutomationAction'
          title: Actions
          type: array
        enableNotifications:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether notifications are sent when the autoaction runs.
          title: Enablenotifications
        lastLaunch:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Timestamp of the autoaction's last run (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Lastlaunch
        totalIssuesProcessed:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of issues checked on the autoaction's last run.
          title: Totalissuesprocessed
        intervalMillis:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Run interval in milliseconds (default 3600000 — once an hour).
          title: Intervalmillis
        calendar:
          anyOf:
          - $ref: '#/components/schemas/AutoactionCalendar'
          - type: 'null'
          default: null
          description: Working-calendar window the autoaction is active in.
      title: Autoaction
      type: object
    AutoactionCalendar:
      description: "The working-calendar window an autoaction is active in (``calendar`` object).\n\n\
        Examples:\n    >>> AutoactionCalendar(id=2).id\n    2"
      properties:
        id:
          description: Identifier of the working calendar/schedule.
          title: Id
          type: integer
      required:
      - id
      title: AutoactionCalendar
      type: object
    AutoactionCreate:
      description: "Typed request body for ``autoactions.create`` (``POST /queues/{id}/autoactions``).\n\
        \nSupply at least one of ``filter`` or ``query`` to select the issues to act on.\n\nExamples:\n\
        \    >>> AutoactionCreate(\n    ...     name=\"A\", actions=[AutomationAction(type=\"Transition\"\
        )], query=\"Status: Open\"\n    ... ).name\n    'A'"
      properties:
        name:
          description: Name of the new autoaction.
          title: Name
          type: string
        filter:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Field-based filter selecting the issues to act on.
          title: Filter
        query:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: TQL query selecting the issues to act on.
          title: Query
        actions:
          description: Actions applied to each matching issue.
          items:
            $ref: '#/components/schemas/AutomationAction'
          title: Actions
          type: array
        active:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the autoaction starts active (true) or disabled (false).
          title: Active
        enable_notifications:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether notifications are sent when the autoaction runs.
          title: Enable Notifications
        interval_millis:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Run interval in milliseconds (default 3600000 — once an hour).
          title: Interval Millis
        calendar:
          anyOf:
          - $ref: '#/components/schemas/AutoactionCalendar'
          - type: 'null'
          default: null
          description: Working-calendar window the autoaction is active in.
      required:
      - name
      - actions
      title: AutoactionCreate
      type: object
    AutoactionIssueRef:
      description: "The issue an autoaction run touched (``issueReference`` object).\n\nExamples:\n  \
        \  >>> AutoactionIssueRef.model_validate({\"key\": \"TEST-1\"}).key\n    'TEST-1'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the issue.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the issue.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Version of the issue.
          title: Version
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the issue (e.g. TEST-1).
          title: Key
        display:
          default: null
          description: Human-readable name of the issue.
          title: Display
      title: AutoactionIssueRef
      type: object
    AutoactionLogEntry:
      description: "One run-summary record from ``.../autoactions/{id}/logs``.\n\nExamples:\n    >>> AutoactionLogEntry.model_validate({\"\
        id\": \"x\", \"searchHits\": 3}).search_hits\n    3"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the autoaction run.
          title: Id
        launchTime:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: When the run started (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Launchtime
        searchHits:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of issues the run processed.
          title: Searchhits
        successes:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of issues the autoaction fired on.
          title: Successes
        failures:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of issues the autoaction failed on.
          title: Failures
        searchFailed:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: True when no issue was processed at all in the run.
          title: Searchfailed
      title: AutoactionLogEntry
      type: object
    AutoactionRunEntry:
      description: "One per-issue outcome from ``.../autoactions/{id}/logs/{run_id}``.\n\nExamples:\n\
        \    >>> AutoactionRunEntry.model_validate(\n    ...     {\"id\": 0, \"issueReference\": {\"key\"\
        : \"TEST-1\"}, \"status\": {\"value\": \"success\"}}\n    ... ).issue_reference.key\n    'TEST-1'"
      properties:
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Zero-based sequence number of the issue within the run.
          title: Id
        issueReference:
          anyOf:
          - $ref: '#/components/schemas/AutoactionIssueRef'
          - type: 'null'
          default: null
          description: The issue this outcome is for.
        status:
          anyOf:
          - $ref: '#/components/schemas/AutoactionRunStatus'
          - type: 'null'
          default: null
          description: Outcome of the autoaction on this issue.
      title: AutoactionRunEntry
      type: object
    AutoactionRunStatus:
      description: "The per-issue outcome of an autoaction run (``status`` object).\n\nExamples:\n   \
        \ >>> AutoactionRunStatus.model_validate({\"value\": \"success\"}).value\n    'success'"
      properties:
        value:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Outcome value (e.g. success).
          title: Value
        display:
          default: null
          description: Human-readable outcome name.
          title: Display
      title: AutoactionRunStatus
      type: object
    AutomationAction:
      additionalProperties: true
      description: "One action of a trigger or an autoaction (a ``type``-keyed object).\n\n``type`` is\
        \ one of Transition, Update, Move, CreateComment, Webhook, CalculateFormula, … ;\nthe type-specific\
        \ parameters (``status``, ``queue``, ``text`` …) ride along as extra fields\npreserved verbatim.\n\
        \nExamples:\n    >>> AutomationAction.model_validate({\"type\": \"Transition\", \"status\": {\"\
        key\": \"x\"}}).type\n    'Transition'"
      properties:
        type:
          description: Action type discriminator (e.g. Transition, Update, Webhook).
          title: Type
          type: string
      required:
      - type
      title: AutomationAction
      type: object
    Board:
      description: "An agile board (``/boards/{id}`` and ``/boards/_paginate`` item).\n\nA board visualises\
        \ issues as cards grouped into columns by status. Reference objects\n(``createdBy``/``estimateBy``/``country``)\
        \ are flattened to their display string.\n\nExamples:\n    >>> Board.model_validate(\n    ...\
        \     {\"id\": 1, \"name\": \"My board\", \"estimateBy\": {\"display\": \"Story Points\"}}\n \
        \   ... ).estimate_by\n    'Story Points'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the board.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the board.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Board version; every change to the board increments this number.
          title: Version
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name of the board.
          title: Name
        columns:
          description: Columns of the board, one status bucket per column.
          items:
            $ref: '#/components/schemas/Reference'
          title: Columns
          type: array
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Board creation timestamp (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Createdat
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Timestamp of the board's most recent update (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Updatedat
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the user who created the board.
          title: Createdby
        useRanking:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: 'Deprecated flag: whether reordering cards on the board is allowed.'
          title: Useranking
        estimateBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Deprecated: display name of the issue field used to estimate effort.'
          title: Estimateby
        country:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Deprecated: display name of the board''s country.'
          title: Country
        calendar:
          anyOf:
          - $ref: '#/components/schemas/Calendar'
          - type: 'null'
          default: null
          description: Calendar whose working-days data feeds the burndown chart.
        autoFilterSettings:
          default: null
          description: Filter settings that auto-add issues to and remove them from the board.
          title: Autofiltersettings
      title: Board
      type: object
    BoardColumnInput:
      description: "One column in a create/edit board request body (``columns[]`` item).\n\nExamples:\n\
        \    >>> BoardColumnInput(name=\"To Do\", statuses=[\"new\", \"open\"]).name\n    'To Do'"
      properties:
        name:
          description: Name of the column.
          title: Name
          type: string
        statuses:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Status keys whose issues are shown in this column (names/keys from settings).
          title: Statuses
        limit:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Maximum number of issues allowed in the column.
          title: Limit
      required:
      - name
      title: BoardColumnInput
      type: object
    BoardCreate:
      description: "Typed request body for ``boards.create`` (``POST /liveBoards/``).\n\n``name`` is the\
        \ only required field; every other field is omitted from the JSON\nbody when left as ``None``\
        \ (see ``model_dump(exclude_none=True)``).\n\nExamples:\n    >>> BoardCreate(name=\"Testing\"\
        , owner=\"username\").name\n    'Testing'"
      properties:
        name:
          description: Name of the new board (required).
          title: Name
          type: string
        owner:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Login or uid of the board owner (defaults to the caller).
          title: Owner
        board_permissions_template:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Access template: ''private'' (owner only) or ''public'' (all staff, the default).'
          title: Board Permissions Template
        backlog_available:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the board has a backlog enabled (pair with sprintsAvailable).
          title: Backlog Available
        sprints_available:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the board has sprints enabled (pair with backlogAvailable).
          title: Sprints Available
        columns:
          anyOf:
          - items:
              $ref: '#/components/schemas/BoardColumnInput'
            type: array
          - type: 'null'
          default: null
          description: Status-backed columns of the board, one bucket per column.
          title: Columns
      required:
      - name
      title: BoardCreate
      type: object
    BoardUpdate:
      description: "Typed request body for ``boards.edit`` (``PATCH /boards/{board_id}``).\n\nEvery field\
        \ is optional; only the fields you set are sent, so an omitted field\nis left unchanged on the\
        \ board.\n\nExamples:\n    >>> BoardUpdate(name=\"New name\").name\n    'New name'"
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New name of the board.
          title: Name
        backlog_available:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the board has a backlog enabled (pair with sprintsAvailable).
          title: Backlog Available
        sprints_available:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the board has sprints enabled (pair with backlogAvailable).
          title: Sprints Available
        columns:
          anyOf:
          - items:
              $ref: '#/components/schemas/BoardColumnInput'
            type: array
          - type: 'null'
          default: null
          description: Replacement status-backed columns of the board.
          title: Columns
      title: BoardUpdate
      type: object
    BulkChange:
      description: "A bulk-change operation's status (returned by the trigger and by ``GET /bulkchange/{id}``).\n\
        \n``status`` starts at ``CREATED`` and progresses to a terminal ``COMPLETE`` / ``FAILED``;\n:attr:`is_terminal`\
        \ reports whether it has stopped, driving the ``--wait`` poll loop.\n\nExamples:\n    >>> BulkChange.model_validate({\"\
        id\": \"1ab\", \"status\": \"COMPLETE\"}).is_terminal\n    True"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource address of this bulk-change operation.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the bulk-change operation.
          title: Id
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the user who started the operation.
          title: Createdby
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Creation timestamp (``YYYY-MM-DDThh:mm:ss.sss±hhmm``).
          title: Createdat
        status:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Operation status, e.g. ``CREATED``, ``COMPLETE``, ``FAILED``.
          title: Status
        statusText:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable description of the status.
          title: Statustext
        executionChunkPercent:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Service parameter (chunk progress %).
          title: Executionchunkpercent
        executionIssuePercent:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Service parameter (issue progress %).
          title: Executionissuepercent
        totalIssues:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of issues the operation should change.
          title: Totalissues
        totalCompletedIssues:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of issues the operation has finished successfully.
          title: Totalcompletedissues
      title: BulkChange
      type: object
    BulkChangeOperation:
      description: "An async bulk-change operation handle (``POST …/bulkchange/_update`` response).\n\n\
        Poll :meth:`EntitiesClient.bulk_status` with ``id`` until ``status`` is terminal.\n\nExamples:\n\
        \    >>> BulkChangeOperation.model_validate({\"id\": \"656\", \"status\": \"CREATED\"}).status\n\
        \    'CREATED'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Bulk-change operation identifier.
          title: Id
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource address of the operation.
          title: Self
        createdBy:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: User who started the operation.
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Operation creation timestamp.
          title: Createdat
        status:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Operation status, e.g. CREATED / COMPLETE / FAILED.
          title: Status
        statusText:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable status message.
          title: Statustext
        executionChunkPercent:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Percent of chunks processed.
          title: Executionchunkpercent
        executionIssuePercent:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Percent of entities processed.
          title: Executionissuepercent
      title: BulkChangeOperation
      type: object
    BulkChangeUpdate:
      description: "Typed request body for ``POST …/bulkchange/_update`` (mass-edit entities).\n\nExamples:\n\
        \    >>> BulkChangeUpdate(\n    ...     meta_entities=[\"1\", \"2\"], values=BulkChangeValues(comment=\"\
        done\")\n    ... ).model_dump(exclude_none=True)\n    {'metaEntities': ['1', '2'], 'values': {'comment':\
        \ 'done'}}"
      properties:
        metaEntities:
          description: Identifiers of the entities to update.
          items:
            type: string
          title: Metaentities
          type: array
        values:
          $ref: '#/components/schemas/BulkChangeValues'
          description: What to change on every listed entity.
      required:
      - metaEntities
      - values
      title: BulkChangeUpdate
      type: object
    BulkChangeValues:
      description: "The ``values`` object of a bulk-change body (fields + comment + links).\n\nExamples:\n\
        \    >>> BulkChangeValues(comment=\"done\").model_dump(exclude_none=True)\n    {'comment': 'done'}"
      properties:
        fields:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Field-key → value pairs to apply to every entity.
          title: Fields
        comment:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Comment to add to every entity.
          title: Comment
        links:
          anyOf:
          - items:
              $ref: '#/components/schemas/LinkInput'
            type: array
          - type: 'null'
          default: null
          description: Links to add to every entity.
          title: Links
      title: BulkChangeValues
      type: object
    BulkError:
      description: "The ``error`` block on a failed bulk-change issue result.\n\nExamples:\n    >>> BulkError.model_validate({\"\
        errors\": {\"resolution\": \"bad\"}, \"errorMessages\": []}).errors\n    {'resolution': 'bad'}"
      properties:
        errors:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Per-field error descriptions keyed by field name.
          title: Errors
        errorMessages:
          description: Service parameter (extra messages).
          items:
            type: string
          title: Errormessages
          type: array
      title: BulkError
      type: object
    BulkIssueResult:
      description: "One issue's outcome in ``GET /bulkchange/{id}/issues`` (issues that failed to change).\n\
        \nExamples:\n    >>> BulkIssueResult.model_validate({\"issue\": {\"key\": \"TEST-1\"}, \"status\"\
        : \"FAILED\"}).issue\n    'TEST-1'"
      properties:
        issue:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the affected issue.
          title: Issue
        status:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Outcome status for this issue, e.g. ``FAILED``.
          title: Status
        statusText:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable description of the outcome.
          title: Statustext
        error:
          anyOf:
          - $ref: '#/components/schemas/BulkError'
          - type: 'null'
          default: null
          description: Details of the errors that occurred on this issue.
      title: BulkIssueResult
      type: object
    BulkMove:
      description: "Typed request body for ``POST /bulkchange/_move`` (mass-move issues to another queue).\n\
        \nExamples:\n    >>> BulkMove(queue=\"CHECK\", issues=[\"TEST-1\"]).model_dump(exclude_none=True)\n\
        \    {'queue': 'CHECK', 'issues': ['TEST-1']}"
      properties:
        queue:
          description: Key of the target queue to move the issues into.
          title: Queue
          type: string
        issues:
          anyOf:
          - items:
              type: string
            type: array
          - type: string
          description: Array of issue keys, or a query-language filter string selecting the issues.
          title: Issues
        values:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Optional field values to apply during the move.
          title: Values
        moveAllFields:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Carry versions/components/projects to the new queue if they exist there.
          title: Moveallfields
        initialStatus:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Reset each issue's status to the workflow's initial status (default false).
          title: Initialstatus
        notify:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Notify users referenced in the issues (default false). The reference publishes
            ``notify`` as a query parameter; ycli sends it there too.
          title: Notify
      required:
      - queue
      - issues
      title: BulkMove
      type: object
    BulkTransition:
      description: "Typed request body for ``POST /bulkchange/_transition`` (mass status transition).\n\
        \nExamples:\n    >>> BulkTransition(transition=\"close\", issues=[\"TEST-1\"]).model_dump(exclude_none=True)\n\
        \    {'transition': 'close', 'issues': ['TEST-1']}"
      properties:
        transition:
          description: Identifier of the transition to apply, e.g. ``close``.
          title: Transition
          type: string
        issues:
          anyOf:
          - items:
              type: string
            type: array
          - type: string
          description: Array of issue keys, or a query-language filter string selecting the issues.
          title: Issues
        values:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Optional field values set during the transition (e.g. a resolution).
          title: Values
        notify:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Notify users referenced in the issues (default false). The reference publishes
            ``notify`` as a query parameter; ycli sends it there too.
          title: Notify
      required:
      - transition
      - issues
      title: BulkTransition
      type: object
    BulkUpdate:
      description: "Typed request body for ``POST /bulkchange/_update`` (mass-edit issues).\n\nExamples:\n\
        \    >>> BulkUpdate(issues=[\"TEST-1\"], values={\"priority\": {\"key\": \"blocker\"}}).model_dump(\n\
        \    ...     exclude_none=True\n    ... )\n    {'issues': ['TEST-1'], 'values': {'priority': {'key':\
        \ 'blocker'}}}"
      properties:
        issues:
          anyOf:
          - items:
              type: string
            type: array
          - type: string
          description: Array of issue keys, or a query-language filter string selecting the issues.
          title: Issues
        values:
          additionalProperties: true
          description: Field values to apply (any editable issue field; supports set/add/remove ops).
          title: Values
          type: object
        notify:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Notify users referenced in the issues (default false). The reference publishes
            ``notify`` as a query parameter; ycli sends it there too.
          title: Notify
      required:
      - issues
      - values
      title: BulkUpdate
      type: object
    Calendar:
      description: "The board's calendar reference — its working-days data feeds the burndown chart.\n\
        \nExamples:\n    >>> Calendar.model_validate({\"id\": 6}).id\n    6"
      properties:
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Identifier of the calendar used by the board.
          title: Id
      title: Calendar
      type: object
    ChangeField:
      description: "One changed field within a ``ChangelogEntry``.\n\n``from``/``to`` are polymorphic\
        \ (string, object, array, or null depending on the\nfield that changed) — typed ``Any`` and passed\
        \ through verbatim.\n\nExamples:\n    >>> ChangeField.model_validate({\"field\": {\"id\": \"status\"\
        }, \"to\": {\"key\": \"open\"}}).field\n    'status'"
      properties:
        field:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Field
        from:
          default: null
          title: From
        to:
          default: null
          title: To
      title: ChangeField
      type: object
    ChangelogEntry:
      description: "A changelog event (``/issues/{key}/changelog`` item).\n\nExamples:\n    >>> ChangelogEntry.model_validate(\n\
        \    ...     {\"id\": \"1\", \"updatedBy\": {\"display\": \"Сава\"}, \"fields\": []}\n    ...\
        \ ).updated_by\n    'Сава'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Id
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Updatedat
        updatedBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Updatedby
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Type
        fields:
          items:
            $ref: '#/components/schemas/ChangeField'
          title: Fields
          type: array
      title: ChangelogEntry
      type: object
    Checklist:
      description: "The issue wrapper returned by checklist create/edit/delete calls.\n\nCarries the issue\
        \ ``key`` plus the current ``checklistItems`` and the done/total counts.\n``checklist_items``\
        \ is empty when the whole checklist was cleared.\n\nExamples:\n    >>> Checklist.model_validate(\n\
        \    ...     {\"key\": \"ORG-3\", \"checklistItems\": [{\"text\": \"a\"}], \"checklistTotal\"\
        : 1}\n    ... ).checklist_items[0].text\n    'a'"
      properties:
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the issue the checklist belongs to.
          title: Key
        checklistItems:
          description: Current checklist items after the change (empty once cleared).
          items:
            $ref: '#/components/schemas/ChecklistsChecklistItem'
          title: Checklistitems
          type: array
        checklistTotal:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Total number of checklist items.
          title: Checklisttotal
        checklistDone:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          default: null
          description: Number of items marked done.
          title: Checklistdone
      title: Checklist
      type: object
    ChecklistItemCreate:
      description: "Typed request body for ``POST /issues/{key}/checklistItems`` (add an item).\n\nExamples:\n\
        \    >>> ChecklistItemCreate(text=\"do it\").model_dump(exclude_none=True)\n    {'text': 'do it'}"
      properties:
        text:
          description: Item text (required).
          title: Text
          type: string
        checked:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Mark the new item done.
          title: Checked
        assignee:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Assignee login or id for the item.
          title: Assignee
        deadline:
          anyOf:
          - $ref: '#/components/schemas/DeadlineInput'
          - type: 'null'
          default: null
          description: Item deadline.
      required:
      - text
      title: ChecklistItemCreate
      type: object
    ChecklistItemInput:
      description: "A checklist item in a create (``[{text}]``) or edit-all (``[{id, text}]``) body.\n\
        \nExamples:\n    >>> ChecklistItemInput(text=\"step\").model_dump(exclude_none=True)\n    {'text':\
        \ 'step'}"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Item id (required only in the edit-all body).
          title: Id
        text:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Item text.
          title: Text
        checked:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the item is marked done.
          title: Checked
        assignee:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Assignee user id/login.
          title: Assignee
        deadline:
          anyOf:
          - $ref: '#/components/schemas/DeadlineInput'
          - type: 'null'
          default: null
          description: Per-item deadline.
      title: ChecklistItemInput
      type: object
    ChecklistItemUpdate:
      description: "Typed request body for ``PATCH /issues/{key}/checklistItems/{item_id}`` (edit an item).\n\
        \nExamples:\n    >>> ChecklistItemUpdate(checked=True).model_dump(exclude_none=True)\n    {'checked':\
        \ True}"
      properties:
        text:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New item text.
          title: Text
        checked:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: New done flag.
          title: Checked
        assignee:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New assignee login or id.
          title: Assignee
        deadline:
          anyOf:
          - $ref: '#/components/schemas/DeadlineInput'
          - type: 'null'
          default: null
          description: New item deadline.
      title: ChecklistItemUpdate
      type: object
    ChecklistMove:
      description: "Typed request body for ``POST …/checklistItems/{id}/_move`` (reorder an item).\n\n\
        Examples:\n    >>> ChecklistMove(before=\"65f\").model_dump(exclude_none=True)\n    {'before':\
        \ '65f'}"
      properties:
        before:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Id of the item to insert the moved item before.
          title: Before
      title: ChecklistMove
      type: object
    ChecklistsChecklistItem:
      description: "A single checklist item (``GET /issues/{key}/checklistItems`` element).\n\nExamples:\n\
        \    >>> ChecklistItem.model_validate({\"id\": \"5f\", \"text\": \"do it\", \"checked\": False}).text\n\
        \    'do it'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Checklist item id.
          title: Id
        text:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Item text.
          title: Text
        textHtml:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Item text rendered to HTML.
          title: Texthtml
        checked:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the item is marked done.
          title: Checked
        assignee:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the item assignee, if any.
          title: Assignee
        deadline:
          anyOf:
          - $ref: '#/components/schemas/Deadline'
          - type: 'null'
          default: null
          description: Per-item deadline, if set.
        checklistItemType:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Item type, e.g. 'standard'.
          title: Checklistitemtype
      title: ChecklistItem
      type: object
    Column:
      description: "A board column (``/boards/{id}/columns`` item and ``/boards/{id}/columns/{id}``).\n\
        \nA column groups issue cards by their status; ``statuses`` lists the issue statuses\nwhose cards\
        \ land in this column.\n\nExamples:\n    >>> Column.model_validate({\"id\": 1, \"name\": \"Open\"\
        }).name\n    'Open'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the column.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the column.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name of the column.
          title: Name
        statuses:
          description: Issue statuses whose cards are shown in this column.
          items:
            $ref: '#/components/schemas/KeyedReference'
          title: Statuses
          type: array
      title: Column
      type: object
    ColumnCreate:
      description: "Typed request body for ``columns.create`` (``POST /boards/{board_id}/columns/``).\n\
        \nExamples:\n    >>> ColumnCreate(name=\"Approve\", statuses=[\"needInfo\", \"adjustment\"]).name\n\
        \    'Approve'"
      properties:
        name:
          description: Name of the new column.
          title: Name
          type: string
        statuses:
          description: Keys of the issue statuses whose cards appear in the column.
          items:
            type: string
          title: Statuses
          type: array
      required:
      - name
      - statuses
      title: ColumnCreate
      type: object
    ColumnUpdate:
      description: "Typed request body for ``columns.edit`` (``PATCH /boards/{board_id}/columns/{column_id}``).\n\
        \nEvery field is optional; only the fields you set are sent.\n\nExamples:\n    >>> ColumnUpdate(name=\"\
        Pause\").name\n    'Pause'"
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New name of the column.
          title: Name
        statuses:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Replacement keys of the issue statuses whose cards appear in the column.
          title: Statuses
      title: ColumnUpdate
      type: object
    CommentCreate:
      description: "Typed request body for adding a comment to an issue or an entity.\n\nExamples:\n \
        \   >>> CommentCreate(text=\"Готово ✅\").model_dump(exclude_none=True)\n    {'text': 'Готово ✅'}"
      properties:
        text:
          description: Comment text (YFM markdown supported; required).
          title: Text
          type: string
        summonees:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: User ids/logins to summon in the comment.
          title: Summonees
        attachmentIds:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Temp-file ids to attach as files.
          title: Attachmentids
        maillistSummonees:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Mailing lists to summon.
          title: Maillistsummonees
      required:
      - text
      title: CommentCreate
      type: object
    CommentsComment:
      description: "A Tracker issue comment (``/issues/{key}/comments`` item).\n\nExamples:\n    >>> Comment.model_validate({\"\
        id\": 2238, \"createdBy\": {\"display\": \"X\"}, \"text\": \"t\"}).id\n    2238"
      properties:
        id:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          default: null
          title: Id
        longId:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Longid
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Createdat
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Createdby
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Updatedat
        updatedBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Updatedby
        text:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Text
        textHtml:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Texthtml
        attachments:
          anyOf:
          - items:
              $ref: '#/components/schemas/Reference'
            type: array
          - type: 'null'
          default: null
          title: Attachments
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          title: Version
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Type
        transport:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Transport
      title: Comment
      type: object
    CommentsCommentUpdate:
      description: "Typed request body for ``PATCH /issues/{key}/comments/{id}`` (edit a comment).\n\n\
        Examples:\n    >>> CommentUpdate(text=\"fixed ✅\").model_dump(exclude_none=True)\n    {'text':\
        \ 'fixed ✅'}"
      properties:
        text:
          description: Corrected comment text (YFM markdown supported).
          title: Text
          type: string
      required:
      - text
      title: CommentUpdate
      type: object
    CommentsRelativeResponse:
      description: "The ``…/comments/_relative`` envelope — ``{comments, hasNext, hasPrev}`` (internal).\n\
        \nExamples:\n    >>> CommentsRelativeResponse.model_validate(\n    ...     {\"comments\": [{\"\
        id\": 22}], \"hasNext\": False}\n    ... ).comments[0].id\n    22"
      properties:
        comments:
          description: Comments on this page.
          items:
            $ref: '#/components/schemas/EntitiesComment'
          title: Comments
          type: array
        hasNext:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether later comments exist.
          title: Hasnext
        hasPrev:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether earlier comments exist.
          title: Hasprev
      title: CommentsRelativeResponse
      type: object
    Component:
      description: "A queue component (``/components`` item) — a sub-area used to classify issues.\n\n\
        Examples:\n    >>> Component.model_validate({\"id\": 1, \"name\": \"Test\"}).name\n    'Test'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the component.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the component.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Version of the component; each change increments the version number.
          title: Version
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the component.
          title: Name
        queue:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: Object with information about the component's queue.
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Text description of the component.
          title: Description
        lead:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: Object with information about the component's owner.
        assignAuto:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the owner is auto-assigned to new issues carrying this component.
          title: Assignauto
      title: Component
      type: object
    ComponentCreate:
      description: "Typed request body for ``POST /components`` (create a component).\n\nExamples:\n \
        \   >>> ComponentCreate(name=\"UI\", queue=\"TEST\").model_dump(exclude_none=True)\n    {'name':\
        \ 'UI', 'queue': 'TEST'}"
      properties:
        name:
          description: Display name of the new component.
          title: Name
          type: string
        queue:
          description: Key of the queue the component is created in.
          title: Queue
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Text description of the component.
          title: Description
        lead:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Login of the component's owner (lead).
          title: Lead
        assign_auto:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the owner is auto-assigned to new issues carrying this component.
          title: Assign Auto
      required:
      - name
      - queue
      title: ComponentCreate
      type: object
    ComponentGroupAccess:
      description: "One group's rights on a component (``GET /components/{id}/permissions/groups/{groupId}``).\n\
        \nExamples:\n    >>> ComponentGroupAccess.model_validate({\"group\": {\"id\": \"5\"}}).group.id\n\
        \    '5'"
      properties:
        group:
          anyOf:
          - $ref: '#/components/schemas/Reference'
          - type: 'null'
          default: null
          description: The group the rights belong to.
        component:
          anyOf:
          - $ref: '#/components/schemas/Component'
          - type: 'null'
          default: null
          description: The component.
        permissions:
          anyOf:
          - $ref: '#/components/schemas/AccessPermissions'
          - type: 'null'
          default: null
          description: Rights by kind (create, read, write, deny), with who grants each.
      title: ComponentGroupAccess
      type: object
    ComponentUpdate:
      description: "Typed request body for ``PATCH /components/{id}?version=`` (edit a component).\n\n\
        Only the fields that are set are sent, so omitted fields stay unchanged.\n\nExamples:\n    >>>\
        \ ComponentUpdate(assign_auto=True).model_dump(exclude_none=True)\n    {'assignAuto': True}"
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New display name of the component.
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New text description of the component.
          title: Description
        lead:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New login of the component's owner (lead).
          title: Lead
        assign_auto:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the owner is auto-assigned to new issues carrying this component.
          title: Assign Auto
      title: ComponentUpdate
      type: object
    ComponentUserAccess:
      description: "One user's rights on a component (``GET /components/{id}/permissions/users/{userId}``).\n\
        \nExamples:\n    >>> ComponentUserAccess.model_validate({\"component\": {\"id\": 1}}).component.id\n\
        \    1"
      properties:
        user:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: The user the rights belong to.
        component:
          anyOf:
          - $ref: '#/components/schemas/Component'
          - type: 'null'
          default: null
          description: The component.
        permissions:
          anyOf:
          - $ref: '#/components/schemas/AccessPermissions'
          - type: 'null'
          default: null
          description: Rights by kind (create, read, write, deny), with who grants each.
      title: ComponentUserAccess
      type: object
    CustomField:
      description: "A global (organisation-wide) issue field — one ``/fields`` item / ``/fields/{id}``\
        \ object.\n\nNamed ``CustomField`` rather than ``Field`` so it never shadows ``pydantic.Field``.\n\
        \nExamples:\n    >>> CustomField.model_validate({\"id\": \"ruName\", \"key\": \"ruName\", \"type\"\
        : \"standard\"}).id\n    'ruName'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the field.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Unique identifier of the field.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the field.
          title: Name
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the field.
          title: Key
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Description of the field.
          title: Description
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Version of the field; each change increments the version number.
          title: Version
        schema:
          anyOf:
          - $ref: '#/components/schemas/FieldSchema'
          - type: 'null'
          default: null
          description: Object describing the data type of the field's value.
        readonly:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: 'Whether the value can be edited: true if read-only, false if editable.'
          title: Readonly
        options:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: 'Value constraint: true if any value is allowed, false if the list is limited.'
          title: Options
        suggest:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether a search suggestion appears while entering the field's value.
          title: Suggest
        suggestProvider:
          anyOf:
          - $ref: '#/components/schemas/FieldProvider'
          - type: 'null'
          default: null
          description: Object describing the search-suggestion provider class.
        optionsProvider:
          anyOf:
          - $ref: '#/components/schemas/FieldProvider'
          - type: 'null'
          default: null
          description: Object describing the allowed values of the field.
        queryProvider:
          anyOf:
          - $ref: '#/components/schemas/FieldProvider'
          - type: 'null'
          default: null
          description: Object describing the query-language class of the field.
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Position of the field in the organisation's list of fields.
          title: Order
        category:
          anyOf:
          - $ref: '#/components/schemas/Reference'
          - type: 'null'
          default: null
          description: Object with information about the field's category.
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Type of the field.
          title: Type
      title: CustomField
      type: object
    CycleTimeWidget:
      description: "Typed request body for ``POST /dashboards/{id}/widgets/cycleTime`` (add a cycle-time\
        \ chart).\n\nExamples:\n    >>> CycleTimeWidget(description=\"My widget\", query=\"Queue: TEST\"\
        ).model_dump(\n    ...     exclude_none=True\n    ... )\n    {'description': 'My widget', 'query':\
        \ 'Queue: TEST'}"
      properties:
        description:
          description: Widget name (required).
          title: Description
          type: string
        query:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Query-language filter selecting issues.
          title: Query
        filter:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: 'Parameter filter ``{field: value}`` selecting issues.'
          title: Filter
        filterId:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Id of a saved filter to use.
          title: Filterid
        fromStatuses:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          default: null
          description: 'Statuses the work starts from, as ``[{''key'': ...}]``.'
          title: Fromstatuses
        toStatuses:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          default: null
          description: 'Statuses the work ends at, as ``[{''key'': ...}]``.'
          title: Tostatuses
        start:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Calculation start formula, e.g. ``now()-2w`` (default 2 years).
          title: Start
        end:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Calculation end formula, e.g. ``now()-2d`` (default ``now()``).
          title: End
        mode:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Display mode: common-lines, common-lines-and-points, status-lines.'
          title: Mode
        autoUpdatable:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the chart refreshes automatically.
          title: Autoupdatable
      required:
      - description
      title: CycleTimeWidget
      type: object
    Dashboard:
      description: "A Tracker dashboard (``POST /dashboards/`` response).\n\nExamples:\n    >>> Dashboard.model_validate({\"\
        id\": 10, \"name\": \"New Dashboard\"}).name\n    'New Dashboard'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource address of this dashboard.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          default: null
          description: Dashboard identifier.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Dashboard version (bumped on each edit).
          title: Version
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Dashboard name.
          title: Name
        layout:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Widget layout mode, e.g. ``one-column``, ``two-columns``.
          title: Layout
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the dashboard creator.
          title: Createdby
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Creation timestamp.
          title: Createdat
        owner:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the dashboard owner.
          title: Owner
      title: Dashboard
      type: object
    DashboardCreate:
      description: "Typed request body for ``POST /dashboards/`` (create a dashboard).\n\nExamples:\n\
        \    >>> DashboardCreate(name=\"Team board\", layout=\"two-columns\").model_dump(exclude_none=True)\n\
        \    {'name': 'Team board', 'layout': 'two-columns'}"
      properties:
        name:
          description: Dashboard name.
          title: Name
          type: string
        layout:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Widget layout: one-column, two-columns, three-columns, narrow-left-wide-right,
            one-top-two-bottom.'
          title: Layout
        owner:
          anyOf:
          - $ref: '#/components/schemas/DashboardOwner'
          - type: 'null'
          default: null
          description: Owner reference; defaults to the creator when omitted.
      required:
      - name
      title: DashboardCreate
      type: object
    DashboardOwner:
      description: "The ``owner`` sub-object of a dashboard create body — a ``{\"id\": <login|id>}`` reference.\n\
        \nExamples:\n    >>> DashboardOwner(id=\"user\").model_dump()\n    {'id': 'user'}"
      properties:
        id:
          description: Login or id of the dashboard owner.
          title: Id
          type: string
      required:
      - id
      title: DashboardOwner
      type: object
    Deadline:
      description: "A deadline block on a checklist item or key result.\n\nExamples:\n    >>> Deadline.model_validate({\"\
        date\": \"2025-12-01\", \"deadlineType\": \"date\"}).deadline_type\n    'date'"
      properties:
        date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Deadline date, YYYY-MM-DDThh:mm:ss.sss±hhmm.
          title: Date
        deadlineType:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Deadline kind: ''date'' or ''quarter''.'
          title: Deadlinetype
        isExceeded:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the deadline has already passed.
          title: Isexceeded
      title: Deadline
      type: object
    DeadlineInput:
      description: "Typed ``deadline`` block for a checklist item or key result write body.\n\nExamples:\n\
        \    >>> DeadlineInput(date=\"2025-12-01T00:00:00.000+0000\").model_dump()\n    {'date': '2025-12-01T00:00:00.000+0000',\
        \ 'deadlineType': 'date'}"
      properties:
        date:
          description: Deadline date, YYYY-MM-DDThh:mm:ss.sss±hhmm.
          title: Date
          type: string
        deadlineType:
          default: date
          description: 'Deadline kind: ''date'' or ''quarter''.'
          title: Deadlinetype
          type: string
      required:
      - date
      title: DeadlineInput
      type: object
    DirectPermissionsUpdate:
      description: "Typed request body for ``PATCH …/permissions`` (grant and revoke direct rights).\n\
        \nEach side maps an access level (READ / WRITE / GRANT) to users, groups and roles; the API\n\
        adds or removes exactly those and keeps the rest. ``permissionSources`` is refused (400).\n\n\
        Examples:\n    >>> DirectPermissionsUpdate(\n    ...     grant=AclInput(read=AclPrincipalsInput(users=[\"\
        ann\"]))\n    ... ).model_dump(exclude_none=True)\n    {'grant': {'READ': {'users': ['ann']}}}"
      properties:
        grant:
          anyOf:
          - $ref: '#/components/schemas/AclInput'
          - type: 'null'
          default: null
          description: Rights to add, by access level.
        revoke:
          anyOf:
          - $ref: '#/components/schemas/AclInput'
          - type: 'null'
          default: null
          description: Rights to remove, by access level (same shape as ``grant``).
      title: DirectPermissionsUpdate
      type: object
    EntitiesAttachment:
      description: "A file attached to an entity (``…/attachments`` element and ``attachments get``).\n\
        \nExamples:\n    >>> Attachment.model_validate({\"id\": \"3\", \"name\": \"Shops.csv\", \"size\"\
        : 559}).name\n    'Shops.csv'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource address of the attachment.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Unique file identifier.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: File name.
          title: Name
        content:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Download URL for the file's raw bytes.
          title: Content
        thumbnail:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Download URL for the preview thumbnail; graphic files only.
          title: Thumbnail
        createdBy:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: User who attached the file.
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Upload timestamp (YYYY-MM-DDThh:mm…).
          title: Createdat
        mimetype:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: MIME type, e.g. image/png.
          title: Mimetype
        size:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: File size in bytes.
          title: Size
        metadata:
          anyOf:
          - $ref: '#/components/schemas/AttachmentMetadata'
          - type: 'null'
          default: null
          description: Extra file metadata (image pixel dimensions).
      title: Attachment
      type: object
    EntitiesChecklistItem:
      description: "A checklist item of a project/portfolio (``fields.checklistItems`` element).\n\nExamples:\n\
        \    >>> ChecklistItem.model_validate({\"id\": \"5f\", \"text\": \"step\", \"checked\": False}).text\n\
        \    'step'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Checklist item identifier.
          title: Id
        text:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Item text.
          title: Text
        textHtml:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Item text rendered to HTML.
          title: Texthtml
        checked:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the item is marked done.
          title: Checked
        assignee:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: Item assignee.
        deadline:
          anyOf:
          - $ref: '#/components/schemas/Deadline'
          - type: 'null'
          default: null
          description: Per-item deadline, if set.
        checklistItemType:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Item type, e.g. 'standard'.
          title: Checklistitemtype
      title: ChecklistItem
      type: object
    EntitiesComment:
      description: "A comment on an entity (``…/comments`` element and ``comments get``).\n\nExamples:\n\
        \    >>> Comment.model_validate({\"id\": 22, \"text\": \"Готово\"}).text\n    'Готово'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource address of the comment.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Numeric comment identifier.
          title: Id
        longId:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: String (long) comment identifier.
          title: Longid
        text:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Comment text.
          title: Text
        createdBy:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: Comment author.
        updatedBy:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: User who last edited the comment.
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Creation timestamp.
          title: Createdat
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Last-edit timestamp.
          title: Updatedat
        summonees:
          description: Users summoned in the comment.
          items:
            $ref: '#/components/schemas/UserReference'
          title: Summonees
          type: array
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Comment version.
          title: Version
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Comment type, e.g. 'standard'.
          title: Type
        transport:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Service field (e.g. 'internal').
          title: Transport
      title: Comment
      type: object
    EntitiesCommentUpdate:
      description: "Typed request body for ``PATCH …/comments/{comment_id}`` (the id travels in the path).\n\
        \nExamples:\n    >>> CommentUpdate(text=\"fixed\").model_dump(exclude_none=True)\n    {'text':\
        \ 'fixed'}"
      properties:
        text:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New comment text.
          title: Text
        attachmentIds:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Temp-file ids to attach as files.
          title: Attachmentids
        summonees:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: User ids/logins to summon in the comment.
          title: Summonees
        maillistSummonees:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Mailing lists to summon.
          title: Maillistsummonees
      title: CommentUpdate
      type: object
    EntitiesLink:
      description: "A link between two entities (``…/links`` element).\n\nExamples:\n    >>> Link.model_validate({\"\
        type\": \"relates\", \"linkFieldValues\": {\"id\": \"1\"}}).type\n    'relates'"
      properties:
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Link type, e.g. 'relates', 'depends on', 'is dependent by'.
          title: Type
        linkFieldValues:
          anyOf:
          - $ref: '#/components/schemas/LinkFieldValues'
          - type: 'null'
          default: null
          description: Summary + id of the linked entity.
      title: Link
      type: object
    Entity:
      description: "A Tracker entity — a project, portfolio or goal (get/create/edit/checklist response).\n\
        \nExamples:\n    >>> Entity.model_validate(\n    ...     {\"id\": \"655f\", \"entityType\": \"\
        project\", \"fields\": {\"summary\": \"Q4\"}}\n    ... ).fields.summary\n    'Q4'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource address of the entity.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Entity identifier.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Entity version (bumps on every change; edits lock at the cap).
          title: Version
        shortId:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Numeric short identifier.
          title: Shortid
        entityType:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Entity type: project, portfolio or goal.'
          title: Entitytype
        createdBy:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: User who created the entity.
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Creation timestamp.
          title: Createdat
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Last-update timestamp.
          title: Updatedat
        attachments:
          description: Attached files (only when expand=attachments).
          items:
            $ref: '#/components/schemas/EntitiesAttachment'
          title: Attachments
          type: array
        fields:
          anyOf:
          - $ref: '#/components/schemas/EntityFields'
          - type: 'null'
          default: null
          description: Additional entity parameters (see EntityFields).
      title: Entity
      type: object
    EntityCreate:
      description: "Typed request body for ``POST /entities/{type}`` — a ``{fields: {...}}`` envelope.\n\
        \nExamples:\n    >>> EntityCreate(fields=EntityFieldsInput(summary=\"Q4\")).model_dump(exclude_none=True)\n\
        \    {'fields': {'summary': 'Q4'}}"
      properties:
        fields:
          $ref: '#/components/schemas/EntityFieldsInput'
          description: Entity settings (summary is required).
      required:
      - fields
      title: EntityCreate
      type: object
    EntityEvent:
      description: "A single history event of an entity (``…/events/_relative`` element).\n\nExamples:\n\
        \    >>> EntityEvent.model_validate({\"id\": \"65a\", \"display\": \"Issue updated\"}).display\n\
        \    'Issue updated'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Event identifier.
          title: Id
        author:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: Event author.
        date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Event timestamp (YYYY-MM-DDThh:mm…).
          title: Date
        transport:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Service field.
          title: Transport
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Event display title.
          title: Display
        changes:
          description: The individual changes carried by this event.
          items:
            $ref: '#/components/schemas/EventChange'
          title: Changes
          type: array
      title: EntityEvent
      type: object
    EntityEventsResponse:
      description: "The ``…/events/_relative`` envelope — ``{events, hasNext, hasPrev}`` (internal).\n\
        \nExamples:\n    >>> EntityEventsResponse.model_validate(\n    ...     {\"events\": [{\"id\":\
        \ \"65a\"}], \"hasNext\": True}\n    ... ).events[0].id\n    '65a'"
      properties:
        events:
          description: Events on this page.
          items:
            $ref: '#/components/schemas/EntityEvent'
          title: Events
          type: array
        hasNext:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether later events exist.
          title: Hasnext
        hasPrev:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether earlier events exist.
          title: Hasprev
      title: EntityEventsResponse
      type: object
    EntityFields:
      description: "The ``fields`` block of an entity — the additional parameters requested via ``fields=``.\n\
        \nWhich keys are populated depends on the entity type and the ``fields`` query selector;\nall\
        \ are optional. Goals carry ``keyResultItems``/``progressPercentage``; projects/portfolios\ncarry\
        \ ``checklistItems``/``start``/``quarter``; ``issueQueues`` is project-only and read-only.\n\n\
        Examples:\n    >>> EntityFields.model_validate({\"summary\": \"Q4\", \"entityStatus\": \"in_progress\"\
        }).summary\n    'Q4'"
      properties:
        summary:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Entity name.
          title: Summary
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Entity description.
          title: Description
        author:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: Author.
        lead:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: Responsible person.
        teamUsers:
          description: Participants.
          items:
            $ref: '#/components/schemas/UserReference'
          title: Teamusers
          type: array
        clients:
          description: Clients.
          items:
            $ref: '#/components/schemas/UserReference'
          title: Clients
          type: array
        followers:
          description: Followers.
          items:
            $ref: '#/components/schemas/UserReference'
          title: Followers
          type: array
        start:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Start date, YYYY-MM-DD (project/portfolio).
          title: Start
        end:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Deadline date, YYYY-MM-DD.
          title: End
        quarter:
          description: Start/deadline quarters (YYYY QN); project/portfolio.
          items:
            type: string
          title: Quarter
          type: array
        metricItems:
          description: Dashboard metric widgets.
          items:
            $ref: '#/components/schemas/MetricItem'
          title: Metricitems
          type: array
        checklistItems:
          description: Checklist (project/portfolio).
          items:
            $ref: '#/components/schemas/EntitiesChecklistItem'
          title: Checklistitems
          type: array
        keyResultItems:
          description: Key results (goals).
          items:
            $ref: '#/components/schemas/KeyResultItem'
          title: Keyresultitems
          type: array
        progressPercentage:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Goal progress 0..1 (read-only; null when no sub-goals/key results).
          title: Progresspercentage
        tags:
          description: Tags.
          items:
            type: string
          title: Tags
          type: array
        parentEntity:
          anyOf:
          - $ref: '#/components/schemas/ParentEntity'
          - type: 'null'
          default: null
          description: Parent portfolio(s) / parent goal.
        teamAccess:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Access limited to members only.
          title: Teamaccess
        entityStatus:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Status key (e.g. draft/in_progress for projects; achieved for goals).
          title: Entitystatus
        issueQueues:
          description: Queues feeding the project (read-only; project only).
          items:
            $ref: '#/components/schemas/KeyedReference'
          title: Issuequeues
          type: array
        lastCommentUpdatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Date of the last comment.
          title: Lastcommentupdatedat
        linkedGoalsCount:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of linked goals.
          title: Linkedgoalscount
        linkedProjectsCount:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of linked projects/portfolios (goals).
          title: Linkedprojectscount
      title: EntityFields
      type: object
    EntityFieldsInput:
      additionalProperties: true
      description: "Typed ``fields`` object for entity create/edit bodies.\n\nOnly ``summary`` is required\
        \ by ``create``; every other key is optional and only sent when\nset. Use ``entityStatus`` to\
        \ move an entity through its workflow and ``parent_entity`` to\n(re)parent it.\n\n``extra=\"allow\"\
        `` lets custom (queue-local) field keys pass through unvalidated, matching\nthe old untyped ``body:\
        \ dict`` behavior. Array fields additionally accept the operator-edit\nform (``{\"add\": [...]}``\
        \ / ``{\"set\": [...]}`` / ``{\"remove\": [...]}``) documented at\n``references/yandex-360/tracker/ru/api-ref/entities/about-entities.md``\
        \ (see\n``common-format.md#edit-fields``), alongside their plain replace-list form.\n\nExamples:\n\
        \    >>> EntityFieldsInput(summary=\"Q4 goal\").model_dump(exclude_none=True)\n    {'summary':\
        \ 'Q4 goal'}\n    >>> EntityFieldsInput(tags={\"add\": [\"urgent\"]}).model_dump(exclude_none=True)\n\
        \    {'tags': {'add': ['urgent']}}"
      properties:
        summary:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Entity name (required on create).
          title: Summary
        teamAccess:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Limit access to members only.
          title: Teamaccess
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Description.
          title: Description
        markupType:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Set to 'md' when text uses YFM markup.
          title: Markuptype
        author:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Author user id/login.
          title: Author
        lead:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Responsible user id/login.
          title: Lead
        teamUsers:
          anyOf:
          - items:
              type: string
            type: array
          - additionalProperties:
              items:
                type: string
              type: array
            type: object
          - type: 'null'
          default: null
          description: 'Participant user ids/logins — a replace list, or an {''add''|''set''|''remove'':
            [...]} operator edit.'
          title: Teamusers
        clients:
          anyOf:
          - items:
              type: string
            type: array
          - additionalProperties:
              items:
                type: string
              type: array
            type: object
          - type: 'null'
          default: null
          description: 'Client user ids/logins — a replace list, or an {''add''|''set''|''remove'': [...]}
            operator edit.'
          title: Clients
        followers:
          anyOf:
          - items:
              type: string
            type: array
          - additionalProperties:
              items:
                type: string
              type: array
            type: object
          - type: 'null'
          default: null
          description: 'Follower user ids/logins — a replace list, or an {''add''|''set''|''remove'':
            [...]} operator edit.'
          title: Followers
        start:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Start date, YYYY-MM-DDThh:mm:ss.sss±hhmm.
          title: Start
        end:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Deadline date, YYYY-MM-DDThh:mm:ss.sss±hhmm.
          title: End
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - additionalProperties:
              items:
                type: string
              type: array
            type: object
          - type: 'null'
          default: null
          description: 'Tags — a replace list, or an {''add''|''set''|''remove'': [...]} operator edit.'
          title: Tags
        parentEntity:
          anyOf:
          - $ref: '#/components/schemas/ParentEntityInput'
          - type: 'null'
          default: null
          description: Parent portfolio(s) / parent goal ids.
        entityStatus:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Status key to set.
          title: Entitystatus
      title: EntityFieldsInput
      type: object
    EntitySearch:
      description: "Typed request body for ``POST /entities/{type}/_search``.\n\nExamples:\n    >>> search\
        \ = EntitySearch.model_validate({\"input\": \"launch\", \"orderBy\": \"createdAt\"})\n    >>>\
        \ search.model_dump(exclude_none=True)\n    {'input': 'launch', 'orderBy': 'createdAt'}"
      properties:
        input:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Substring to find in the entity name.
          title: Input
        filter:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Field name → value the entities must have.
          title: Filter
        orderBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the field to sort by.
          title: Orderby
        orderAsc:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Sort ascending; needs ``order_by``.
          title: Orderasc
        rootOnly:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Only entities with no parent.
          title: Rootonly
      title: EntitySearch
      type: object
    EntitySearchResponse:
      description: "The ``POST …/_search`` envelope — ``{hits, pages, values}`` (internal to the client).\n\
        \nExamples:\n    >>> EntitySearchResponse.model_validate({\"hits\": 1, \"values\": [{\"id\": \"\
        1\"}]}).values[0].id\n    '1'"
      properties:
        hits:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of results.
          title: Hits
        pages:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Number of result pages.
          title: Pages
        values:
          description: Matched entity objects.
          items:
            $ref: '#/components/schemas/Entity'
          title: Values
          type: array
        orderBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Field the server sorted by.
          title: Orderby
      title: EntitySearchResponse
      type: object
    EntityUpdate:
      description: "Typed request body for ``PATCH /entities/{type}/{id}`` (edit fields, comment, links).\n\
        \nExamples:\n    >>> EntityUpdate(fields=EntityFieldsInput(summary=\"New\")).model_dump(exclude_none=True)\n\
        \    {'fields': {'summary': 'New'}}"
      properties:
        fields:
          anyOf:
          - $ref: '#/components/schemas/EntityFieldsInput'
          - type: 'null'
          default: null
          description: Fields to change.
        comment:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Comment to add with the change.
          title: Comment
        links:
          anyOf:
          - items:
              $ref: '#/components/schemas/LinkInput'
            type: array
          - type: 'null'
          default: null
          description: Links to add.
          title: Links
      title: EntityUpdate
      type: object
    EventChange:
      description: "One change entry inside an event (``changes`` element).\n\nExamples:\n    >>> EventChange.model_validate({\"\
        diff\": \"<added>x</added>\"}).diff\n    '<added>x</added>'"
      properties:
        diff:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Rendered diff of the change.
          title: Diff
        field:
          anyOf:
          - $ref: '#/components/schemas/EventField'
          - type: 'null'
          default: null
          description: The field that changed.
        commentUrl:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Comment URL for comment changes.
          title: Commenturl
      title: EventChange
      type: object
    EventField:
      description: "The changed ``field`` block inside an event change.\n\nExamples:\n    >>> EventField.model_validate({\"\
        id\": \"teamUsers\", \"display\": \"Participants\"}).id\n    'teamUsers'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Field identifier, e.g. 'teamUsers'.
          title: Id
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Field display name.
          title: Display
      title: EventField
      type: object
    ExtendedPermissions:
      description: "An entity's access settings (``…/extendedPermissions`` response).\n\nExamples:\n \
        \   >>> ExtendedPermissions.model_validate(\n    ...     {\"acl\": {\"READ\": {\"roles\": [\"\
        OWNER\"]}}}\n    ... ).acl.read.roles\n    ['OWNER']"
      properties:
        acl:
          anyOf:
          - $ref: '#/components/schemas/Acl'
          - type: 'null'
          default: null
          description: Access-control lists by level.
        permissionSources:
          description: Parent entities this entity inherits permissions from.
          items:
            $ref: '#/components/schemas/Reference'
          title: Permissionsources
          type: array
        parentEntities:
          anyOf:
          - $ref: '#/components/schemas/ParentEntity'
          - type: 'null'
          default: null
          description: Parent portfolio(s) / parent goal.
      title: ExtendedPermissions
      type: object
    FieldCategoryCreate:
      description: "Typed request body for ``POST /fields/categories`` (create a field category).\n\n\
        Examples:\n    >>> FieldCategoryCreate(name=LocalizedName(ru=\"Своя\"), order=400).model_dump(\n\
        \    ...     exclude_none=True\n    ... )\n    {'name': {'ru': 'Своя'}, 'order': 400}"
      properties:
        name:
          $ref: '#/components/schemas/LocalizedName'
          description: Localized display name of the new category.
        order:
          description: Weight controlling the category's display order (lower first).
          title: Order
          type: integer
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Description of the category.
          title: Description
      required:
      - name
      - order
      title: FieldCategoryCreate
      type: object
    FieldCategoryRecord:
      description: "A field category as returned by ``POST``/``PATCH /fields/categories`` (create/edit).\n\
        \nExamples:\n    >>> FieldCategoryRecord.model_validate({\"id\": \"1\", \"name\": \"System\",\
        \ \"version\": 1}).name\n    'System'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the category.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Unique identifier of the field category.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the category.
          title: Name
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Version of the category; each change increments it.
          title: Version
      title: FieldCategoryRecord
      type: object
    FieldCategoryUpdate:
      description: "Typed request body for ``PATCH /fields/categories/{id}?version=`` (edit a category).\n\
        \nOnly the fields that are set are sent, so omitted fields stay unchanged.\n\nExamples:\n    >>>\
        \ FieldCategoryUpdate(order=400).model_dump(exclude_none=True)\n    {'order': 400}"
      properties:
        name:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: New localized display name of the category.
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: New weight controlling the category's display order.
          title: Order
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New description of the category.
          title: Description
      title: FieldCategoryUpdate
      type: object
    FieldCreate:
      description: "Typed request body for creating an issue field, global or local to a queue.\n\nExamples:\n\
        \    >>> FieldCreate(\n    ...     name=LocalizedName(ru=\"Поле\"), id=\"myField\", category=\"\
        1\", type=\"StringFieldType\"\n    ... ).model_dump(exclude_none=True)\n    {'name': {'ru': 'Поле'},\
        \ 'id': 'myField', 'category': '1', 'type': 'StringFieldType'}"
      properties:
        name:
          $ref: '#/components/schemas/LocalizedName'
          description: Localized display name of the new field.
        id:
          description: Identifier (key) of the new field.
          title: Id
          type: string
        category:
          description: Identifier of the field's category (from GET /fields/categories).
          title: Category
          type: string
        type:
          description: Field type, e.g. ru.yandex.startrek.core.fields.StringFieldType.
          title: Type
          type: string
        options_provider:
          anyOf:
          - $ref: '#/components/schemas/OptionsProviderInput'
          - type: 'null'
          default: null
          description: Fixed drop-down values, when the field is a limited-choice list.
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Position of the field in the organisation's list of fields.
          title: Order
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Description of the field.
          title: Description
        readonly:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the value is read-only (true) or editable (false).
          title: Readonly
      required:
      - name
      - id
      - category
      - type
      title: FieldCreate
      type: object
    FieldProvider:
      description: "A provider descriptor (suggest / options / query provider) attached to a field.\n\n\
        Examples:\n    >>> FieldProvider.model_validate({\"type\": \"FixedListOptionsProvider\"}).type\n\
        \    'FixedListOptionsProvider'"
      properties:
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Provider class name; cannot be changed via the API.
          title: Type
        values:
          description: Allowed field values; present only on an options provider.
          items:
            anyOf:
            - type: string
            - type: integer
          title: Values
          type: array
      title: FieldProvider
      type: object
    FieldSchema:
      description: "Data-type descriptor of a field's value (the ``schema`` object).\n\nExamples:\n  \
        \  >>> FieldSchema.model_validate({\"type\": \"array\", \"items\": \"string\"}).type\n    'array'"
      properties:
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Value type: string for single-valued fields, array for multi-valued fields.'
          title: Type
        items:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Element type; present only on multi-valued (array) fields.
          title: Items
        required:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the field is mandatory (true) or optional (false).
          title: Required
      title: FieldSchema
      type: object
    FieldUpdate:
      description: "Typed request body for ``PATCH /fields/{id}?version=`` (rename and/or change options).\n\
        \nRename and change-options share one PATCH, so this one body covers both ``name`` and\n``optionsProvider``;\
        \ only the fields that are set are sent.\n\nExamples:\n    >>> FieldUpdate(name=LocalizedName(ru=\"\
        Поле\")).model_dump(exclude_none=True)\n    {'name': {'ru': 'Поле'}}"
      properties:
        name:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: New localized display name of the field.
        options_provider:
          anyOf:
          - $ref: '#/components/schemas/OptionsProviderInput'
          - type: 'null'
          default: null
          description: Replacement fixed drop-down values for the field.
      title: FieldUpdate
      type: object
    Filter:
      description: "A saved issue filter (``/filters/{id}``) — stored filtering conditions and UI settings.\n\
        \nExamples:\n    >>> Filter.model_validate({\"id\": 12345, \"name\": \"My open issues\"}).name\n\
        \    'My open issues'"
      properties:
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the filter.
          title: Id
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the filter.
          title: Self
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the filter.
          title: Name
        filter:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Object with the filtering conditions.
          title: Filter
        query:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Filtering conditions written in the Tracker query language.
          title: Query
        fields:
          description: Issue fields displayed in the Tracker UI when the filter is used.
          items:
            $ref: '#/components/schemas/Reference'
          title: Fields
          type: array
        groupBy:
          anyOf:
          - $ref: '#/components/schemas/Reference'
          - type: 'null'
          default: null
          description: Field used to group results in the Tracker UI.
        favorite:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the filter is marked as a favourite (true) or not (false).
          title: Favorite
        permissions:
          anyOf:
          - $ref: '#/components/schemas/FilterPermissions'
          - type: 'null'
          default: null
          description: Object with the filter's access rights.
        owner:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: Object with information about the filter's owner.
      title: Filter
      type: object
    FilterCreate:
      description: "Typed request body for ``POST /filters/`` (create a saved filter).\n\nPass either\
        \ ``filter`` (a field→condition mapping) or ``query`` (a Tracker query string),\nnot both.\n\n\
        Examples:\n    >>> FilterCreate(name=\"My open\", filter={\"status\": \"open\"}).model_dump(exclude_none=True)\n\
        \    {'name': 'My open', 'filter': {'status': 'open'}}"
      properties:
        name:
          description: Display name of the new filter.
          title: Name
          type: string
        filter:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Filtering conditions as a field→condition mapping.
          title: Filter
        query:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Filtering conditions written in the Tracker query language.
          title: Query
      required:
      - name
      title: FilterCreate
      type: object
    FilterPermissionEntry:
      description: "The users, groups and roles granted one permission level (READ or WRITE).\n\nExamples:\n\
        \    >>> FilterPermissionEntry.model_validate({\"users\": [], \"groups\": [], \"roles\": []}).roles\n\
        \    []"
      properties:
        users:
          description: Users granted this permission level.
          items:
            $ref: '#/components/schemas/UserReference'
          title: Users
          type: array
        groups:
          description: Groups granted this permission level.
          items:
            $ref: '#/components/schemas/Reference'
          title: Groups
          type: array
        roles:
          description: Roles granted this permission level.
          items: {}
          title: Roles
          type: array
      title: FilterPermissionEntry
      type: object
    FilterPermissions:
      description: "The read/write access rights of a filter (the ``permissions`` object).\n\nExamples:\n\
        \    >>> FilterPermissions.model_validate({\"READ\": {\"users\": []}}).read.users\n    []"
      properties:
        READ:
          anyOf:
          - $ref: '#/components/schemas/FilterPermissionEntry'
          - type: 'null'
          default: null
          description: Object with read access rights to the filter.
        WRITE:
          anyOf:
          - $ref: '#/components/schemas/FilterPermissionEntry'
          - type: 'null'
          default: null
          description: Object with edit access rights to the filter.
      title: FilterPermissions
      type: object
    FilterUpdate:
      description: "Typed request body for ``PATCH /filters/{id}`` (edit a saved filter).\n\nOnly the\
        \ fields that are set are sent; note the API replaces ``filter`` wholesale rather\nthan merging\
        \ it, so pass every condition you want to keep.\n\nExamples:\n    >>> FilterUpdate(name=\"Renamed\"\
        ).model_dump(exclude_none=True)\n    {'name': 'Renamed'}"
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New display name of the filter.
          title: Name
        filter:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Replacement filtering conditions (replaces the whole object).
          title: Filter
        query:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New filtering conditions in the Tracker query language.
          title: Query
      title: FilterUpdate
      type: object
    Gap:
      description: "One absence. ``user`` is filled on create replies and absent inside search results.\n\
        \nExamples:\n    >>> Gap.model_validate(\n    ...     {\"id\": \"g1\", \"workflow\": \"trip\"\
        , \"from\": \"2026-07-10T00:00:00.000+0000\"}\n    ... ).date_from\n    '2026-07-10T00:00:00.000+0000'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the absence.
          title: Id
        user:
          anyOf:
          - $ref: '#/components/schemas/GapUser'
          - type: 'null'
          default: null
          description: The absent user (create replies).
        workflow:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Kind of absence, e.g. vacation.
          title: Workflow
        from:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Start of the absence (ISO 8601).
          title: From
        to:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: End of the absence (ISO 8601).
          title: To
        fullDay:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the absence covers whole days.
          title: Fullday
        workInAbsence:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the user works while absent.
          title: Workinabsence
      title: Gap
      type: object
    GapCreated:
      description: "The reply to ``gaps.create``: the absences actually saved (outdated ones are left\
        \ out).\n\nExamples:\n    >>> GapCreated.model_validate({\"gaps\": [{\"id\": \"g1\"}]}).gaps[0].id\n\
        \    'g1'"
      properties:
        gaps:
          description: The saved absences.
          items:
            $ref: '#/components/schemas/Gap'
          title: Gaps
          type: array
      title: GapCreated
      type: object
    GapInput:
      description: "One absence to create.\n\nExamples:\n    >>> GapInput(\n    ...     user=\"ann\",\
        \ workflow=\"trip\", date_from=\"2026-07-10\", date_to=\"2026-07-20\"\n    ... ).model_dump(exclude_none=True,\
        \ mode=\"json\")\n    {'user': 'ann', 'workflow': 'trip', 'from': '2026-07-10', 'to': '2026-07-20'}"
      properties:
        id:
          anyOf:
          - maxLength: 128
            type: string
          - type: 'null'
          default: null
          description: Identifier of the absence (up to 128 characters); generated if omitted.
          title: Id
        user:
          description: Login or id of the absent user.
          title: User
          type: string
        workflow:
          $ref: '#/components/schemas/GapWorkflow'
          description: Kind of absence.
        from:
          description: Start of the absence (ISO 8601); must be before the end.
          title: From
          type: string
        to:
          description: End of the absence (ISO 8601); must be after the start.
          title: To
          type: string
        fullDay:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the absence covers whole days (API default false).
          title: Fullday
        workInAbsence:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the user works while absent (API default false).
          title: Workinabsence
      required:
      - user
      - workflow
      - from
      - to
      title: GapInput
      type: object
    GapSearchPage:
      description: "One page of ``POST /gaps/_search``: users with absences and the more-pages flag.\n\
        \nExamples:\n    >>> GapSearchPage.model_validate({\"userGaps\": [], \"hasMore\": False}).has_more\n\
        \    False"
      properties:
        userGaps:
          description: One entry per requested user on this page.
          items:
            $ref: '#/components/schemas/UserGaps'
          title: Usergaps
          type: array
        hasMore:
          default: false
          description: Whether a next page of users follows.
          title: Hasmore
          type: boolean
      title: GapSearchPage
      type: object
    GapUser:
      description: "The user an absence belongs to, as a full directory record.\n\nExamples:\n    >>>\
        \ GapUser.model_validate({\"login\": \"ann\", \"uid\": 1, \"sources\": [\"directory\"]}).login\n\
        \    'ann'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API URL of the user.
          title: Self
        uid:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Numeric id of the user.
          title: Uid
        login:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Login of the user.
          title: Login
        trackerUid:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Id of the user in Tracker.
          title: Trackeruid
        passportUid:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Id of the user's Yandex account.
          title: Passportuid
        cloudUid:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Id of the user in Yandex Cloud.
          title: Clouduid
        firstName:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: First name.
          title: Firstname
        lastName:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Last name.
          title: Lastname
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name.
          title: Display
        email:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Email address.
          title: Email
        external:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the user is external.
          title: External
        dismissed:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the user is dismissed.
          title: Dismissed
        firstLoginDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: First login time (ISO 8601).
          title: Firstlogindate
        lastLoginDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Last login time (ISO 8601).
          title: Lastlogindate
        sources:
          description: Where the user record comes from, e.g. directory.
          items:
            type: string
          title: Sources
          type: array
      title: GapUser
      type: object
    GapWorkflow:
      description: The kinds of absence the API documents (``GET /v3/gaps/workflows`` is undocumented).
      enum:
      - vacation
      - paid_day_off
      - illness
      - absence
      - trip
      - conference_trip
      - conference
      - learning
      - maternity
      - duty
      title: GapWorkflow
      type: string
    GapsCreate:
      description: "Typed request body for ``gaps.create`` (``POST /gaps``): up to 100 absences.\n\nExamples:\n\
        \    >>> body = GapsCreate(\n    ...     gaps=[\n    ...         GapInput(\n    ...          \
        \   user=\"ann\", workflow=\"trip\", date_from=\"2026-07-10\", date_to=\"2026-07-20\"\n    ...\
        \         )\n    ...     ]\n    ... )\n    >>> body.model_dump(exclude_none=True, mode=\"json\"\
        )[\"gaps\"][0][\"workflow\"]\n    'trip'"
      properties:
        gaps:
          description: The absences to create (up to 100).
          items:
            $ref: '#/components/schemas/GapInput'
          maxItems: 100
          title: Gaps
          type: array
      required:
      - gaps
      title: GapsCreate
      type: object
    ImportComment:
      description: "Typed body for ``POST /issues/{key}/comments/_import`` — import one comment with history.\n\
        \nExamples:\n    >>> ImportComment(\n    ...     text=\"Test\", created_at=\"2017-08-29T12:34:41.740+0000\"\
        , created_by=\"11\"\n    ... ).model_dump(exclude_none=True)  # doctest: +NORMALIZE_WHITESPACE\n\
        \    {'text': 'Test', 'createdAt': '2017-08-29T12:34:41.740+0000', 'createdBy': '11'}"
      properties:
        text:
          description: Comment text (max 512000 characters).
          title: Text
          type: string
        createdAt:
          description: Original comment creation time.
          title: Createdat
          type: string
        createdBy:
          description: Login or id of the comment author.
          title: Createdby
          type: string
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Original last-edit time (only together with ``updated_by``).
          title: Updatedat
        updatedBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Login or id of the last editor (only together with ``updated_at``).
          title: Updatedby
      required:
      - text
      - createdAt
      - createdBy
      title: ImportComment
      type: object
    ImportLink:
      description: "Typed body for ``POST /issues/{key}/links/_import`` — import one issue link with history.\n\
        \nExamples:\n    >>> ImportLink(\n    ...     relationship=\"relates\",\n    ...     issue=\"\
        TEST-2\",\n    ...     created_at=\"2017-08-29T12:34:41.740+0000\",\n    ...     created_by=\"\
        11\",\n    ... ).model_dump(exclude_none=True)  # doctest: +NORMALIZE_WHITESPACE\n    {'relationship':\
        \ 'relates', 'issue': 'TEST-2',\n     'createdAt': '2017-08-29T12:34:41.740+0000', 'createdBy':\
        \ '11'}"
      properties:
        relationship:
          description: Link type, e.g. ``relates``, ``depends on``, ``subtask``.
          title: Relationship
          type: string
        issue:
          description: Key or id of the issue to link to.
          title: Issue
          type: string
        createdAt:
          description: Original link creation time.
          title: Createdat
          type: string
        createdBy:
          description: Login or id of the link creator.
          title: Createdby
          type: string
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Original last-edit time (only together with ``updated_by``).
          title: Updatedat
        updatedBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Login or id of the last editor (only together with ``updated_at``).
          title: Updatedby
      required:
      - relationship
      - issue
      - createdAt
      - createdBy
      title: ImportLink
      type: object
    ImportTask:
      description: "Typed body for ``POST /issues/_import`` — import one issue, preserving its history.\n\
        \nExamples:\n    >>> ImportTask(\n    ...     queue=\"TEST\",\n    ...     summary=\"Test\",\n\
        \    ...     created_at=\"2017-08-29T12:34:41.740+0000\",\n    ...     created_by=\"11\",\n  \
        \  ... ).model_dump(exclude_none=True)  # doctest: +NORMALIZE_WHITESPACE\n    {'queue': 'TEST',\
        \ 'summary': 'Test', 'createdAt': '2017-08-29T12:34:41.740+0000',\n     'createdBy': '11'}"
      properties:
        queue:
          description: Key of the queue to import the issue into.
          title: Queue
          type: string
        summary:
          description: Issue title (max 255 characters).
          title: Summary
          type: string
        createdAt:
          description: Original creation time (``YYYY-MM-DDThh:mm:ss.sss±hhmm``); not in the future.
          title: Createdat
          type: string
        createdBy:
          description: Login or id of the original issue author.
          title: Createdby
          type: string
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Explicit issue key (must belong to the queue).
          title: Key
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Issue description (YFM markdown).
          title: Description
        assignee:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Login or id of the assignee.
          title: Assignee
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Original last-edit time (only together with ``updated_by``).
          title: Updatedat
        updatedBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Login or id of the last editor (only together with ``updated_at``).
          title: Updatedby
      required:
      - queue
      - summary
      - createdAt
      - createdBy
      title: ImportTask
      type: object
    ImportWorklog:
      description: "Typed body for ``POST /issues/{key}/worklogs/_import`` — import one worklog with history.\n\
        \nExamples:\n    >>> ImportWorklog(\n    ...     duration=\"PT1H\",\n    ...     created_at=\"\
        2025-02-18T16:35:41.740+0000\",\n    ...     created_by=\"username\",\n    ...     start=\"2025-02-18T16:35:41.740+0000\"\
        ,\n    ... ).model_dump(exclude_none=True)  # doctest: +NORMALIZE_WHITESPACE\n    {'duration':\
        \ 'PT1H', 'createdAt': '2025-02-18T16:35:41.740+0000',\n     'createdBy': 'username', 'start':\
        \ '2025-02-18T16:35:41.740+0000'}"
      properties:
        duration:
          description: Time spent as an ISO-8601 duration, e.g. ``PT1H``.
          title: Duration
          type: string
        createdAt:
          description: Original record creation time.
          title: Createdat
          type: string
        createdBy:
          description: Login or id of the record author.
          title: Createdby
          type: string
        start:
          description: Work start time (``YYYY-MM-DDThh:mm:ss.sss±hhmm``).
          title: Start
          type: string
        comment:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Optional note saved in the time report.
          title: Comment
      required:
      - duration
      - createdAt
      - createdBy
      - start
      title: ImportWorklog
      type: object
    Issue:
      description: "A Yandex Tracker issue (``/issues/{key}`` response).\n\nExamples:\n    >>> Issue.model_validate({\"\
        key\": \"DE-1\", \"type\": {\"key\": \"task\"}}).type\n    'task'"
      properties:
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Key
        summary:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Summary
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Type
        status:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Status
        priority:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Priority
        epic:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Epic
        parent:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Parent
        queue:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Queue
        assignee:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Assignee
        tags:
          items:
            type: string
          title: Tags
          type: array
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Description
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Createdat
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Createdby
      title: Issue
      type: object
    IssueCreate:
      additionalProperties: true
      description: "Typed request body for ``POST /issues/`` (create an issue).\n\nCovers the common fields;\
        \ ``extra=\"allow\"`` lets any custom (global or queue-local) field\nkey=value pair pass through\
        \ unvalidated, matching the CLI's ``-F key=value`` escape hatch.\n``type``/``priority`` accept\
        \ either a bare key string or a ``{\"key\": ...}`` object (both are\nvalid per the Tracker API);\
        \ the CLI sends the object form.\n\nExamples:\n    >>> IssueCreate(queue=\"TEST\", summary=\"\
        Do it\").model_dump(exclude_none=True)\n    {'queue': 'TEST', 'summary': 'Do it'}"
      properties:
        queue:
          description: Key of the target queue.
          title: Queue
          type: string
        summary:
          description: Issue title.
          title: Summary
          type: string
        type:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: string
          - type: 'null'
          default: null
          description: 'Issue type — {''key'': ...} object or a bare type key.'
          title: Type
        priority:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: string
          - type: 'null'
          default: null
          description: 'Priority — {''key'': ...} object or a bare priority key.'
          title: Priority
        parent:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Parent issue key.
          title: Parent
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Issue description (YFM markdown).
          title: Description
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - additionalProperties:
              items:
                type: string
              type: array
            type: object
          - type: 'null'
          default: null
          description: 'Tags — a replace list, or an {''add''|''set''|''remove'': [...]} operator edit.'
          title: Tags
      required:
      - queue
      - summary
      title: IssueCreate
      type: object
    IssueSearch:
      additionalProperties: true
      description: "Typed request body for ``POST /issues/_search`` and ``POST /issues/_count``.\n\nGive\
        \ ``query`` (the query language) or ``filter`` (field name → value); a body with neither\nmatches\
        \ every issue the caller can see. ``extra=\"allow\"`` passes the API's other keys\n(``keys``,\
        \ ``queue``, ``order``) through.\n\nExamples:\n    >>> IssueSearch(filter={\"queue\": \"DE\"}).filter\n\
        \    {'queue': 'DE'}"
      properties:
        query:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: A query-language string.
          title: Query
        filter:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Field name → value the issues must have.
          title: Filter
      title: IssueSearch
      type: object
    IssueType:
      description: "An issue type descriptor (``/issuetypes`` item).\n\nThe live v3 API carries the display\
        \ name in ``name`` (``display`` stays null there), so\nboth fields are mapped.\n\nExamples:\n\
        \    >>> IssueType.model_validate({\"key\": \"task\", \"name\": \"Task\"}).name\n    'Task'"
      properties:
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Key
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Name
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Display
      title: IssueType
      type: object
    IssueTypeConfig:
      description: "One issue-type configuration row (``issueTypesConfig`` item).\n\nBinds an issue type\
        \ to its workflow and the resolutions available for that type in the queue.\n\nExamples:\n   \
        \ >>> IssueTypeConfig.model_validate(\n    ...     {\"issueType\": {\"key\": \"task\"}, \"workflow\"\
        : {\"id\": \"dev\"}}\n    ... ).issue_type.key\n    'task'"
      properties:
        issueType:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: The issue type this configuration applies to.
        workflow:
          anyOf:
          - $ref: '#/components/schemas/Reference'
          - type: 'null'
          default: null
          description: The life-cycle (workflow) bound to this issue type.
        resolutions:
          description: Resolutions that may be set when closing an issue of this type.
          items:
            $ref: '#/components/schemas/KeyedReference'
          title: Resolutions
          type: array
      title: IssueTypeConfig
      type: object
    IssueTypeConfigInput:
      description: "One ``issueTypesConfig`` row in a create-queue body — binds a type to its workflow.\n\
        \nExamples:\n    >>> IssueTypeConfigInput(issue_type=\"task\", workflow=\"oicn\").issue_type\n\
        \    'task'"
      properties:
        issueType:
          description: Key of the issue type this row configures.
          title: Issuetype
          type: string
        workflow:
          description: Identifier of the workflow bound to the issue type.
          title: Workflow
          type: string
        resolutions:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Keys/identifiers of resolutions selectable when closing this type.
          title: Resolutions
      required:
      - issueType
      - workflow
      title: IssueTypeConfigInput
      type: object
    IssueTypeCreate:
      description: "Typed request body for ``POST /issuetypes/`` (create an issue type).\n\nExamples:\n\
        \    >>> IssueTypeCreate(key=\"client\", name=LocalizedName(ru=\"Клиент\")).model_dump(\n    ...\
        \     exclude_none=True\n    ... )\n    {'key': 'client', 'name': {'ru': 'Клиент'}}"
      properties:
        key:
          description: Key of the new issue type.
          title: Key
          type: string
        name:
          $ref: '#/components/schemas/LocalizedName'
          description: Localized display name of the issue type.
      required:
      - key
      - name
      title: IssueTypeCreate
      type: object
    IssueTypeResolutions:
      description: "The resolutions allowed for one issue type in a workflow.\n\nExamples:\n    >>> IssueTypeResolutions(issue_type=\"\
        task\", resolutions=[\"fixed\"]).model_dump()\n    {'issueType': 'task', 'resolutions': ['fixed']}"
      properties:
        issueType:
          anyOf:
          - type: string
          - type: integer
          description: Key or id of the issue type, from ``issuetypes_list``.
          title: Issuetype
        resolutions:
          description: Keys or ids of the resolutions, from ``resolutions_list``.
          items:
            anyOf:
            - type: string
            - type: integer
          title: Resolutions
          type: array
      required:
      - issueType
      - resolutions
      title: IssueTypeResolutions
      type: object
    IssueTypeUpdate:
      description: "Typed request body for ``PATCH /issuetypes/{id}?version=`` (edit an issue type).\n\
        \nOnly the fields that are set are sent, so omitted fields stay unchanged.\n\nExamples:\n    >>>\
        \ IssueTypeUpdate(name=LocalizedName(ru=\"Покупатель\")).model_dump(exclude_none=True)\n    {'name':\
        \ {'ru': 'Покупатель'}}"
      properties:
        name:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: New localized display name of the issue type.
      title: IssueTypeUpdate
      type: object
    IssueUpdate:
      additionalProperties: true
      description: "Typed request body for ``PATCH /issues/{key}`` (update an issue; only sent fields\
        \ change).\n\n``extra=\"allow\"`` lets any custom field key=value pair pass through, matching\
        \ the CLI's\n``-F key=value`` escape hatch. Status is NOT changed here — use ``transitions_execute``.\n\
        \nExamples:\n    >>> IssueUpdate(summary=\"New title\").model_dump(exclude_none=True)\n    {'summary':\
        \ 'New title'}"
      properties:
        summary:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New summary (title).
          title: Summary
        type:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: string
          - type: 'null'
          default: null
          description: 'New issue type — {''key'': ...} object or a bare type key.'
          title: Type
        priority:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: string
          - type: 'null'
          default: null
          description: 'New priority — {''key'': ...} object or a bare priority key.'
          title: Priority
        parent:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New parent issue key.
          title: Parent
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New issue description (YFM markdown).
          title: Description
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - additionalProperties:
              items:
                type: string
              type: array
            type: object
          - type: 'null'
          default: null
          description: 'New tags — a replace list, or an {''add''|''set''|''remove'': [...]} operator
            edit.'
          title: Tags
      title: IssueUpdate
      type: object
    KeyResultItem:
      description: "A key result of a goal (``fields.keyResultItems`` element).\n\nExamples:\n    >>>\
        \ KeyResultItem.model_validate({\"id\": \"1\", \"text\": \"Ship\", \"type\": \"binary\"}).type\n\
        \    'binary'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key result identifier.
          title: Id
        text:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key result text.
          title: Text
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Progress measurement: ''value'' (by value) or ''binary'' (by fact).'
          title: Type
        deadline:
          anyOf:
          - $ref: '#/components/schemas/Deadline'
          - type: 'null'
          default: null
          description: Deadline for the key result.
        progress:
          anyOf:
          - $ref: '#/components/schemas/KeyResultProgress'
          - type: 'null'
          default: null
          description: Quantitative progress ('by value' key results).
        achieved:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the key result is marked achieved.
          title: Achieved
        assignee:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: Key result assignee.
      title: KeyResultItem
      type: object
    KeyResultProgress:
      description: "Quantitative progress of a 'by value' key result.\n\nExamples:\n    >>> KeyResultProgress.model_validate({\"\
        start\": 0, \"end\": 100, \"current\": 40}).current\n    40.0"
      properties:
        start:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Progress value at the start of work.
          title: Start
        end:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Target progress value to reach.
          title: End
        current:
          anyOf:
          - type: number
          - type: 'null'
          default: null
          description: Current progress value.
          title: Current
      title: KeyResultProgress
      type: object
    KeyedReference:
      description: "A reference to an object that has a key, such as a queue, a status or a priority.\n\
        \nExamples:\n    >>> KeyedReference.model_validate({\"key\": \"DESIGN\", \"display\": \"Design\"\
        }).key\n    'DESIGN'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL of the referenced object.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the referenced object.
          title: Id
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the object.
          title: Display
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the referenced object.
          title: Key
      title: KeyedReference
      type: object
    LinkCreate:
      description: "Typed request body for ``POST /issues/{key}/links`` (link to another issue).\n\nExamples:\n\
        \    >>> LinkCreate(relationship=\"relates\", issue=\"DE-2\").model_dump(exclude_none=True)\n\
        \    {'relationship': 'relates', 'issue': 'DE-2'}"
      properties:
        relationship:
          description: Link type from linktypes_list, e.g. relates, depends on, is subtask for.
          title: Relationship
          type: string
        issue:
          description: Key of the issue to link to.
          title: Issue
          type: string
      required:
      - relationship
      - issue
      title: LinkCreate
      type: object
    LinkFieldValues:
      description: "The ``linkFieldValues`` block of an entity link (the linked entity's summary + id).\n\
        \nExamples:\n    >>> LinkFieldValues.model_validate({\"summary\": \"First\", \"id\": \"658\"}).summary\n\
        \    'First'"
      properties:
        summary:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Summary of the linked entity.
          title: Summary
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the linked entity.
          title: Id
      title: LinkFieldValues
      type: object
    LinkInput:
      description: "A link spec used by create-link and the bulk ``values.links`` array.\n\nExamples:\n\
        \    >>> LinkInput(relationship=\"relates\", entity=\"658\").model_dump()\n    {'relationship':\
        \ 'relates', 'entity': '658'}"
      properties:
        relationship:
          description: Link type, e.g. 'depends on', 'is dependent by', 'works towards'.
          title: Relationship
          type: string
        entity:
          description: Identifier of the entity to link to.
          title: Entity
          type: string
      required:
      - relationship
      - entity
      title: LinkInput
      type: object
    LinkObject:
      description: "The ``object`` sub-model in a ``Link`` — carries ``key`` and ``display``.\n\nExamples:\n\
        \    >>> LinkObject.model_validate({\"key\": \"DE-2\", \"display\": \"Other\"}).key\n    'DE-2'"
      properties:
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Key
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Display
      title: LinkObject
      type: object
    LinkPage:
      description: "One page of ``POST /issues/{key}/links/_list``: the links under a ``links`` key.\n\
        \nExamples:\n    >>> LinkPage.model_validate({\"links\": [{\"id\": 1}]}).links[0].id\n    1"
      properties:
        links:
          description: The page's links.
          items:
            $ref: '#/components/schemas/LinksLink'
          title: Links
          type: array
      title: LinkPage
      type: object
    LinkType:
      description: "A link type: its id and its names in the inward and outward direction.\n\nExamples:\n\
        \    >>> LinkType.model_validate({\"id\": \"relates\", \"inward\": \"x\", \"outward\": \"y\"}).id\n\
        \    'relates'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Id
        inward:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Inward
        outward:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Outward
      title: LinkType
      type: object
    LinksLink:
      description: "A linked issue reference (``/issues/{key}/links`` item).\n\nExamples:\n    >>> Link.model_validate(\n\
        \    ...     {\"id\": 7, \"type\": {\"id\": \"relates\"}, \"object\": {\"key\": \"DE-2\"}}\n \
        \   ... ).type\n    'relates'"
      properties:
        id:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          default: null
          title: Id
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Type
        direction:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Direction
        object:
          anyOf:
          - $ref: '#/components/schemas/LinkObject'
          - type: 'null'
          default: null
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Createdby
        updatedBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Updatedby
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Createdat
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Updatedat
        assignee:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Assignee
        status:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Status
      title: Link
      type: object
    LocalField:
      description: "A local (per-queue) custom field.\n\n``key`` is the field key you pass to ``localfields_get``;\
        \ ``schema`` (exposed as\n``field_schema``) describes the value type. Optional blocks (``optionsProvider``,\n\
        ``category``, …) are lenient so partial responses stay valid.\n\nExamples:\n    >>> LocalField.model_validate(\n\
        \    ...     {\"key\": \"loc_field_key\", \"name\": \"Loc field\", \"schema\": {\"type\": \"string\"\
        }}\n    ... ).field_schema.type\n    'string'"
      properties:
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Field type marker; 'local' for these.
          title: Type
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the field.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Unique identifier of the field.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the field.
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Free-text description of the field.
          title: Description
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the field (used to reference it).
          title: Key
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Field version; incremented on every change to the field.
          title: Version
        schema:
          anyOf:
          - $ref: '#/components/schemas/FieldSchema'
          - type: 'null'
          default: null
          description: Value-type descriptor of the field.
        readonly:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the value cannot be edited (true) or can be changed (false).
          title: Readonly
        options:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether any value is allowed (true) or values are limited by org settings.
          title: Options
        suggest:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether a search suggestion appears while entering the value (true) or not.
          title: Suggest
        optionsProvider:
          anyOf:
          - $ref: '#/components/schemas/OptionsProvider'
          - type: 'null'
          default: null
          description: Allowed-values descriptor of the field.
        queryProvider:
          anyOf:
          - $ref: '#/components/schemas/QueryProvider'
          - type: 'null'
          default: null
          description: Query-language class of the field.
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Ordinal position of the field in the organisation's field list.
          title: Order
        category:
          anyOf:
          - $ref: '#/components/schemas/Reference'
          - type: 'null'
          default: null
          description: Category the field belongs to.
        queue:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: The queue this local field is attached to.
      title: LocalField
      type: object
    LocalFieldUpdate:
      description: "Typed request body for ``PATCH /queues/{id}/localFields/{key}`` (edit a local field).\n\
        \nThis endpoint has no ``?version=`` optimistic lock; only the fields that are set are sent.\n\
        \nExamples:\n    >>> LocalFieldUpdate(order=102).model_dump(exclude_none=True)\n    {'order':\
        \ 102}"
      properties:
        name:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: New localized display name of the local field.
        category:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New category identifier (from GET /fields/categories).
          title: Category
        options_provider:
          anyOf:
          - $ref: '#/components/schemas/OptionsProviderInput'
          - type: 'null'
          default: null
          description: Replacement fixed drop-down values for the field.
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: New position of the field in the organisation's field list.
          title: Order
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New description of the local field.
          title: Description
        readonly:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the value is read-only (true) or editable (false).
          title: Readonly
        visible:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the field is always shown in the interface.
          title: Visible
        hidden:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the field is fully hidden even when filled in.
          title: Hidden
      title: LocalFieldUpdate
      type: object
    LocalizedName:
      description: "A localized name (the ``name`` object): Russian and/or English text.\n\nExamples:\n\
        \    >>> LocalizedName(ru=\"Поле\", en=\"Field\").model_dump(exclude_none=True)\n    {'ru': 'Поле',\
        \ 'en': 'Field'}"
      properties:
        ru:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name in Russian.
          title: Ru
        en:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name in English.
          title: En
      title: LocalizedName
      type: object
    Macro:
      description: "A queue macro (``GET /queues/{id}/macros`` item and ``.../macros/{macro_id}``).\n\n\
        Examples:\n    >>> Macro.model_validate({\"id\": 3, \"name\": \"My macro\"}).name\n    'My macro'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns the macro's parameters.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the macro.
          title: Id
        queue:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: Queue whose issues the macro applies to.
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the macro.
          title: Name
        body:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Comment text created when the macro is executed.
          title: Body
        issueUpdate:
          description: Field updates the macro applies to the issue.
          items:
            $ref: '#/components/schemas/MacroFieldUpdate'
          title: Issueupdate
          type: array
      title: Macro
      type: object
    MacroCreate:
      description: "Typed request body for ``macros.create`` (``POST /queues/{id}/macros``).\n\n``issue_update``\
        \ here is a field→value *object* (not the list the read side returns),\ne.g. ``{\"tags\": {\"\
        add\": \"Новый тег\"}, \"resolution\": None}``.\n\nExamples:\n    >>> MacroCreate(name=\"Test\
        \ macro\", body=\"Hi {{issue.author}}\").name\n    'Test macro'"
      properties:
        name:
          description: Name of the new macro.
          title: Name
          type: string
        body:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Comment text created when the macro runs.
          title: Body
        issue_update:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Field→value object of issue changes the macro applies.
          title: Issue Update
      required:
      - name
      title: MacroCreate
      type: object
    MacroFieldUpdate:
      description: "One field-update row in a macro's ``issueUpdate`` list.\n\nExamples:\n    >>> MacroFieldUpdate.model_validate(\n\
        \    ...     {\"field\": {\"id\": \"tags\"}, \"update\": {\"add\": [\"tag 1\"]}}\n    ... ).field.id\n\
        \    'tags'"
      properties:
        field:
          anyOf:
          - $ref: '#/components/schemas/Reference'
          - type: 'null'
          default: null
          description: The task field this row updates when the macro runs.
        update:
          default: null
          description: 'The change applied to the field (e.g. {''add'': [...]}).'
          title: Update
      title: MacroFieldUpdate
      type: object
    MacroUpdate:
      description: "Typed request body for ``macros.edit`` (``PATCH /queues/{id}/macros/{macro_id}``).\n\
        \nEvery field is optional; only the fields you set are sent.\n\nExamples:\n    >>> MacroUpdate(name=\"\
        Renamed\").name\n    'Renamed'"
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New name of the macro.
          title: Name
        body:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New comment text created when the macro runs.
          title: Body
        issue_update:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: Replacement field→value object of issue changes the macro applies.
          title: Issue Update
      title: MacroUpdate
      type: object
    Me:
      description: The authenticated Tracker user (``GET /v3/myself``) — a safe auth probe.
      properties:
        uid:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          title: Uid
        login:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Login
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Display
        email:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Email
      title: Me
      type: object
    MetricItem:
      description: "A metric widget pulled onto the entity (``fields.metricItems`` element).\n\nExamples:\n\
        \    >>> MetricItem.model_validate({\"id\": \"1\", \"text\": \"Revenue\", \"url\": \"u\"}).text\n\
        \    'Revenue'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Metric identifier.
          title: Id
        text:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Metric name.
          title: Text
        url:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Link to the widget.
          title: Url
      title: MetricItem
      type: object
    OptionsProvider:
      description: "Allowed-values descriptor of a local field (the ``optionsProvider`` block).\n\nExamples:\n\
        \    >>> OptionsProvider.model_validate(\n    ...     {\"type\": \"FixedListOptionsProvider\"\
        , \"values\": [\"a\", \"b\"]}\n    ... ).values\n    ['a', 'b']"
      properties:
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Drop-down provider type of the field.
          title: Type
        needValidation:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether a submitted value is validated against the list (true) or not.
          title: Needvalidation
        values:
          description: Allowed values offered by the drop-down.
          items:
            type: string
          title: Values
          type: array
      title: OptionsProvider
      type: object
    OptionsProviderInput:
      description: "Typed ``optionsProvider`` block for a field create/edit body (a fixed drop-down).\n\
        \nExamples:\n    >>> OptionsProviderInput(type=\"FixedListOptionsProvider\", values=[\"a\", \"\
        b\"]).model_dump()\n    {'type': 'FixedListOptionsProvider', 'values': ['a', 'b']}"
      properties:
        type:
          description: Drop-down provider type, e.g. FixedListOptionsProvider or FixedUserListOptionsProvider.
          title: Type
          type: string
        values:
          description: Allowed values offered by the drop-down.
          items:
            type: string
          title: Values
          type: array
      required:
      - type
      - values
      title: OptionsProviderInput
      type: object
    ParentEntity:
      description: "The ``parentEntity`` block — the portfolio(s) / parent goal an entity belongs to.\n\
        \nExamples:\n    >>> ParentEntity.model_validate({\"primary\": {\"id\": \"67f\"}, \"secondary\"\
        : []}).primary.id\n    '67f'"
      properties:
        primary:
          anyOf:
          - $ref: '#/components/schemas/Reference'
          - type: 'null'
          default: null
          description: Primary parent (portfolio for project/portfolio, parent goal for goal).
        secondary:
          description: Additional portfolios (projects/portfolios only; empty for goals).
          items:
            $ref: '#/components/schemas/Reference'
          title: Secondary
          type: array
      title: ParentEntity
      type: object
    ParentEntityInput:
      description: "Typed ``parentEntity`` block for a create/edit body (ids, not objects).\n\nExamples:\n\
        \    >>> ParentEntityInput(primary=\"67f\").model_dump(exclude_none=True)\n    {'primary': '67f'}"
      properties:
        primary:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Primary portfolio id (project/portfolio) or parent goal id (goal).
          title: Primary
        secondary:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          default: null
          description: Additional portfolio ids (projects/portfolios only).
          title: Secondary
      title: ParentEntityInput
      type: object
    PermissionsUpdate:
      description: "Typed request body for ``PATCH …/extendedPermissions``: rights to grant and to revoke.\n\
        \nExamples:\n    >>> change = PermissionsUpdate.model_validate(\n    ...     {\"acl\": {\"grant\"\
        : {\"READ\": {\"users\": [\"7\"]}}}}\n    ... )\n    >>> change.model_dump(exclude_none=True)\n\
        \    {'acl': {'grant': {'READ': {'users': ['7']}}}}"
      properties:
        acl:
          $ref: '#/components/schemas/DirectPermissionsUpdate'
          description: '``grant`` and ``revoke``, each an access level → users, groups and roles.'
      required:
      - acl
      title: PermissionsUpdate
      type: object
    Priority:
      description: "A priority reference (``/priorities`` item).\n\nThe live v3 API carries the display\
        \ name in ``name`` (``display`` stays null there), so\nboth fields are mapped. Asked for with\
        \ ``localized=False``, ``name`` is the name in every\nlanguage instead of a string.\n\nExamples:\n\
        \    >>> Priority.model_validate({\"key\": \"normal\", \"name\": \"Normal\"}).name\n    'Normal'"
      properties:
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Key
        name:
          anyOf:
          - type: string
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: Name in the caller's language, or in every language when not localized.
          title: Name
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Display
      title: Priority
      type: object
    PriorityCreate:
      description: "Typed request body for ``POST /priorities/`` (create a priority).\n\nExamples:\n \
        \   >>> PriorityCreate(key=\"one\", name=LocalizedName(ru=\"Низкий\"), order=60).model_dump(\n\
        \    ...     exclude_none=True\n    ... )\n    {'key': 'one', 'name': {'ru': 'Низкий'}, 'order':\
        \ 60}"
      properties:
        key:
          description: Key of the new priority.
          title: Key
          type: string
        name:
          $ref: '#/components/schemas/LocalizedName'
          description: Localized display name of the priority.
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Weight controlling the priority's display order in the interface.
          title: Order
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Description of the priority.
          title: Description
      required:
      - key
      - name
      title: PriorityCreate
      type: object
    PriorityUpdate:
      description: "Typed request body for ``PATCH /priorities/{id}?version=`` (edit a priority).\n\n\
        Only the fields that are set are sent, so omitted fields stay unchanged.\n\nExamples:\n    >>>\
        \ PriorityUpdate(description=\"Описание\").model_dump(exclude_none=True)\n    {'description':\
        \ 'Описание'}"
      properties:
        name:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: New localized display name of the priority.
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New description of the priority.
          title: Description
      title: PriorityUpdate
      type: object
    Project:
      description: "A Tracker project (``GET /projects/{id}``).\n\nExamples:\n    >>> Project.model_validate({\"\
        id\": \"1\", \"name\": \"Launch\", \"status\": \"draft\"}).status\n    'draft'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL of the project.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the project.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Version of the project; each change increments it.
          title: Version
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the project; equals its name.
          title: Key
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name of the project.
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Description (not shown in the Tracker interface).
          title: Description
        lead:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: The project's lead.
        status:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Stage: draft, in_progress, launched or postponed.'
          title: Status
        startDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Start date (YYYY-MM-DD).
          title: Startdate
        endDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: End date (YYYY-MM-DD).
          title: Enddate
        queues:
          anyOf:
          - items: {}
            type: array
          - type: 'null'
          default: null
          description: Queues of the project; present with ``expand=queues``.
          title: Queues
      title: Project
      type: object
    ProjectCreate:
      description: "Typed request body for ``projects.create`` (``POST /projects``).\n\nExamples:\n  \
        \  >>> ProjectCreate(name=\"Launch\", queues=\"TEST\").model_dump(exclude_none=True)\n    {'name':\
        \ 'Launch', 'queues': 'TEST'}"
      properties:
        name:
          description: Name of the project.
          title: Name
          type: string
        queues:
          description: Key of the queue whose issues go into the project.
          title: Queues
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Description of the project.
          title: Description
        lead:
          anyOf:
          - type: string
          - type: integer
          - type: 'null'
          default: null
          description: Login or id of the project's lead.
          title: Lead
        status:
          anyOf:
          - $ref: '#/components/schemas/ProjectStatus'
          - type: 'null'
          default: null
          description: Stage of the project.
        start_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Start date (YYYY-MM-DD).
          title: Start Date
        end_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: End date (YYYY-MM-DD).
          title: End Date
      required:
      - name
      - queues
      title: ProjectCreate
      type: object
    ProjectStatus:
      description: Stage of a project, as a request spells it (replies print it in lower case).
      enum:
      - DRAFT
      - IN_PROGRESS
      - LAUNCHED
      - POSTPONED
      title: ProjectStatus
      type: string
    ProjectUpdate:
      description: "Typed request body for ``projects.edit`` (``PUT /projects/{id}?version=``).\n\n``queues``\
        \ is required by the API on every edit; the rest change when set.\n\nExamples:\n    >>> ProjectUpdate(queues=\"\
        TEST\", name=\"Renamed\").model_dump(exclude_none=True)\n    {'queues': 'TEST', 'name': 'Renamed'}"
      properties:
        queues:
          description: Key of the queue whose issues go into the project.
          title: Queues
          type: string
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New name of the project.
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New description of the project.
          title: Description
        lead:
          anyOf:
          - type: string
          - type: integer
          - type: 'null'
          default: null
          description: Login or id of the new lead.
          title: Lead
        status:
          anyOf:
          - $ref: '#/components/schemas/ProjectStatus'
          - type: 'null'
          default: null
          description: New stage of the project.
        start_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New start date (YYYY-MM-DD).
          title: Start Date
        end_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New end date (YYYY-MM-DD).
          title: End Date
      required:
      - queues
      title: ProjectUpdate
      type: object
    QueryProvider:
      description: "Query-language class of a local field (the ``queryProvider`` block; read-only via\
        \ API).\n\nExamples:\n    >>> QueryProvider.model_validate({\"type\": \"StringOptionalQueryProvider\"\
        }).type\n    'StringOptionalQueryProvider'"
      properties:
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Query-language class of the field.
          title: Type
      title: QueryProvider
      type: object
    Queue:
      description: "A Tracker queue (``GET /queues/`` list item and ``GET /queues/{id}`` response).\n\n\
        The base fields are always present; the ``teamUsers``/``issueTypes``/``versions``/\n``workflows``/``issueTypesConfig``\
        \ blocks are populated only when requested via ``expand``.\n\nExamples:\n    >>> Queue.model_validate({\"\
        id\": \"3\", \"key\": \"TEST\", \"name\": \"Test\"}).key\n    'TEST'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the queue.
          title: Self
        id:
          anyOf:
          - type: string
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the queue (a number; may arrive as an int or a string).
          title: Id
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Queue key (case-sensitive), e.g. TEST — used as the issue prefix.
          title: Key
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Queue version; incremented on every change to the queue.
          title: Version
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the queue.
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Free-text description of the queue.
          title: Description
        lead:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: The queue owner (lead).
        assignAuto:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether new issues in the queue are auto-assigned (true) or not (false).
          title: Assignauto
        defaultType:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: Issue type assigned to new issues by default.
        defaultPriority:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: Priority assigned to new issues by default.
        teamUsers:
          description: Members of the queue team (present with expand=team).
          items:
            $ref: '#/components/schemas/UserReference'
          title: Teamusers
          type: array
        issueTypes:
          description: Issue types available in the queue (present with expand=types).
          items:
            $ref: '#/components/schemas/KeyedReference'
          title: Issuetypes
          type: array
        versions:
          description: Versions defined on the queue (present with expand=versions).
          items:
            $ref: '#/components/schemas/Reference'
          title: Versions
          type: array
        workflows:
          additionalProperties:
            items:
              $ref: '#/components/schemas/KeyedReference'
            type: array
          description: Life-cycles keyed by workflow name, each mapping to its issue-type refs.
          title: Workflows
          type: object
        denyVoting:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether voting for issues is disabled (true) or allowed (false).
          title: Denyvoting
        issueTypesConfig:
          description: Per-issue-type workflow/resolution configuration of the queue.
          items:
            $ref: '#/components/schemas/IssueTypeConfig'
          title: Issuetypesconfig
          type: array
      title: Queue
      type: object
    QueueCreate:
      description: "Typed request body for ``queues.create`` (``POST /queues/``).\n\nExamples:\n    >>>\
        \ QueueCreate(\n    ...     key=\"DESIGN\",\n    ...     name=\"Design\",\n    ...     lead=\"\
        username\",\n    ...     default_type=\"task\",\n    ...     default_priority=\"normal\",\n  \
        \  ... ).key\n    'DESIGN'"
      properties:
        key:
          description: Key of the new queue (case-sensitive, e.g. DESIGN).
          title: Key
          type: string
        name:
          description: Human-readable name of the queue.
          title: Name
          type: string
        lead:
          description: Login or identifier of the queue owner (lead).
          title: Lead
          type: string
        default_type:
          description: Key or id of the issue type assigned to new issues by default.
          title: Default Type
          type: string
        default_priority:
          description: Key or id of the priority assigned to new issues by default.
          title: Default Priority
          type: string
        issue_types_config:
          anyOf:
          - items:
              $ref: '#/components/schemas/IssueTypeConfigInput'
            type: array
          - type: 'null'
          default: null
          description: Per-issue-type workflow/resolution configuration of the queue.
          title: Issue Types Config
      required:
      - key
      - name
      - lead
      - default_type
      - default_priority
      title: QueueCreate
      type: object
    QueueField:
      description: "A required/local field defined on a queue (``GET /queues/{id}/fields`` item).\n\n\
        Examples:\n    >>> QueueField.model_validate({\"id\": \"myfield\", \"name\": \"My field\"}).name\n\
        \    'My field'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the field.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the field.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the field.
          title: Name
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Field version; incremented on every change to the field.
          title: Version
        schema:
          default: null
          description: 'Content-type descriptor: {type: float|string, required: bool}.'
          title: Schema
        readonly:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the field is read-only (true) or editable (false).
          title: Readonly
        options:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the field offers a fixed set of fill-in options.
          title: Options
        suggest:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether suggestions are shown while filling the field in.
          title: Suggest
        optionsProvider:
          default: null
          description: Descriptor of the set of allowed values for the field.
          title: Optionsprovider
        queryProvider:
          default: null
          description: Descriptor of the field's type for query-language requests.
          title: Queryprovider
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Display weight in the UI; lower-weight fields render above higher ones.
          title: Order
      title: QueueField
      type: object
    QueueGroupAccess:
      description: "One group's rights in a queue (``GET /queues/{id}/permissions/groups/{groupId}``).\n\
        \nExamples:\n    >>> QueueGroupAccess.model_validate({\"group\": {\"id\": \"5\"}}).group.id\n\
        \    '5'"
      properties:
        group:
          anyOf:
          - $ref: '#/components/schemas/Reference'
          - type: 'null'
          default: null
          description: The group the rights belong to.
        permissions:
          anyOf:
          - $ref: '#/components/schemas/AccessPermissions'
          - type: 'null'
          default: null
          description: Rights by kind, with who grants each.
        components:
          description: Components the group has access to.
          items:
            $ref: '#/components/schemas/Reference'
          title: Components
          type: array
      title: QueueGroupAccess
      type: object
    QueuePermissionScope:
      description: "One permission category (create/write/read/grant) in a permissions PATCH body.\n\n\
        Each subject list is either a bare array (which overwrites) or a\n:class:`QueuePermissionSubjects`\
        \ add/remove object (which mutates incrementally).\n\nExamples:\n    >>> QueuePermissionScope(roles=[\"\
        author\"]).roles\n    ['author']"
      properties:
        users:
          anyOf:
          - items:
              anyOf:
              - type: string
              - type: integer
            type: array
          - $ref: '#/components/schemas/QueuePermissionSubjects'
          - type: 'null'
          default: null
          description: Users the permission applies to (logins/ids or add/remove).
          title: Users
        groups:
          anyOf:
          - items:
              anyOf:
              - type: string
              - type: integer
            type: array
          - $ref: '#/components/schemas/QueuePermissionSubjects'
          - type: 'null'
          default: null
          description: Groups the permission applies to (ids or add/remove).
          title: Groups
        roles:
          anyOf:
          - items:
              type: string
            type: array
          - $ref: '#/components/schemas/QueuePermissionSubjects'
          - type: 'null'
          default: null
          description: Roles the permission applies to (author/assignee/follower/access).
          title: Roles
      title: QueuePermissionScope
      type: object
    QueuePermissionSubjects:
      description: "The add/remove form of a permission subject list (users, groups or roles).\n\nPassing\
        \ a bare array instead overwrites the subject list; this object form incrementally\nadds and/or\
        \ revokes specific subjects.\n\nExamples:\n    >>> QueuePermissionSubjects(add=[\"author\"]).add\n\
        \    ['author']"
      properties:
        add:
          anyOf:
          - items:
              anyOf:
              - type: string
              - type: integer
            type: array
          - type: 'null'
          default: null
          description: Subjects (logins/ids/role keys) to grant the permission to.
          title: Add
        remove:
          anyOf:
          - items:
              anyOf:
              - type: string
              - type: integer
            type: array
          - type: 'null'
          default: null
          description: Subjects (logins/ids/role keys) to revoke the permission from.
          title: Remove
      title: QueuePermissionSubjects
      type: object
    QueuePermissions:
      description: "The permissions object returned by ``PATCH /queues/{id}/permissions``.\n\nExamples:\n\
        \    >>> QueuePermissions.model_validate({\"version\": 11}).version\n    11"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL of the queue's permissions object.
          title: Self
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Permissions version; incremented on every change.
          title: Version
        create:
          default: null
          description: Effective create-issue permissions.
          title: Create
        write:
          default: null
          description: Effective edit-issue permissions.
          title: Write
        read:
          default: null
          description: Effective read-issue permissions.
          title: Read
        grant:
          default: null
          description: Effective change-settings permissions.
          title: Grant
      title: QueuePermissions
      type: object
    QueuePermissionsUpdate:
      description: "Typed request body for ``queues.set_permissions`` (``PATCH /queues/{id}/permissions``).\n\
        \nSet at least one category. Each names the users/groups/roles the permission applies to.\n\n\
        Examples:\n    >>> QueuePermissionsUpdate(create=QueuePermissionScope(roles=[\"author\"])).create.roles\n\
        \    ['author']"
      properties:
        create:
          anyOf:
          - $ref: '#/components/schemas/QueuePermissionScope'
          - type: 'null'
          default: null
          description: Who may create issues in the queue.
        write:
          anyOf:
          - $ref: '#/components/schemas/QueuePermissionScope'
          - type: 'null'
          default: null
          description: Who may edit issues in the queue.
        read:
          anyOf:
          - $ref: '#/components/schemas/QueuePermissionScope'
          - type: 'null'
          default: null
          description: Who may read issues in the queue.
        grant:
          anyOf:
          - $ref: '#/components/schemas/QueuePermissionScope'
          - type: 'null'
          default: null
          description: Who may change the queue's settings.
      title: QueuePermissionsUpdate
      type: object
    QueueTagRemove:
      description: "Typed request body for ``queues.tag_remove`` (``POST /queues/{id}/tags/_remove``).\n\
        \nExamples:\n    >>> QueueTagRemove(tag=\"obsolete\").tag\n    'obsolete'"
      properties:
        tag:
          description: Name of the tag to remove from the queue.
          title: Tag
          type: string
      required:
      - tag
      title: QueueTagRemove
      type: object
    QueueUserAccess:
      description: "One user's rights in a queue (``GET /queues/{id}/permissions/users/{userId}``).\n\n\
        Examples:\n    >>> QueueUserAccess.model_validate({\"user\": {\"id\": \"11\"}, \"permissions\"\
        : {}}).user.id\n    '11'"
      properties:
        user:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: The user the rights belong to.
        permissions:
          anyOf:
          - $ref: '#/components/schemas/AccessPermissions'
          - type: 'null'
          default: null
          description: Rights by kind, with who grants each (personal, group, role).
        components:
          description: Components the user has access to.
          items:
            $ref: '#/components/schemas/Reference'
          title: Components
          type: array
      title: QueueUserAccess
      type: object
    QueueVersionCreate:
      description: "Typed request body for ``queues.version_create`` (``POST /versions/``).\n\nExamples:\n\
        \    >>> QueueVersionCreate(queue=\"TEST\", name=\"v0.1\").name\n    'v0.1'"
      properties:
        queue:
          description: Key of the queue the version is created in.
          title: Queue
          type: string
        name:
          description: Name of the new version.
          title: Name
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Free-text description of the version.
          title: Description
        start_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Version start date (YYYY-MM-DD).
          title: Start Date
        due_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Version due date (YYYY-MM-DD).
          title: Due Date
      required:
      - queue
      - name
      title: QueueVersionCreate
      type: object
    QueueVersionInfo:
      description: "A queue version (``GET /queues/{id}/versions`` item, ``POST /versions/`` result).\n\
        \nUnlike the bare reference inside an ``expand=versions`` block, this carries the full\nversion\
        \ record — release/archive flags, date range and the owning queue reference.\n\nExamples:\n  \
        \  >>> QueueVersionInfo.model_validate({\"id\": 1, \"name\": \"v0.1\", \"released\": False}).name\n\
        \    'v0.1'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the version.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the version.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Sequence number of the version.
          title: Version
        queue:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: Reference to the queue this version belongs to.
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the version.
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Free-text description of the version.
          title: Description
        startDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Version start date (YYYY-MM-DD).
          title: Startdate
        dueDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Version due/finish date (YYYY-MM-DD).
          title: Duedate
        released:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the version has been released (true) or not (false).
          title: Released
        archived:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the version is archived (true) or active (false).
          title: Archived
      title: QueueVersionInfo
      type: object
    QueueVersionUpdate:
      description: "Typed request body for ``queues.version_edit`` (``PATCH /versions/{id}``).\n\nOnly\
        \ the fields that are set are sent, so omitted fields stay unchanged.\n\nExamples:\n    >>> QueueVersionUpdate(name=\"\
        v1.1\").model_dump(exclude_none=True)\n    {'name': 'v1.1'}"
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New name of the version.
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New description of the version.
          title: Description
        start_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New version start date (YYYY-MM-DD).
          title: Start Date
        due_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New version due date (YYYY-MM-DD).
          title: Due Date
      title: QueueVersionUpdate
      type: object
    RefSelector:
      description: "A status or queue named by an object; give one of ``key``, ``id`` or ``name``.\n\n\
        Examples:\n    >>> RefSelector(key=\"open\").model_dump(exclude_none=True)\n    {'key': 'open'}"
      properties:
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the status or queue.
          title: Key
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Numeric id of the status or queue.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the status or queue.
          title: Name
      title: RefSelector
      type: object
    Reference:
      description: "A reference to a related object: its API link, id and display name.\n\nExamples:\n\
        \    >>> Reference.model_validate({\"id\": \"1\", \"display\": \"Open\"}).display\n    'Open'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL of the referenced object.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the referenced object.
          title: Id
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the object.
          title: Display
      title: Reference
      type: object
    RemoteApplication:
      description: "The ``application`` sub-object — the external app the linked object belongs to.\n\n\
        Examples:\n    >>> RemoteApplication.model_validate({\"id\": \"1\", \"name\": \"test-app\"}).name\n\
        \    'test-app'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: External application identifier.
          title: Id
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Application type, e.g. ``app``.
          title: Type
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the external application.
          title: Name
      title: RemoteApplication
      type: object
    RemoteLink:
      description: "A link between a Tracker issue and an external-application object (``/remotelinks``\
        \ item).\n\nExamples:\n    >>> RemoteLink.model_validate(\n    ...     {\"id\": 51, \"type\":\
        \ {\"id\": \"relates\"}, \"object\": {\"key\": \"TEST-17\"}}\n    ... ).object_key\n    'TEST-17'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource address of this remote link.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the remote link.
          title: Id
        type:
          anyOf:
          - $ref: '#/components/schemas/LinkType'
          - type: 'null'
          default: null
          description: The link type.
        direction:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Link direction (``outward`` / ``inward``) for asymmetric types.
          title: Direction
        object:
          anyOf:
          - $ref: '#/components/schemas/RemoteObject'
          - type: 'null'
          default: null
          description: The linked external-application object.
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the link's creator.
          title: Createdby
        updatedBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the last user to edit the link.
          title: Updatedby
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Creation timestamp.
          title: Createdat
        updatedAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Last-update timestamp.
          title: Updatedat
      title: RemoteLink
      type: object
    RemoteLinkCreate:
      description: "Typed request body for ``POST /issues/{key}/remotelinks`` (add an external link).\n\
        \nExamples:\n    >>> RemoteLinkCreate(key=\"TEST-17\", origin=\"ru.yandex.bitbucket\").model_dump(\n\
        \    ...     exclude_none=True\n    ... )\n    {'relationship': 'RELATES', 'key': 'TEST-17', 'origin':\
        \ 'ru.yandex.bitbucket'}"
      properties:
        relationship:
          default: RELATES
          description: Link type; ``RELATES`` (related) is recommended.
          title: Relationship
          type: string
        key:
          description: Key of the object in the external application.
          title: Key
          type: string
        origin:
          description: Identifier of the external application to link with.
          title: Origin
          type: string
      required:
      - key
      - origin
      title: RemoteLinkCreate
      type: object
    RemoteObject:
      description: "The ``object`` sub-object — the linked object inside the external application.\n\n\
        Examples:\n    >>> RemoteObject.model_validate({\"key\": \"TEST-17\"}).key\n    'TEST-17'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the external object.
          title: Id
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the external object.
          title: Key
        application:
          anyOf:
          - $ref: '#/components/schemas/RemoteApplication'
          - type: 'null'
          default: null
          description: The external application the object belongs to.
      title: RemoteObject
      type: object
    ReportCreate:
      description: "Typed request body for ``POST /entities/report/`` — a ``{fields: {...}}`` envelope.\n\
        \nExamples:\n    >>> params = ReportParameters(filter=ReportFilter(query=\"Q\"), fields=[\"key\"\
        ])\n    >>> body = ReportFieldsInput(summary=\"Export\", parameters=params)\n    >>> list(ReportCreate(fields=body).model_dump())\n\
        \    ['fields']"
      properties:
        fields:
          $ref: '#/components/schemas/ReportFieldsInput'
          description: Report settings (summary + export parameters).
      required:
      - fields
      title: ReportCreate
      type: object
    ReportFieldsInput:
      description: "The ``fields`` object of a report create body — the report name plus export ``parameters``.\n\
        \nExamples:\n    >>> params = ReportParameters(filter=ReportFilter(query=\"Q\"), fields=[\"key\"\
        ])\n    >>> ReportFieldsInput(summary=\"Export\", parameters=params).summary\n    'Export'"
      properties:
        summary:
          description: Report name.
          title: Summary
          type: string
        parameters:
          $ref: '#/components/schemas/ReportParameters'
          description: Export settings and issue filter.
      required:
      - summary
      - parameters
      title: ReportFieldsInput
      type: object
    ReportFilter:
      description: "The ``filter`` block of a report — a Tracker Query Language ``query`` plus optional\
        \ sorts.\n\nExamples:\n    >>> ReportFilter(query=\"Queue: SUPPORT\").model_dump(exclude_none=True)\n\
        \    {'query': 'Queue: SUPPORT'}"
      properties:
        query:
          description: Issue filter in Tracker Query Language.
          title: Query
          type: string
        sorts:
          anyOf:
          - items:
              $ref: '#/components/schemas/ReportSort'
            type: array
          - type: 'null'
          default: null
          description: Sort clauses applied to the report.
          title: Sorts
      required:
      - query
      title: ReportFilter
      type: object
    ReportParameters:
      description: "The ``parameters`` block of a report — export settings plus the issue filter.\n\n\
        Examples:\n    >>> ReportParameters(filter=ReportFilter(query=\"Q\"), fields=[\"key\"]).format\n\
        \    'xlsx'"
      properties:
        type:
          default: issueFilterExport
          description: 'Export type. Value: issueFilterExport.'
          title: Type
          type: string
        format:
          default: xlsx
          description: 'Export format: xlsx, xml or csv.'
          title: Format
          type: string
        filter:
          $ref: '#/components/schemas/ReportFilter'
          description: Issue filtering parameters for the report.
        fields:
          description: Issue field keys to include as report columns.
          items:
            type: string
          title: Fields
          type: array
      required:
      - filter
      - fields
      title: ReportParameters
      type: object
    ReportSort:
      description: "A sort clause for a report filter (``parameters.filter.sorts`` element).\n\nExamples:\n\
        \    >>> ReportSort(order_by=\"updated\", order_asc=False).model_dump()\n    {'orderBy': 'updated',\
        \ 'orderAsc': False}"
      properties:
        orderBy:
          description: Issue field to sort the report by.
          title: Orderby
          type: string
        orderAsc:
          default: true
          description: 'Sort direction: true ascending, false descending.'
          title: Orderasc
          type: boolean
      required:
      - orderBy
      title: ReportSort
      type: object
    Resolution:
      description: "An issue resolution (``/resolutions`` item) — the outcome recorded when an issue closes.\n\
        \nExamples:\n    >>> Resolution.model_validate({\"id\": 1, \"key\": \"fixed\", \"name\": \"Решен\"\
        }).key\n    'fixed'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the resolution.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the resolution in Tracker.
          title: Id
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the resolution.
          title: Key
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Version of the resolution.
          title: Version
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the resolution.
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Description of the resolution.
          title: Description
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Weight controlling the resolution's display order in the interface.
          title: Order
      title: Resolution
      type: object
    ResolutionCreate:
      description: "Typed request body for ``POST /resolutions/`` (create a resolution).\n\nExamples:\n\
        \    >>> ResolutionCreate(key=\"wontFix\", name=LocalizedName(ru=\"Отклонено\")).model_dump(\n\
        \    ...     exclude_none=True\n    ... )\n    {'key': 'wontFix', 'name': {'ru': 'Отклонено'}}"
      properties:
        key:
          description: 'Key of the new resolution: Latin letters, starting with a lower-case letter.'
          title: Key
          type: string
        name:
          $ref: '#/components/schemas/LocalizedName'
          description: Localized display name of the resolution.
      required:
      - key
      - name
      title: ResolutionCreate
      type: object
    ResolutionUpdate:
      description: "Typed request body for ``PATCH /resolutions/{id}?version=`` (edit a resolution).\n\
        \nOnly the fields that are set are sent, so omitted fields stay unchanged.\n\nExamples:\n    >>>\
        \ ResolutionUpdate(order=90).model_dump(exclude_none=True)\n    {'order': 90}"
      properties:
        name:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: New localized display name of the resolution.
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New description of the resolution.
          title: Description
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: New weight controlling the resolution's display order.
          title: Order
      title: ResolutionUpdate
      type: object
    Sprint:
      description: "A sprint (``/boards/{id}/sprints`` item and ``/sprints/{id}``).\n\nA sprint is a fixed\
        \ time-box of work on an agile board; ``createdBy`` is flattened\nto its display string, ``board``\
        \ is kept as a reference object.\n\nExamples:\n    >>> Sprint.model_validate({\"id\": 4405, \"\
        name\": \"Sprint 1\", \"status\": \"in_progress\"}).status\n    'in_progress'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the sprint.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the sprint.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Sprint version; every change to the sprint increments this number.
          title: Version
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name of the sprint.
          title: Name
        board:
          anyOf:
          - $ref: '#/components/schemas/Reference'
          - type: 'null'
          default: null
          description: Board whose issues the sprint belongs to.
        status:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Sprint status: draft (open), in_progress, released (done) or archived.'
          title: Status
        archived:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the sprint is archived (true) or still active (false).
          title: Archived
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the user who created the sprint.
          title: Createdby
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Sprint creation timestamp (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Createdat
        startDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Planned sprint start date (YYYY-MM-DD).
          title: Startdate
        endDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Planned sprint end date (YYYY-MM-DD).
          title: Enddate
        startDateTime:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Actual sprint start timestamp (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Startdatetime
        endDateTime:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Actual sprint end timestamp (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Enddatetime
      title: Sprint
      type: object
    SprintBoardInput:
      description: "The ``board`` object in a create-sprint body — a board identifier wrapper.\n\nExamples:\n\
        \    >>> SprintBoardInput(id=\"1\").id\n    '1'"
      properties:
        id:
          description: Identifier of the board the sprint belongs to.
          title: Id
          type: string
      required:
      - id
      title: SprintBoardInput
      type: object
    SprintCreate:
      description: "Typed request body for ``sprints.create`` (``POST /sprints``).\n\nExamples:\n    >>>\
        \ SprintCreate(\n    ...     name=\"New Sprint\",\n    ...     board=SprintBoardInput(id=\"1\"\
        ),\n    ...     start_date=\"2018-10-21\",\n    ...     end_date=\"2018-10-24\",\n    ... ).name\n\
        \    'New Sprint'"
      properties:
        name:
          description: Name of the new sprint.
          title: Name
          type: string
        board:
          $ref: '#/components/schemas/SprintBoardInput'
          description: Board the sprint belongs to (its id).
        start_date:
          description: Planned sprint start date (YYYY-MM-DD).
          title: Start Date
          type: string
        end_date:
          description: Planned sprint end date (YYYY-MM-DD).
          title: End Date
          type: string
      required:
      - name
      - board
      - start_date
      - end_date
      title: SprintCreate
      type: object
    SprintUpdate:
      description: "Typed request body for ``sprints.edit`` (``PATCH /sprints/{sprint_id}``).\n\nEvery\
        \ field is optional; only the fields you set are sent.\n\nExamples:\n    >>> SprintUpdate(name=\"\
        Updated Sprint Name\").name\n    'Updated Sprint Name'"
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New name of the sprint.
          title: Name
        start_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New planned start date (YYYY-MM-DD).
          title: Start Date
        end_date:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New planned end date (YYYY-MM-DD).
          title: End Date
        status:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'New sprint status: draft, in_progress, released or archived.'
          title: Status
      title: SprintUpdate
      type: object
    Status:
      description: "An issue status (``/statuses`` item) — the workflow stage an issue is in.\n\nExamples:\n\
        \    >>> Status.model_validate({\"id\": 1, \"key\": \"open\", \"name\": \"Открыт\"}).key\n   \
        \ 'open'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the status.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the issue status in Tracker.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Version of the issue status.
          title: Version
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Key of the issue status.
          title: Key
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the issue status.
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Description of the issue status.
          title: Description
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Weight controlling the status' display order in the interface.
          title: Order
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'Status type: one of new, inProgress, paused, done, cancelled.'
          title: Type
      title: Status
      type: object
    StatusCreate:
      description: "Typed request body for ``POST /statuses/`` (create an issue status).\n\nExamples:\n\
        \    >>> StatusCreate(key=\"myStatus\", name=LocalizedName(ru=\"Мой\"), type=\"paused\").model_dump(\n\
        \    ...     exclude_none=True\n    ... )\n    {'key': 'myStatus', 'name': {'ru': 'Мой'}, 'type':\
        \ 'paused'}"
      properties:
        key:
          description: 'Key of the new status: Latin letters, starting with a lower-case letter.'
          title: Key
          type: string
        name:
          $ref: '#/components/schemas/LocalizedName'
          description: Localized display name of the status.
        type:
          description: 'Status type: one of new, inProgress, paused, done, cancelled.'
          title: Type
          type: string
      required:
      - key
      - name
      - type
      title: StatusCreate
      type: object
    StatusRef:
      description: "The target status of a transition (the ``to`` object): its key + display name.\n\n\
        Examples:\n    >>> StatusRef.model_validate({\"key\": \"closed\", \"display\": \"Closed\"}).key\n\
        \    'closed'"
      properties:
        key:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Key
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Display
      title: StatusRef
      type: object
    StatusUpdate:
      description: "Typed request body for ``PATCH /statuses/{id}?version=`` (edit a status).\n\nOnly\
        \ the fields that are set are sent, so omitted fields stay unchanged.\n\nExamples:\n    >>> StatusUpdate(order=350).model_dump(exclude_none=True)\n\
        \    {'order': 350}"
      properties:
        name:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: New localized display name of the status.
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New description of the status.
          title: Description
        order:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: New weight controlling the status' display order.
          title: Order
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: 'New status type: one of new, inProgress, paused, done, cancelled.'
          title: Type
      title: StatusUpdate
      type: object
    Transition:
      description: "An available issue transition (``/issues/{key}/transitions`` item).\n\nThe GET list\
        \ endpoint returns a top-level ``display`` field.\nThe POST ``/_execute`` endpoint returns a ``to``\
        \ object with the target status.\n\nExamples:\n    >>> Transition.model_validate({\"id\": \"close\"\
        , \"display\": \"Close\"}).id\n    'close'\n    >>> t = Transition.model_validate(\n    ...  \
        \   {\"id\": \"close\", \"to\": {\"key\": \"closed\", \"display\": \"Closed\"}}\n    ... )\n \
        \   >>> t.to.display\n    'Closed'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Id
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Display
        to:
          anyOf:
          - $ref: '#/components/schemas/StatusRef'
          - type: 'null'
          default: null
      title: Transition
      type: object
    TransitionExecute:
      additionalProperties: true
      description: "Typed request body for ``POST /issues/{key}/transitions/{id}/_execute``.\n\nOpen-ended:\
        \ any issue field can be set on transition (e.g. a resolution when closing), so\n``extra=\"allow\"\
        `` lets arbitrary field key=value pairs (from the CLI's ``-F``) pass through\nunvalidated while\
        \ the common fields below still document themselves in the MCP schema.\n\nExamples:\n    >>> TransitionExecute(resolution=\"\
        fixed\").model_dump(exclude_none=True)\n    {'resolution': 'fixed'}"
      properties:
        comment:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Comment to add with the transition.
          title: Comment
        resolution:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Resolution key to set, e.g. when closing an issue.
          title: Resolution
      title: TransitionExecute
      type: object
    Trigger:
      description: "A queue trigger (``GET /queues/{id}/triggers/{trigger_id}``).\n\nExamples:\n    >>>\
        \ Trigger.model_validate({\"id\": 16, \"name\": \"trigger\", \"active\": True}).name\n    'trigger'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns the trigger's parameters.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the trigger.
          title: Id
        queue:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: Queue the trigger is configured in.
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the trigger.
          title: Name
        order:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display weight controlling the trigger's order in the UI.
          title: Order
        actions:
          description: Actions the trigger performs when it fires.
          items:
            $ref: '#/components/schemas/AutomationAction'
          title: Actions
          type: array
        conditions:
          description: Conditions under which the trigger fires.
          items:
            $ref: '#/components/schemas/TriggerCondition'
          title: Conditions
          type: array
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Trigger version; incremented on every change.
          title: Version
        active:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the trigger is active (true) or disabled (false).
          title: Active
      title: Trigger
      type: object
    TriggerCondition:
      additionalProperties: true
      description: "One trigger condition, or an And/Or group of nested conditions.\n\nFor an elementary\
        \ condition ``type`` is a match rule (e.g. CommentFullyMatchCondition,\nFieldEquals) and the rule's\
        \ parameters ride along as extra fields. For a group, ``type`` is\n``Or``/``And`` and ``conditions``\
        \ holds the nested sub-conditions.\n\nExamples:\n    >>> TriggerCondition.model_validate(\n  \
        \  ...     {\"type\": \"Or\", \"conditions\": [{\"type\": \"Event.comment-create\"}]}\n    ...\
        \ ).conditions[0].type\n    'Event.comment-create'"
      properties:
        type:
          description: Condition type, or the And/Or operator for a group.
          title: Type
          type: string
        conditions:
          anyOf:
          - items:
              $ref: '#/components/schemas/TriggerCondition'
            type: array
          - type: 'null'
          default: null
          description: Nested sub-conditions when this is an And/Or group.
          title: Conditions
      required:
      - type
      title: TriggerCondition
      type: object
    TriggerCreate:
      description: "Typed request body for ``triggers.create`` (``POST /queues/{id}/triggers``).\n\nExamples:\n\
        \    >>> TriggerCreate(name=\"TriggerName\", actions=[AutomationAction(type=\"Transition\")]).name\n\
        \    'TriggerName'"
      properties:
        name:
          description: Name of the new trigger.
          title: Name
          type: string
        actions:
          description: Actions the trigger performs when it fires.
          items:
            $ref: '#/components/schemas/AutomationAction'
          title: Actions
          type: array
        conditions:
          anyOf:
          - items:
              $ref: '#/components/schemas/TriggerCondition'
            type: array
          - type: 'null'
          default: null
          description: 'Conditions under which the trigger fires (default: always).'
          title: Conditions
        active:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the trigger starts active (true) or disabled (false).
          title: Active
      required:
      - name
      - actions
      title: TriggerCreate
      type: object
    TriggerUpdate:
      description: "Typed request body for ``triggers.edit`` (``PATCH /queues/{id}/triggers/{trigger_id}``).\n\
        \nEvery field is optional; only the fields you set are sent.\n\nExamples:\n    >>> TriggerUpdate(active=False).active\n\
        \    False"
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New name of the trigger.
          title: Name
        actions:
          anyOf:
          - items:
              $ref: '#/components/schemas/AutomationAction'
            type: array
          - type: 'null'
          default: null
          description: Replacement actions the trigger performs.
          title: Actions
        conditions:
          anyOf:
          - items:
              $ref: '#/components/schemas/TriggerCondition'
            type: array
          - type: 'null'
          default: null
          description: Replacement conditions under which the trigger fires.
          title: Conditions
        active:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the trigger is active (true) or disabled (false).
          title: Active
        before:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Id of the trigger to place this one before (reordering).
          title: Before
      title: TriggerUpdate
      type: object
    User:
      description: "An organisation user account (``/users/{login_or_id}`` and ``/users/_relative`` item).\n\
        \nExamples:\n    >>> User.model_validate({\"uid\": 12, \"login\": \"username\", \"display\": \"\
        Ivan Ivanov\"}).login\n    'username'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL that returns full information about the user account.
          title: Self
        uid:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the user account in Tracker (the default id type).
          title: Uid
        login:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Login (username) of the user.
          title: Login
        trackerUid:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the user's account in Tracker.
          title: Trackeruid
        passportUid:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the account in Yandex 360 for Business and Yandex ID.
          title: Passportuid
        cloudUid:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Unique identifier of the user in Yandex Cloud Organization.
          title: Clouduid
        firstName:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Given name of the user.
          title: Firstname
        lastName:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Family name of the user.
          title: Lastname
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the user.
          title: Display
        email:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Email address of the user.
          title: Email
        groups:
          description: Groups the user belongs to; populated only when expand=groups is requested.
          items:
            $ref: '#/components/schemas/Reference'
          title: Groups
          type: array
        external:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Internal service flag.
          title: External
        hasLicense:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the user has full Tracker access (true) or read-only access (false).
          title: Haslicense
        dismissed:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: 'Membership status: true if removed from the organisation, false if active.'
          title: Dismissed
        useNewFilters:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Internal service flag.
          title: Usenewfilters
        disableNotifications:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether notifications are force-disabled for the user (true) or enabled.
          title: Disablenotifications
        firstLoginDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: First Tracker sign-in timestamp (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Firstlogindate
        lastLoginDate:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Most recent Tracker sign-in timestamp (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Lastlogindate
        welcomeMailSent:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: 'How the user was added: true via an email invitation, false another way.'
          title: Welcomemailsent
        sources:
          description: Origin of the account data, e.g. the corporate directory.
          items:
            type: string
          title: Sources
          type: array
        position:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Job title of the user.
          title: Position
      title: User
      type: object
    UserGaps:
      description: "One requested user with their absences in the window (empty when they have none).\n\
        \nExamples:\n    >>> UserGaps.model_validate({\"user\": {\"login\": \"ann\"}, \"gaps\": []}).user.login\n\
        \    'ann'"
      properties:
        user:
          anyOf:
          - $ref: '#/components/schemas/GapUser'
          - type: 'null'
          default: null
          description: The requested user.
        gaps:
          description: Their absences in the window.
          items:
            $ref: '#/components/schemas/Gap'
          title: Gaps
          type: array
      title: UserGaps
      type: object
    UserReference:
      description: "A reference to a user: the reference itself plus the user's account ids.\n\nExamples:\n\
        \    >>> UserReference.model_validate({\"id\": \"11\", \"display\": \"Ivan Ivanov\"}).display\n\
        \    'Ivan Ivanov'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL of the referenced object.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the referenced object.
          title: Id
        display:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Human-readable name of the object.
          title: Display
        cloudUid:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Unique identifier of the user in Yandex Cloud Organization.
          title: Clouduid
        passportUid:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Unique identifier of the account in Yandex 360 for Business and Yandex ID.
          title: Passportuid
      title: UserReference
      type: object
    UsersRelativeResponse:
      description: "Internal envelope of one ``/users/_relative`` page (``{users, hasNext}``).\n\nExamples:\n\
        \    >>> UsersRelativeResponse.model_validate({\"users\": [{\"uid\": 1}], \"hasNext\": True}).has_next\n\
        \    True"
      properties:
        users:
          description: Users on this page, sorted by ascending uid.
          items:
            $ref: '#/components/schemas/User'
          title: Users
          type: array
        hasNext:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether further pages remain (true) or this is the last page (false).
          title: Hasnext
      title: UsersRelativeResponse
      type: object
    WebhookLogEntry:
      description: "One webhook-execution log record of a trigger's HTTP-request action.\n\nExamples:\n\
        \    >>> WebhookLogEntry.model_validate({\"id\": \"x\", \"duration\": 235}).duration\n    235"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the trigger run.
          title: Id
        startTime:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: When the trigger run started (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Starttime
        endTime:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: When the trigger run finished (YYYY-MM-DDThh:mm:ss.sss±hhmm).
          title: Endtime
        duration:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Duration of the trigger run in milliseconds.
          title: Duration
        triggerId:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Identifier of the trigger that ran.
          title: Triggerid
        actionId:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Identifier of the action inside the trigger.
          title: Actionid
        issueId:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the issue the trigger ran on.
          title: Issueid
        request:
          default: null
          description: The outbound HTTP request (method, endpoint, headers, body).
          title: Request
        response:
          default: null
          description: The received HTTP response (headers, statusCode).
          title: Response
      title: WebhookLogEntry
      type: object
    Widget:
      description: "A dashboard widget (``POST /dashboards/{id}/widgets/cycleTime`` response).\n\nExamples:\n\
        \    >>> Widget.model_validate({\"id\": 123, \"description\": \"My widget\"}).description\n  \
        \  'My widget'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource address of this widget.
          title: Self
        id:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          default: null
          description: Widget identifier.
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Widget version (bumped on each edit).
          title: Version
        description:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Widget name.
          title: Description
        dashboard:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the dashboard the widget sits on.
          title: Dashboard
        query:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Query-language filter feeding the widget.
          title: Query
        start:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Calculation start formula, e.g. ``now()-2w``.
          title: Start
        end:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Calculation end formula, e.g. ``now()-2d``.
          title: End
        mode:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Data display mode, e.g. ``common-lines``.
          title: Mode
      title: Widget
      type: object
    Workflow:
      description: "A Tracker workflow (``GET /workflows/{id}``). Unfilled optional fields are absent.\n\
        \nExamples:\n    >>> Workflow.model_validate({\"id\": \"W21\", \"name\": \"Design\", \"version\"\
        : 1}).name\n    'Design'"
      properties:
        self:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: API resource URL of the workflow.
          title: Self
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the workflow.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Name of the workflow.
          title: Name
        version:
          anyOf:
          - type: integer
          - type: 'null'
          default: null
          description: Version of the workflow; each change increments it.
          title: Version
        steps:
          description: 'Steps: each status with the actions leaving it.'
          items:
            $ref: '#/components/schemas/WorkflowStep'
          title: Steps
          type: array
        initialAction:
          anyOf:
          - $ref: '#/components/schemas/WorkflowTransition'
          - type: 'null'
          default: null
          description: The action that sets the status a new issue starts in.
        queue:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: The queue the workflow is bound to; absent for a shared one.
        created:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Creation time (ISO 8601).
          title: Created
        updated:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Last change time (ISO 8601).
          title: Updated
        createdBy:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: The workflow's author.
        updatedBy:
          anyOf:
          - $ref: '#/components/schemas/UserReference'
          - type: 'null'
          default: null
          description: The user who changed the workflow last.
        deleted:
          anyOf:
          - type: boolean
          - type: 'null'
          default: null
          description: Whether the workflow is deleted.
          title: Deleted
        type:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Workflow type; ``visual`` today, and absent on older workflows.
          title: Type
      title: Workflow
      type: object
    WorkflowActionInput:
      description: "An action in a request: ``name`` and ``target`` are required.\n\nExamples:\n    >>>\
        \ WorkflowActionInput(\n    ...     id=\"close\", name=LocalizedName(ru=\"Закрыть\", en=\"Close\"\
        ), target=\"closed\"\n    ... ).model_dump(exclude_none=True)\n    {'id': 'close', 'name': {'ru':\
        \ 'Закрыть', 'en': 'Close'}, 'target': 'closed'}"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the action within its step.
          title: Id
        name:
          $ref: '#/components/schemas/LocalizedName'
          description: Name of the action in each language; the Russian text is required.
        description:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: Description of the action in each language.
        target:
          anyOf:
          - type: string
          - type: integer
          - $ref: '#/components/schemas/RefSelector'
          description: 'Status the action leads to: a key, a numeric id or a ``{key|id|name}`` object.'
          title: Target
        screen:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: 'Transition screen: the fields to fill in when running it.'
          title: Screen
        conditions:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          default: null
          description: Conditions under which the action can run.
          title: Conditions
        functions:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          default: null
          description: Functions run when the action is executed.
          title: Functions
      required:
      - name
      - target
      title: WorkflowActionInput
      type: object
    WorkflowActionUpdate:
      description: "Typed request body for ``workflows.edit_action``.\n\nThe docs mark every field optional,\
        \ but Tracker refuses an edit without ``name`` and\n``target`` (422), so both are required; the\
        \ other fields change only when set.\n\nExamples:\n    >>> WorkflowActionUpdate(name=LocalizedName(ru=\"\
        Закрыть\"), target=\"closed\").model_dump(\n    ...     exclude_none=True\n    ... )\n    {'name':\
        \ {'ru': 'Закрыть'}, 'target': 'closed'}"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New identifier of the action.
          title: Id
        name:
          $ref: '#/components/schemas/LocalizedName'
          description: Name of the action (required by Tracker, with its Russian text).
        description:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: New description of the action.
        target:
          anyOf:
          - type: string
          - type: integer
          - $ref: '#/components/schemas/RefSelector'
          description: 'Target status (required by Tracker): a key, a numeric id or a ``{key|id|name}``.'
          title: Target
        screen:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: null
          description: New transition screen.
          title: Screen
        conditions:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          default: null
          description: New conditions under which the action can run.
          title: Conditions
        functions:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          default: null
          description: New functions run when the action is executed.
          title: Functions
      required:
      - name
      - target
      title: WorkflowActionUpdate
      type: object
    WorkflowCreate:
      description: "Typed request body for ``workflows.create`` (``POST /workflows``).\n\nExamples:\n\
        \    >>> body = WorkflowCreate(\n    ...     name=\"Design\",\n    ...     initial_action=WorkflowActionInput(\n\
        \    ...         name=LocalizedName(ru=\"Открыть\", en=\"Open\"), target=\"open\"\n    ...   \
        \  ),\n    ...     steps=[WorkflowStepInput(status=\"open\")],\n    ... )\n    >>> sorted(body.model_dump(exclude_none=True))\n\
        \    ['initialAction', 'name', 'steps']"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the workflow; generated (``W…``) when absent.
          title: Id
        name:
          description: Name of the workflow.
          title: Name
          type: string
        queue:
          anyOf:
          - type: string
          - type: integer
          - $ref: '#/components/schemas/RefSelector'
          - type: 'null'
          default: null
          description: 'Queue to bind to: a key, an id or a ``{key|id|name}`` object; none = shared.'
          title: Queue
        type:
          anyOf:
          - const: VISUAL
            type: string
          - type: 'null'
          default: null
          description: Workflow type; ``VISUAL`` is the only one today.
          title: Type
        initialAction:
          $ref: '#/components/schemas/WorkflowActionInput'
          description: The action that sets the status a new issue starts in.
        steps:
          description: 'Steps: each status with the actions leaving it.'
          items:
            $ref: '#/components/schemas/WorkflowStepInput'
          title: Steps
          type: array
        issueTypeResolutions:
          anyOf:
          - items:
              $ref: '#/components/schemas/IssueTypeResolutions'
            type: array
          - type: 'null'
          default: null
          description: Resolutions allowed per issue type.
          title: Issuetyperesolutions
      required:
      - name
      - initialAction
      - steps
      title: WorkflowCreate
      type: object
    WorkflowStep:
      description: "A step of a workflow: a status and the actions available from it.\n\nExamples:\n \
        \   >>> WorkflowStep.model_validate({\"status\": {\"key\": \"open\"}, \"actions\": []}).status.key\n\
        \    'open'"
      properties:
        status:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: The status of the step.
        actions:
          description: Actions (transitions) available from this status.
          items:
            $ref: '#/components/schemas/WorkflowTransition'
          title: Actions
          type: array
      title: WorkflowStep
      type: object
    WorkflowStepInput:
      description: "A step in a request: a status and the actions leaving it.\n\nExamples:\n    >>> WorkflowStepInput(status=\"\
        open\").model_dump(exclude_none=True)\n    {'status': 'open'}"
      properties:
        status:
          anyOf:
          - type: string
          - type: integer
          - $ref: '#/components/schemas/RefSelector'
          description: 'Status of the step: a key, a numeric id or a ``{key|id|name}`` object.'
          title: Status
        description:
          anyOf:
          - $ref: '#/components/schemas/LocalizedName'
          - type: 'null'
          default: null
          description: Description of the step in each language.
        actions:
          anyOf:
          - items:
              $ref: '#/components/schemas/WorkflowActionInput'
            type: array
          - type: 'null'
          default: null
          description: Actions (transitions) available from this status.
          title: Actions
        metaAction:
          anyOf:
          - $ref: '#/components/schemas/WorkflowActionInput'
          - type: 'null'
          default: null
          description: Meta action of the step, run automatically.
        statusType:
          anyOf:
          - enum:
            - NEW
            - IN_PROGRESS
            - PAUSED
            - DONE
            - CANCELLED
            type: string
          - type: 'null'
          default: null
          description: Kind of the status.
          title: Statustype
      required:
      - status
      title: WorkflowStepInput
      type: object
    WorkflowTransition:
      description: "An action of a step (or the initial action): its id, name and the status it leads\
        \ to.\n\nExamples:\n    >>> WorkflowTransition.model_validate(\n    ...     {\"id\": \"close\"\
        , \"target\": {\"key\": \"closed\"}}\n    ... ).target.key\n    'closed'"
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Identifier of the action within its step.
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Display name of the action.
          title: Name
        target:
          anyOf:
          - $ref: '#/components/schemas/KeyedReference'
          - type: 'null'
          default: null
          description: The status the action moves the issue to.
      title: WorkflowTransition
      type: object
    WorkflowUpdate:
      description: "Typed request body for ``workflows.edit`` (``PATCH /workflows/{id}``).\n\nOnly the\
        \ fields that are set change; a given ``steps`` list replaces the whole step list.\n\nExamples:\n\
        \    >>> WorkflowUpdate(name=\"Renamed\").model_dump(exclude_none=True)\n    {'name': 'Renamed'}"
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New name of the workflow.
          title: Name
        type:
          anyOf:
          - const: VISUAL
            type: string
          - type: 'null'
          default: null
          description: Workflow type; ``VISUAL`` is the only one today.
          title: Type
        initialAction:
          anyOf:
          - $ref: '#/components/schemas/WorkflowActionInput'
          - type: 'null'
          default: null
          description: New initial action.
        steps:
          anyOf:
          - items:
              $ref: '#/components/schemas/WorkflowStepInput'
            type: array
          - type: 'null'
          default: null
          description: New steps; replaces the existing ones.
          title: Steps
        issueTypeResolutions:
          anyOf:
          - items:
              $ref: '#/components/schemas/IssueTypeResolutions'
            type: array
          - type: 'null'
          default: null
          description: New resolutions allowed per issue type.
          title: Issuetyperesolutions
      title: WorkflowUpdate
      type: object
    Worklog:
      description: "A worklog entry (``/issues/{key}/worklog`` item).\n\nExamples:\n    >>> Worklog.model_validate(\n\
        \    ...     {\"id\": 5, \"createdBy\": {\"display\": \"X\"}, \"duration\": \"PT2H\"}\n    ...\
        \ ).created_by\n    'X'"
      properties:
        id:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          default: null
          title: Id
        createdAt:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Createdat
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Createdby
        duration:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Duration
        start:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Start
        comment:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          title: Comment
      title: Worklog
      type: object
    WorklogCreate:
      description: "Typed request body for ``POST /issues/{key}/worklog`` (log time spent).\n\nExamples:\n\
        \    >>> WorklogCreate(duration=\"PT2H\", start=\"2026-10-02T10:00:00.000+0700\").model_dump(\n\
        \    ...     exclude_none=True\n    ... )\n    {'duration': 'PT2H', 'start': '2026-10-02T10:00:00.000+0700'}"
      properties:
        duration:
          description: Time spent as an ISO-8601 duration, e.g. PT2H, PT300M, P1DT3H.
          title: Duration
          type: string
        start:
          description: Work start time, YYYY-MM-DDThh:mm:ss.sss±hhmm; now when omitted.
          title: Start
          type: string
        comment:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Optional note saved in the time-tracking report.
          title: Comment
      required:
      - duration
      title: WorklogCreate
      type: object
    WorklogPeriod:
      description: "A range of creation times (``createdAt`` of a worklog search).\n\nExamples:\n    >>>\
        \ period = WorklogPeriod.model_validate({\"from\": \"2026-01-01T00:00:00\"})\n    >>> period.model_dump(exclude_none=True)\n\
        \    {'from': '2026-01-01T00:00:00'}"
      properties:
        from:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Start of the range, ``YYYY-MM-DDThh:mm:ss``.
          title: From
        to:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: End of the range, ``YYYY-MM-DDThh:mm:ss``.
          title: To
      title: WorklogPeriod
      type: object
    WorklogSearch:
      description: "Typed request body for ``POST /worklog/_search``: by author, by creation time, or\
        \ both.\n\nExamples:\n    >>> WorklogSearch.model_validate({\"createdBy\": \"ann\"}).model_dump(exclude_none=True)\n\
        \    {'createdBy': 'ann'}"
      properties:
        createdBy:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: Login or id of the author of the records.
          title: Createdby
        createdAt:
          anyOf:
          - $ref: '#/components/schemas/WorklogPeriod'
          - type: 'null'
          default: null
          description: When the records were created.
      title: WorklogSearch
      type: object
    WorklogUpdate:
      description: "Typed request body for ``PATCH /issues/{key}/worklog/{record_id}`` (edit an entry).\n\
        \nExamples:\n    >>> WorklogUpdate(duration=\"PT30M\").model_dump(exclude_none=True)\n    {'duration':\
        \ 'PT30M'}"
      properties:
        duration:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New time spent as an ISO-8601 duration, e.g. PT30M.
          title: Duration
        comment:
          anyOf:
          - type: string
          - type: 'null'
          default: null
          description: New note for the time-tracking report.
          title: Comment
      title: WorklogUpdate
      type: object
