openapi: 3.1.0
info:
  title: RT REST 2.0 API
  version: "0.1.0-rt-aa865897b137"
  description: "Phase-3 deterministic skeleton generated from RT source route regexes, RT test evidence, and runtime probe-driven response/method refinements."
servers:
  -
    url: "http://localhost/REST/2.0"
    description: Local RT instance
paths:
  /article:
    get:
      operationId: get_article
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Article_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Article"
      x-rt-route-regex:
        - "^/article/?$"
    head:
      operationId: head_article
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Article_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Article"
      x-rt-route-regex:
        - "^/article/?$"
    post:
      operationId: post_article
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        400:
          description: Bad Request
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Article"
      x-rt-route-regex:
        - "^/article/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              Name: Article creation using REST
      x-rt-test-evidence:
        calls: 8
        status_codes:
          - 400
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/article-customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/articles.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/article-customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/articles.t"
        response_key_hints:
          - Class
          - Creator
          - CustomFields
          - LastUpdatedBy
          - Name
          - _hyperlinks
          - id
          - message
  /article/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_article_by_id1
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Article_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Article"
      x-rt-route-regex:
        - "^/article/(\\d+)/?$"
    head:
      operationId: head_article_by_id1
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Article_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Article"
      x-rt-route-regex:
        - "^/article/(\\d+)/?$"
    put:
      operationId: put_article_by_id1
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Article"
      x-rt-route-regex:
        - "^/article/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_article_by_id1
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Article"
      x-rt-route-regex:
        - "^/article/(\\d+)/?$"
  /article/{id2}/history:
    parameters:
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_article_by_id2_history
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    head:
      operationId: head_article_by_id2_history
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_article_by_id2_history
      tags:
        - article
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /articles:
    get:
      operationId: get_articles
      tags:
        - articles
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Article_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Articles"
      x-rt-route-regex:
        - "^/articles/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_articles
      tags:
        - articles
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Article_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Articles"
      x-rt-route-regex:
        - "^/articles/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_articles
      tags:
        - articles
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Article_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Articles"
      x-rt-route-regex:
        - "^/articles/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: id
                operator: ">"
                value: 0
      x-rt-test-evidence:
        calls: 2
        status_codes:
          - 200
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/articles.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/articles.t"
        response_key_hints:
          - Name
          - count
          - items
          - page
          - per_page
          - total
  /asset:
    get:
      operationId: get_asset
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Asset_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Asset"
      x-rt-route-regex:
        - "^/asset/?$"
    head:
      operationId: head_asset
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Asset_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Asset"
      x-rt-route-regex:
        - "^/asset/?$"
    post:
      operationId: post_asset
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        201:
          description: Created
        400:
          description: Bad Request
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Asset"
      x-rt-route-regex:
        - "^/asset/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              CustomFields:
                <var>: "<var>"
      x-rt-test-evidence:
        calls: 11
        status_codes:
          - 200
          - 201
          - 400
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/asset-customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/asset-watchers.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/assets.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/asset-customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/asset-watchers.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/assets.t"
        response_key_hints:
          - Catalog
          - Creator
          - CustomFields
          - LastUpdatedBy
          - Name
          - Owner
          - Status
          - _hyperlinks
          - id
          - message
  /asset/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_asset_by_id1
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Asset_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Asset"
      x-rt-route-regex:
        - "^/asset/(\\d+)/?$"
    head:
      operationId: head_asset_by_id1
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Asset_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Asset"
      x-rt-route-regex:
        - "^/asset/(\\d+)/?$"
    put:
      operationId: put_asset_by_id1
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Asset"
      x-rt-route-regex:
        - "^/asset/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_asset_by_id1
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Asset"
      x-rt-route-regex:
        - "^/asset/(\\d+)/?$"
  /asset/{id2}/history:
    parameters:
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_asset_by_id2_history
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    head:
      operationId: head_asset_by_id2_history
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_asset_by_id2_history
      tags:
        - asset
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /assets:
    get:
      operationId: get_assets
      tags:
        - assets
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Asset_Record_Collection"
              example:
                Name: "<example>"
                Status: "<example>"
                _hyperlinks: "<example>"
                count: "<example>"
                items: "<example>"
                page: "<example>"
                per_page: "<example>"
                total: "<example>"
        default:
          $ref: "#/components/responses/Error"
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Assets"
      x-rt-route-regex:
        - "^/assets/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/assets.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/assets.t"
        response_key_hints:
          - Name
          - Status
          - _hyperlinks
          - count
          - items
          - page
          - per_page
          - total
    head:
      operationId: head_assets
      tags:
        - assets
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Asset_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Assets"
      x-rt-route-regex:
        - "^/assets/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_assets
      tags:
        - assets
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Asset_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Assets"
      x-rt-route-regex:
        - "^/assets/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: id
                operator: ">"
                value: 0
      x-rt-test-evidence:
        calls: 3
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/assets.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/assets.t"
        response_key_hints:
          - count
          - items
          - page
          - per_page
          - total
  /attachment:
    get:
      operationId: get_attachment
      tags:
        - attachment
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachment"
      x-rt-route-regex:
        - "^/attachment/?$"
    head:
      operationId: head_attachment
      tags:
        - attachment
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachment"
      x-rt-route-regex:
        - "^/attachment/?$"
  /attachment/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_attachment_by_id1
      tags:
        - attachment
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachment"
      x-rt-route-regex:
        - "^/attachment/(\\d+)/?$"
    head:
      operationId: head_attachment_by_id1
      tags:
        - attachment
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachment"
      x-rt-route-regex:
        - "^/attachment/(\\d+)/?$"
  /attachments:
    get:
      operationId: get_attachments
      tags:
        - attachments
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachments"
      x-rt-route-regex:
        - "^/attachments/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_attachments
      tags:
        - attachments
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachments"
      x-rt-route-regex:
        - "^/attachments/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_attachments
      tags:
        - attachments
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachments"
      x-rt-route-regex:
        - "^/attachments/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /catalog:
    get:
      operationId: get_catalog
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/?$"
    head:
      operationId: head_catalog
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/?$"
    post:
      operationId: post_catalog
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        201:
          description: Created
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              Name: Laptops
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
          - 201
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/catalogs.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/catalogs.t"
        response_key_hints:
          - Contact
          - Creator
          - Disabled
          - HeldBy
          - LastUpdatedBy
          - Lifecycle
          - Name
          - Owner
          - _hyperlinks
          - id
  /catalog/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_catalog_by_id1
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/(\\d+)/?$"
    head:
      operationId: head_catalog_by_id1
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/(\\d+)/?$"
    put:
      operationId: put_catalog_by_id1
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_catalog_by_id1
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/(\\d+)/?$"
  /catalog/{id2}/customfields:
    parameters:
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_catalog_by_id2_customfields
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/(catalog|class|queue)/(\\d+)/customfields/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_catalog_by_id2_customfields
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/(catalog|class|queue)/(\\d+)/customfields/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_catalog_by_id2_customfields
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/(catalog|class|queue)/(\\d+)/customfields/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /catalog/{name1}:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_catalog_by_name1
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/([^/]+)/?$"
    head:
      operationId: head_catalog_by_name1
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/([^/]+)/?$"
    put:
      operationId: put_catalog_by_name1
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/([^/]+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_catalog_by_name1
      tags:
        - catalog
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalog"
      x-rt-route-regex:
        - "^/catalog/([^/]+)/?$"
  /catalogs:
    get:
      operationId: get_catalogs
      tags:
        - catalogs
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalogs"
      x-rt-route-regex:
        - "^/catalogs/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_catalogs
      tags:
        - catalogs
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalogs"
      x-rt-route-regex:
        - "^/catalogs/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_catalogs
      tags:
        - catalogs
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
        204:
          description: No Content
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalogs"
      x-rt-route-regex:
        - "^/catalogs/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: Name
                value: General assets
      x-rt-test-evidence:
        calls: 3
        status_codes:
          - 200
          - 204
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/catalogs.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/catalogs.t"
        response_key_hints:
          - Contact
          - Creator
          - Description
          - Disabled
          - HeldBy
          - LastUpdatedBy
          - Lifecycle
          - Name
          - Owner
          - _hyperlinks
          - count
          - id
          - items
          - page
          - per_page
          - total
  /catalogs/all:
    get:
      operationId: get_catalogs_all
      tags:
        - catalogs
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalogs"
      x-rt-route-regex:
        - "^/catalogs/all/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_catalogs_all
      tags:
        - catalogs
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalogs"
      x-rt-route-regex:
        - "^/catalogs/all/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_catalogs_all
      tags:
        - catalogs
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Catalog_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Catalogs"
      x-rt-route-regex:
        - "^/catalogs/all/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /class:
    get:
      operationId: get_class
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Class_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/?$"
    head:
      operationId: head_class
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Class_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/?$"
    post:
      operationId: post_class
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/classes.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/classes.t"
        response_key_hints:
          - Creator
          - Disabled
          - LastUpdatedBy
          - Name
          - _hyperlinks
          - id
  /class/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_class_by_id1
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Class_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/(\\d+)/?$"
    head:
      operationId: head_class_by_id1
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Class_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/(\\d+)/?$"
    put:
      operationId: put_class_by_id1
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_class_by_id1
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/(\\d+)/?$"
  /class/{id2}/customfields:
    parameters:
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_class_by_id2_customfields
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/(catalog|class|queue)/(\\d+)/customfields/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_class_by_id2_customfields
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/(catalog|class|queue)/(\\d+)/customfields/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_class_by_id2_customfields
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/(catalog|class|queue)/(\\d+)/customfields/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /class/{name1}:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_class_by_name1
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Class_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/([^/]+)/?$"
    head:
      operationId: head_class_by_name1
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Class_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/([^/]+)/?$"
    put:
      operationId: put_class_by_name1
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/([^/]+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_class_by_name1
      tags:
        - class
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Class"
      x-rt-route-regex:
        - "^/class/([^/]+)/?$"
  /classes:
    get:
      operationId: get_classes
      tags:
        - classes
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 1
                    type: record
                    _url: /REST/2.0/example/1
                    _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Classes"
      x-rt-route-regex:
        - "^/classes/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_classes
      tags:
        - classes
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 1
                    type: record
                    _url: /REST/2.0/example/1
                    _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Classes"
      x-rt-route-regex:
        - "^/classes/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_classes
      tags:
        - classes
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 1
                    type: record
                    _url: /REST/2.0/example/1
                    _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Classes"
      x-rt-route-regex:
        - "^/classes/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: Name
                value: General
      x-rt-test-evidence:
        calls: 3
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/classes.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/classes.t"
        response_key_hints:
          - Creator
          - Description
          - Disabled
          - LastUpdatedBy
          - Name
          - _hyperlinks
          - count
          - id
          - items
          - page
          - per_page
          - total
  /classes/all:
    get:
      operationId: get_classes_all
      tags:
        - classes
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 1
                    type: record
                    _url: /REST/2.0/example/1
                    _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Classes"
      x-rt-route-regex:
        - "^/classes/all/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_classes_all
      tags:
        - classes
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 1
                    type: record
                    _url: /REST/2.0/example/1
                    _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Classes"
      x-rt-route-regex:
        - "^/classes/all/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_classes_all
      tags:
        - classes
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 1
                    type: record
                    _url: /REST/2.0/example/1
                    _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Classes"
      x-rt-route-regex:
        - "^/classes/all/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /customfield:
    get:
      operationId: get_customfield
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomField"
      x-rt-route-regex:
        - "^/customfield/?$"
      parameters:
        -
          $ref: "#/components/parameters/category"
    head:
      operationId: head_customfield
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomField"
      x-rt-route-regex:
        - "^/customfield/?$"
      parameters:
        -
          $ref: "#/components/parameters/category"
    post:
      operationId: post_customfield
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        201:
          description: Created
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomField"
      x-rt-route-regex:
        - "^/customfield/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              Description: This is a CF for testing REST CRUD on CFs
      x-rt-test-evidence:
        calls: 2
        status_codes:
          - 201
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
        response_key_hints: []
  /customfield/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_customfield_by_id1
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record"
              example:
                Description: "<example>"
                Disabled: "<example>"
                LookupType: "<example>"
                MaxValues: "<example>"
                Name: "<example>"
                Type: "<example>"
                Values: "<example>"
                _hyperlinks: "<example>"
                id: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomField"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/?$"
      parameters:
        -
          $ref: "#/components/parameters/category"
      x-rt-test-evidence:
        calls: 3
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
        response_key_hints:
          - Description
          - Disabled
          - LookupType
          - MaxValues
          - Name
          - Type
          - Values
          - _hyperlinks
          - id
    head:
      operationId: head_customfield_by_id1
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomField"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/?$"
      parameters:
        -
          $ref: "#/components/parameters/category"
    put:
      operationId: put_customfield_by_id1
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomField"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              Description: This is a CF for testing REST CRUD on CFs
      x-rt-test-evidence:
        calls: 2
        status_codes:
          - 200
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
        response_key_hints: []
    delete:
      operationId: delete_customfield_by_id1
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomField"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/?$"
      x-rt-test-evidence:
        calls: 2
        status_codes:
          - 204
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
        response_key_hints: []
  /customfield/{id1}/appliesto:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_customfield_by_id1_appliesto
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldAppliesTo"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/appliesto/?$"
      parameters:
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    head:
      operationId: head_customfield_by_id1_appliesto
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldAppliesTo"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/appliesto/?$"
      parameters:
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    post:
      operationId: post_customfield_by_id1_appliesto
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldAppliesTo"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/appliesto/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    delete:
      operationId: delete_customfield_by_id1_appliesto
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldAppliesTo"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/appliesto/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
  /customfield/{id1}/appliesto/object/{id2}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_customfield_by_id1_appliesto_object_by_id2
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldAppliesTo"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/appliesto/object/(\\d+)/?$"
      parameters:
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    head:
      operationId: head_customfield_by_id1_appliesto_object_by_id2
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldAppliesTo"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/appliesto/object/(\\d+)/?$"
      parameters:
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    post:
      operationId: post_customfield_by_id1_appliesto_object_by_id2
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldAppliesTo"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/appliesto/object/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    delete:
      operationId: delete_customfield_by_id1_appliesto_object_by_id2
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldAppliesTo"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/appliesto/object/(\\d+)/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
  /customfield/{id1}/value:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_customfield_by_id1_value
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomFieldValue_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValue"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/value/?$"
    head:
      operationId: head_customfield_by_id1_value
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomFieldValue_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValue"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/value/?$"
    put:
      operationId: put_customfield_by_id1_value
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValue"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/value/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              Name: Still Single
              SortOrder: 20
      x-rt-test-evidence:
        calls: 3
        status_codes:
          - 200
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
        response_key_hints: []
    delete:
      operationId: delete_customfield_by_id1_value
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValue"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/value/?$"
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 204
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
        response_key_hints: []
  /customfield/{id1}/value/{id2}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_customfield_by_id1_value_by_id2
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomFieldValue_Record"
              example:
                CustomField: "<example>"
                _hyperlinks: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValue"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/value/(\\d+)/?$"
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
        response_key_hints:
          - CustomField
          - _hyperlinks
    head:
      operationId: head_customfield_by_id1_value_by_id2
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomFieldValue_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValue"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/value/(\\d+)/?$"
    put:
      operationId: put_customfield_by_id1_value_by_id2
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValue"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/value/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_customfield_by_id1_value_by_id2
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValue"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/value/(\\d+)/?$"
  /customfield/{id1}/values:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_customfield_by_id1_values
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomFieldValue_Record_Collection"
              example:
                count: "<example>"
                items: "<example>"
                total: "<example>"
        default:
          $ref: "#/components/responses/Error"
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValues"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/values/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
      x-rt-test-evidence:
        calls: 2
        status_codes:
          - 200
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
        response_key_hints:
          - count
          - items
          - total
    head:
      operationId: head_customfield_by_id1_values
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomFieldValue_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValues"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/values/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_customfield_by_id1_values
      tags:
        - customfield
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomFieldValue_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFieldValues"
      x-rt-route-regex:
        - "^/customfield/(\\d+)/values/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              Name: Still Single
              SortOrder: 20
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfieldvalues.t"
        response_key_hints:
          - count
          - items
          - total
  /customfields:
    get:
      operationId: get_customfields
      tags:
        - customfields
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/customfields/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_customfields
      tags:
        - customfields
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/customfields/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_customfields
      tags:
        - customfields
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/customfields/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: LookupType
                value: "RT::Queue-RT::Ticket"
      x-rt-test-evidence:
        calls: 5
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/local-custom-fields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/search-json.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/local-custom-fields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/search-json.t"
        response_key_hints:
          - count
          - items
          - page
          - per_page
          - total
  /customrole:
    get:
      operationId: get_customrole
      tags:
        - customrole
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomRole_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomRole"
      x-rt-route-regex:
        - "^/customrole/?$"
    head:
      operationId: head_customrole
      tags:
        - customrole
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomRole_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomRole"
      x-rt-route-regex:
        - "^/customrole/?$"
  /customrole/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_customrole_by_id1
      tags:
        - customrole
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomRole_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomRole"
      x-rt-route-regex:
        - "^/customrole/(\\d+)/?$"
    head:
      operationId: head_customrole_by_id1
      tags:
        - customrole
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomRole_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomRole"
      x-rt-route-regex:
        - "^/customrole/(\\d+)/?$"
  /customroles:
    get:
      operationId: get_customroles
      tags:
        - customroles
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomRole_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomRoles"
      x-rt-route-regex:
        - "^/customroles/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_customroles
      tags:
        - customroles
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomRole_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomRoles"
      x-rt-route-regex:
        - "^/customroles/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_customroles
      tags:
        - customroles
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomRole_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomRoles"
      x-rt-route-regex:
        - "^/customroles/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /download/cf/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_download_cf_by_id1
      tags:
        - download
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_ObjectCustomFieldValue_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::ObjectCustomFieldValue"
      x-rt-route-regex:
        - "^/download/cf/(\\d+)/?$"
    head:
      operationId: head_download_cf_by_id1
      tags:
        - download
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_ObjectCustomFieldValue_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::ObjectCustomFieldValue"
      x-rt-route-regex:
        - "^/download/cf/(\\d+)/?$"
  /group:
    get:
      operationId: get_group
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Group_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Group"
      x-rt-route-regex:
        - "^/group/?$"
    head:
      operationId: head_group
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Group_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Group"
      x-rt-route-regex:
        - "^/group/?$"
    post:
      operationId: post_group
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Group"
      x-rt-route-regex:
        - "^/group/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
      x-rt-test-evidence:
        calls: 2
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/group-members.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/group-members.t"
        response_key_hints:
          - items
          - total
  /group/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_group_by_id1
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Group_Record"
              example:
                _hyperlinks: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Group"
      x-rt-route-regex:
        - "^/group/(\\d+)/?$"
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/group-members.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/group-members.t"
        response_key_hints:
          - _hyperlinks
    head:
      operationId: head_group_by_id1
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Group_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Group"
      x-rt-route-regex:
        - "^/group/(\\d+)/?$"
    put:
      operationId: put_group_by_id1
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Group"
      x-rt-route-regex:
        - "^/group/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_group_by_id1
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Group"
      x-rt-route-regex:
        - "^/group/(\\d+)/?$"
  /group/{id1}/member/{id2}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_group_by_id1_member_by_id2
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_GroupMember_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::GroupMembers"
      x-rt-route-regex:
        - "^/group/(\\d+)/member/(\\d+)/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    head:
      operationId: head_group_by_id1_member_by_id2
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_GroupMember_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::GroupMembers"
      x-rt-route-regex:
        - "^/group/(\\d+)/member/(\\d+)/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    put:
      operationId: put_group_by_id1_member_by_id2
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::GroupMembers"
      x-rt-route-regex:
        - "^/group/(\\d+)/member/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    delete:
      operationId: delete_group_by_id1_member_by_id2
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::GroupMembers"
      x-rt-route-regex:
        - "^/group/(\\d+)/member/(\\d+)/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
  /group/{id1}/members:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_group_by_id1_members
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_GroupMember_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::GroupMembers"
      x-rt-route-regex:
        - "^/group/(\\d+)/members/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    head:
      operationId: head_group_by_id1_members
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_GroupMember_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::GroupMembers"
      x-rt-route-regex:
        - "^/group/(\\d+)/members/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    put:
      operationId: put_group_by_id1_members
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::GroupMembers"
      x-rt-route-regex:
        - "^/group/(\\d+)/members/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    delete:
      operationId: delete_group_by_id1_members
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::GroupMembers"
      x-rt-route-regex:
        - "^/group/(\\d+)/members/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
  /group/{id2}/history:
    parameters:
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_group_by_id2_history
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    head:
      operationId: head_group_by_id2_history
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_group_by_id2_history
      tags:
        - group
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /groups:
    get:
      operationId: get_groups
      tags:
        - groups
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Group_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Groups"
      x-rt-route-regex:
        - "^/groups/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_groups
      tags:
        - groups
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Group_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Groups"
      x-rt-route-regex:
        - "^/groups/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_groups
      tags:
        - groups
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Group_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Groups"
      x-rt-route-regex:
        - "^/groups/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: "CustomField.{Group Type}"
                value: Test
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/groups.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/groups.t"
        response_key_hints: []
  /lifecycle/{name1}:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_lifecycle_by_name1
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/?$"
      parameters:
        -
          $ref: "#/components/parameters/type"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    head:
      operationId: head_lifecycle_by_name1
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/?$"
      parameters:
        -
          $ref: "#/components/parameters/type"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    post:
      operationId: post_lifecycle_by_name1
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    put:
      operationId: put_lifecycle_by_name1
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    delete:
      operationId: delete_lifecycle_by_name1
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
  /lifecycle/{name1}/maps:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_lifecycle_by_name1_maps
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/maps/?$"
      parameters:
        -
          $ref: "#/components/parameters/type"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    head:
      operationId: head_lifecycle_by_name1_maps
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/maps/?$"
      parameters:
        -
          $ref: "#/components/parameters/type"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    post:
      operationId: post_lifecycle_by_name1_maps
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/maps/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    put:
      operationId: put_lifecycle_by_name1_maps
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/maps/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    delete:
      operationId: delete_lifecycle_by_name1_maps
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/maps/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
  /lifecycle/{name1}/validate:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_lifecycle_by_name1_validate
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/validate/?$"
      parameters:
        -
          $ref: "#/components/parameters/type"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    head:
      operationId: head_lifecycle_by_name1_validate
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/validate/?$"
      parameters:
        -
          $ref: "#/components/parameters/type"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    post:
      operationId: post_lifecycle_by_name1_validate
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/validate/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    put:
      operationId: put_lifecycle_by_name1_validate
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/validate/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    delete:
      operationId: delete_lifecycle_by_name1_validate
      tags:
        - lifecycle
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycle/([^/]+)/validate/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
  /lifecycles:
    get:
      operationId: get_lifecycles
      tags:
        - lifecycles
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycles/?$"
      parameters:
        -
          $ref: "#/components/parameters/type"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    head:
      operationId: head_lifecycles
      tags:
        - lifecycles
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycles/?$"
      parameters:
        -
          $ref: "#/components/parameters/type"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    post:
      operationId: post_lifecycles
      tags:
        - lifecycles
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycles/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    put:
      operationId: put_lifecycles
      tags:
        - lifecycles
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycles/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    delete:
      operationId: delete_lifecycles
      tags:
        - lifecycles
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Lifecycle"
      x-rt-route-regex:
        - "^/lifecycles/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
  /queue:
    get:
      operationId: get_queue
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/?$"
    head:
      operationId: head_queue
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/?$"
    post:
      operationId: post_queue
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        201:
          description: Created
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              CustomRoles:
                Queue Multi Role: []
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
          - 201
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/queues.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/queues.t"
        response_key_hints:
          - AdminCc
          - Cc
          - Creator
          - Disabled
          - LastUpdatedBy
          - Lifecycle
          - Name
          - Owner
          - Requestor
          - _hyperlinks
          - id
  /queue/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_queue_by_id1
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record"
              example:
                _hyperlinks: "<example>"
                items: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/(\\d+)/?$"
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/rights.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/rights.t"
        response_key_hints:
          - _hyperlinks
          - items
    head:
      operationId: head_queue_by_id1
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/(\\d+)/?$"
    put:
      operationId: put_queue_by_id1
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_queue_by_id1
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/(\\d+)/?$"
  /queue/{id2}/customfields:
    parameters:
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_queue_by_id2_customfields
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/(catalog|class|queue)/(\\d+)/customfields/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_queue_by_id2_customfields
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/(catalog|class|queue)/(\\d+)/customfields/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_queue_by_id2_customfields
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_CustomField_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::CustomFields"
      x-rt-route-regex:
        - "^/(catalog|class|queue)/(\\d+)/customfields/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: LookupType
                value: "RT::Queue-RT::Ticket"
              -
                field: MaxValues
                value: 1
      x-rt-test-evidence:
        calls: 2
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/local-custom-fields.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/local-custom-fields.t"
        response_key_hints:
          - count
          - items
          - total
  /queue/{id2}/history:
    parameters:
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_queue_by_id2_history
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    head:
      operationId: head_queue_by_id2_history
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_queue_by_id2_history
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /queue/{name1}:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_queue_by_name1
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record"
              example:
                _hyperlinks: "<example>"
                items: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/([^/]+)/?$"
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/rights.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/rights.t"
        response_key_hints:
          - _hyperlinks
          - items
    head:
      operationId: head_queue_by_name1
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/([^/]+)/?$"
    put:
      operationId: put_queue_by_name1
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/([^/]+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_queue_by_name1
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queue"
      x-rt-route-regex:
        - "^/queue/([^/]+)/?$"
  /queue/{name2}/history:
    parameters:
      -
        name: name2
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_queue_by_name2_history
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(queue|user)/([^/]+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    head:
      operationId: head_queue_by_name2_history
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(queue|user)/([^/]+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_queue_by_name2_history
      tags:
        - queue
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(queue|user)/([^/]+)/history/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /queues:
    get:
      operationId: get_queues
      tags:
        - queues
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queues"
      x-rt-route-regex:
        - "^/queues/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_queues
      tags:
        - queues
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queues"
      x-rt-route-regex:
        - "^/queues/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_queues
      tags:
        - queues
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
        204:
          description: No Content
        400:
          description: Bad Request
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queues"
      x-rt-route-regex:
        - "^/queues/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: Name
                value: General
      x-rt-test-evidence:
        calls: 15
        status_codes:
          - 200
          - 204
          - 400
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/organization.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/queues.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/search-json.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/organization.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/queues.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/search-json.t"
        response_key_hints:
          - AdminCc
          - Cc
          - Creator
          - Description
          - Disabled
          - LastUpdatedBy
          - Lifecycle
          - Name
          - Owner
          - Requestor
          - TicketCustomFields
          - TicketTransactionCustomFields
          - _hyperlinks
          - count
          - id
          - items
          - message
          - page
          - per_page
          - total
  /queues/all:
    get:
      operationId: get_queues_all
      tags:
        - queues
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record_Collection"
              example:
                count: "<example>"
                items: "<example>"
                page: "<example>"
                per_page: "<example>"
                total: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queues"
      x-rt-route-regex:
        - "^/queues/all/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
      x-rt-test-evidence:
        calls: 3
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/search-simple.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/search-simple.t"
        response_key_hints:
          - count
          - items
          - page
          - per_page
          - total
    head:
      operationId: head_queues_all
      tags:
        - queues
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queues"
      x-rt-route-regex:
        - "^/queues/all/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_queues_all
      tags:
        - queues
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Queue_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Queues"
      x-rt-route-regex:
        - "^/queues/all/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example: []
      x-rt-test-evidence:
        calls: 5
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/pagination.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/queues.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/pagination.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/queues.t"
        response_key_hints:
          - AdminCc
          - Cc
          - CustomRoles
          - count
          - items
          - next_page
          - page
          - pages
          - per_page
          - prev_page
          - total
  /r:
    get:
      operationId: get_r
      tags:
        - r
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::RT"
      x-rt-route-regex:
        - "^/rt?$"
      x-rt-content-types:
        accepted: []
        provided:
          - application/json
  /rt:
    get:
      operationId: get_rt
      tags:
        - rt
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::RT"
      x-rt-route-regex:
        - "^/rt?$"
      x-rt-content-types:
        accepted: []
        provided:
          - application/json
  /search:
    get:
      operationId: get_search
      tags:
        - search
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_SavedSearch_Record"
              example:
                Description: "<example>"
                Name: "<example>"
                _hyperlinks: "<example>"
                id: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Search"
      x-rt-route-regex:
        - "^/search/?$"
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/searches.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/searches.t"
        response_key_hints:
          - Description
          - Name
          - _hyperlinks
          - id
    head:
      operationId: head_search
      tags:
        - search
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_SavedSearch_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Search"
      x-rt-route-regex:
        - "^/search/?$"
  /search/{name1}:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_search_by_name1
      tags:
        - search
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_SavedSearch_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Search"
      x-rt-route-regex:
        - "^/search/(.+)/?$"
    head:
      operationId: head_search_by_name1
      tags:
        - search
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_SavedSearch_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Search"
      x-rt-route-regex:
        - "^/search/(.+)/?$"
  /searches:
    get:
      operationId: get_searches
      tags:
        - searches
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CollectionResponse"
              example:
                count: "<example>"
                items: "<example>"
                page: "<example>"
                per_page: "<example>"
                total: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Searches"
      x-rt-route-regex:
        - "^/searches/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/searches.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/searches.t"
        response_key_hints:
          - count
          - items
          - page
          - per_page
          - total
    head:
      operationId: head_searches
      tags:
        - searches
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 1
                    type: record
                    _url: /REST/2.0/example/1
                    _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Searches"
      x-rt-route-regex:
        - "^/searches/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_searches
      tags:
        - searches
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 1
                    type: record
                    _url: /REST/2.0/example/1
                    _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Searches"
      x-rt-route-regex:
        - "^/searches/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: Description
                value: My own tickets
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/searches.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/searches.t"
        response_key_hints:
          - count
          - items
          - page
          - per_page
          - total
  /ticket:
    get:
      operationId: get_ticket
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/?$"
    head:
      operationId: head_ticket
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/?$"
    post:
      operationId: post_ticket
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton. Creates a new ticket. Live validation in this RT instance accepted `Queue` as numeric id (`1`) while `Queue=General` returned 403; prefer queue id when create permission errors mention queue name mismatches."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        201:
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TicketCreateResponse"
              example:
                id: 3
                _url: "http://localhost:8083/REST/2.0/ticket/3"
                type: ticket
        400:
          description: Bad Request
        403:
          description: Forbidden
        412:
          description: Response
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/?$"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TicketCreateRequest"
            example:
              Subject: OpenAPI root create 1780243466
              Queue: 1
              Content: Initial body from API
              ContentType: text/plain
      x-rt-live-evidence:
        proven: true
        notes:
          - "Observed status: 201 Created."
          - Queue accepted as numeric id '1' in this environment.
        source: "out/live-ticket-flow.json"
      x-rt-test-evidence:
        calls: 46
        status_codes:
          - 200
          - 201
          - 400
          - 403
          - 412
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/conflict.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-correspond-customroles.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-customroles.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-links.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-watchers.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/transaction-customfields.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/conflict.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-correspond-customroles.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-customroles.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-links.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-watchers.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/transaction-customfields.t"
        response_key_hints:
          - AdminCc
          - Cc
          - Content
          - ContentType
          - Creator
          - CustomFields
          - CustomRoles
          - Data
          - Description
          - LastUpdatedBy
          - Object
          - Owner
          - Queue
          - Requestor
          - Status
          - Subject
          - TimeTaken
          - TimeWorked
          - TotalTimeWorked
          - Type
          - _hyperlinks
          - count
          - id
          - items
          - message
          - next_page
          - page
          - per_page
          - prev_page
          - total
  /ticket/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_ticket_by_id1
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                _hyperlinks: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/?$"
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-links.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-links.t"
        response_key_hints:
          - _hyperlinks
    head:
      operationId: head_ticket_by_id1
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/?$"
    put:
      operationId: put_ticket_by_id1
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
                - "Ticket 3: Subject changed from 'OpenAPI root create 1780243466' to 'OpenAPI root updated 1780243466'"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              Subject: OpenAPI root updated 1780243466
      x-rt-test-evidence:
        calls: 2
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-links.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-links.t"
        response_key_hints: []
    delete:
      operationId: delete_ticket_by_id1
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/?$"
  /ticket/{id1}/attachments:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_ticket_by_id1_attachments
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachments"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/attachments/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/attachments.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/attachments.t"
        response_key_hints: []
    head:
      operationId: head_ticket_by_id1_attachments
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachments"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/attachments/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_ticket_by_id1_attachments
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachments"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/attachments/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /ticket/{id1}/comment:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    post:
      operationId: post_ticket_by_id1_comment
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        201:
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TicketCommentCreateResponse"
              example:
                - Comments added
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Message"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(correspond|comment)$"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TicketCommentCreateRequest"
            example:
              Content: OpenAPI verified comment text
              ContentType: text/plain
          multipart/form-data:
            schema:
              type: object
              additionalProperties: true
          text/html:
            schema:
              type: string
          text/plain:
            schema:
              type: string
      x-rt-live-evidence:
        proven: true
        notes:
          - POST /ticket/1/comment with application/json requires ContentType in this RT instance.
          - "Observed status: 201 Created."
        source: "out/live-ticket-flow.json"
      x-rt-test-evidence:
        calls: 4
        status_codes:
          - 201
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/attachments.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/attachments.t"
        response_key_hints: []
      x-rt-content-types:
        accepted:
          - application/json
          - "multipart/form-data"
          - text/html
          - text/plain
        provided:
          - application/json
  /ticket/{id1}/correspond:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    post:
      operationId: post_ticket_by_id1_correspond
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Message"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(correspond|comment)$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              Subject: Ticket for CF test
              Queue: General
              Content: Ticket for CF test content
          multipart/form-data:
            schema:
              type: object
              additionalProperties: true
          text/html:
            schema:
              type: string
          text/plain:
            schema:
              type: string
      x-rt-test-evidence:
        calls: 2
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/transaction-customfields.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/transaction-customfields.t"
        response_key_hints: []
      x-rt-content-types:
        accepted:
          - application/json
          - "multipart/form-data"
          - text/html
          - text/plain
        provided:
          - application/json
  /ticket/{id1}/steal:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_ticket_by_id1_steal
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
    head:
      operationId: head_ticket_by_id1_steal
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
    put:
      operationId: put_ticket_by_id1_steal
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
                - "Ticket 3: Subject changed from 'OpenAPI root create 1780243466' to 'OpenAPI root updated 1780243466'"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
            example:
              Subject: OpenAPI root updated 1780243466
    delete:
      operationId: delete_ticket_by_id1_steal
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
  /ticket/{id1}/take:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_ticket_by_id1_take
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
    head:
      operationId: head_ticket_by_id1_take
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
    put:
      operationId: put_ticket_by_id1_take
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
                - "Ticket 3: Subject changed from 'OpenAPI root create 1780243466' to 'OpenAPI root updated 1780243466'"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
            example:
              Subject: OpenAPI root updated 1780243466
    delete:
      operationId: delete_ticket_by_id1_take
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
  /ticket/{id1}/untake:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_ticket_by_id1_untake
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
    head:
      operationId: head_ticket_by_id1_untake
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
    put:
      operationId: put_ticket_by_id1_untake
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
                - "Ticket 3: Subject changed from 'OpenAPI root create 1780243466' to 'OpenAPI root updated 1780243466'"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
            example:
              Subject: OpenAPI root updated 1780243466
    delete:
      operationId: delete_ticket_by_id1_untake
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Ticket"
      x-rt-route-regex:
        - "^/ticket/(\\d+)/(take|untake|steal)$"
  /ticket/{id2}/history:
    parameters:
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_ticket_by_id2_history
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions). Ticket comments are transactions where `Type` is `Comment`; to read comments first filter to `Type=Comment`. In observed RT behavior, comment transaction `Content` can still be empty; retrieve the comment body from attachments via `GET /transaction/{id}` -> `GET /transaction/{id}/attachments` -> `GET /attachment/{id}` (attachment `Content` is base64). Example filter: (for example `POST /ticket/{id}/history` with `[{\"field\":\"Type\",\"operator\":\"=\",\"value\":\"Comment\"}]`)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                items:
                  -
                    id: 50
                    type: transaction
                    _url: /REST/2.0/transaction/50
                    Type: Comment
                    Content: ""
                    Created: "2026-05-31T16:00:31Z"
                    Creator:
                      id: root
                      type: user
                      _url: /REST/2.0/user/root
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    head:
      operationId: head_ticket_by_id2_history
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_ticket_by_id2_history
      tags:
        - ticket
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions). Ticket comments are transactions where `Type` is `Comment`; to read comments first filter to `Type=Comment`. In observed RT behavior, comment transaction `Content` can still be empty; retrieve the comment body from attachments via `GET /transaction/{id}` -> `GET /transaction/{id}/attachments` -> `GET /attachment/{id}` (attachment `Content` is base64). Example filter: (for example `POST /ticket/{id}/history` with `[{\"field\":\"Type\",\"operator\":\"=\",\"value\":\"Comment\"}]`)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 1
                total: 1
                pages: 1
                per_page: 20
                page: 1
                items:
                  -
                    id: 50
                    type: transaction
                    _url: /REST/2.0/transaction/50
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Comment
  /tickets:
    get:
      operationId: get_tickets
      tags:
        - tickets
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record_Collection"
              example:
                CustomFields: "<example>"
                Priority: "<example>"
                Status: "<example>"
                Subject: "<example>"
                Type: "<example>"
                _hyperlinks: "<example>"
                count: "<example>"
                id: "<example>"
                items: "<example>"
                page: "<example>"
                pages: "<example>"
                per_page: "<example>"
                total: "<example>"
        default:
          $ref: "#/components/responses/Error"
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Tickets"
      x-rt-route-regex:
        - "^/tickets/?$"
      parameters:
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
      x-rt-test-evidence:
        calls: 14
        status_codes:
          - 200
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/searches.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-customroles.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/searches.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-customfields.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/ticket-customroles.t"
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets.t"
        response_key_hints:
          - CustomFields
          - Priority
          - Status
          - Subject
          - Type
          - _hyperlinks
          - count
          - id
          - items
          - page
          - pages
          - per_page
          - total
    head:
      operationId: head_tickets
      tags:
        - tickets
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Tickets"
      x-rt-route-regex:
        - "^/tickets/?$"
      parameters:
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_tickets
      tags:
        - tickets
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Ticket_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Tickets"
      x-rt-route-regex:
        - "^/tickets/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
  /tickets/bulk:
    post:
      operationId: post_tickets_bulk
      tags:
        - tickets
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        400:
          description: Bad Request
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::TicketsBulk"
      x-rt-route-regex:
        - "^/tickets/bulk/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              Queue: General
              Subject: test
      x-rt-test-evidence:
        calls: 5
        status_codes:
          - 400
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets-bulk.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets-bulk.t"
        response_key_hints:
          - message
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    put:
      operationId: put_tickets_bulk
      tags:
        - tickets
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::TicketsBulk"
      x-rt-route-regex:
        - "^/tickets/bulk/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
      x-rt-test-evidence:
        calls: 4
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets-bulk.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets-bulk.t"
        response_key_hints: []
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
  /tickets/bulk/comment:
    post:
      operationId: post_tickets_bulk_comment
      tags:
        - tickets
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::TicketsBulk"
      x-rt-route-regex:
        - "^/tickets/bulk/(correspond|comment)$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
      x-rt-test-evidence:
        calls: 3
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets-bulk.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets-bulk.t"
        response_key_hints: []
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    put:
      operationId: put_tickets_bulk_comment
      tags:
        - tickets
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::TicketsBulk"
      x-rt-route-regex:
        - "^/tickets/bulk/(correspond|comment)$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
  /tickets/bulk/correspond:
    post:
      operationId: post_tickets_bulk_correspond
      tags:
        - tickets
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::TicketsBulk"
      x-rt-route-regex:
        - "^/tickets/bulk/(correspond|comment)$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
      x-rt-test-evidence:
        calls: 3
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets-bulk.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/tickets-bulk.t"
        response_key_hints: []
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
    put:
      operationId: put_tickets_bulk_correspond
      tags:
        - tickets
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::TicketsBulk"
      x-rt-route-regex:
        - "^/tickets/bulk/(correspond|comment)$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided:
          - application/json
  /transaction:
    get:
      operationId: get_transaction
      tags:
        - transaction
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Transaction_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transaction"
      x-rt-route-regex:
        - "^/transaction/?$"
    head:
      operationId: head_transaction
      tags:
        - transaction
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Transaction_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transaction"
      x-rt-route-regex:
        - "^/transaction/?$"
  /transaction/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_transaction_by_id1
      tags:
        - transaction
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Transaction_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transaction"
      x-rt-route-regex:
        - "^/transaction/(\\d+)/?$"
    head:
      operationId: head_transaction_by_id1
      tags:
        - transaction
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Transaction_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transaction"
      x-rt-route-regex:
        - "^/transaction/(\\d+)/?$"
  /transaction/{id1}/attachments:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_transaction_by_id1_attachments
      tags:
        - transaction
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachments"
      x-rt-route-regex:
        - "^/transaction/(\\d+)/attachments/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_transaction_by_id1_attachments
      tags:
        - transaction
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachments"
      x-rt-route-regex:
        - "^/transaction/(\\d+)/attachments/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_transaction_by_id1_attachments
      tags:
        - transaction
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_Attachment_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Attachments"
      x-rt-route-regex:
        - "^/transaction/(\\d+)/attachments/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /transactions:
    get:
      operationId: get_transactions
      tags:
        - transactions
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                Content: "<example>"
                ContentType: "<example>"
                Creator: "<example>"
                Field: "<example>"
                NewValue: "<example>"
                Object: "<example>"
                OldValue: "<example>"
                TimeTaken: "<example>"
                Type: "<example>"
                _hyperlinks: "<example>"
                count: "<example>"
                id: "<example>"
                items: "<example>"
                message: "<example>"
                page: "<example>"
                per_page: "<example>"
                total: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/transactions/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/transactions.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/transactions.t"
        response_key_hints:
          - Content
          - ContentType
          - Creator
          - Field
          - NewValue
          - Object
          - OldValue
          - TimeTaken
          - Type
          - _hyperlinks
          - count
          - id
          - items
          - message
          - page
          - per_page
          - total
    head:
      operationId: head_transactions
      tags:
        - transactions
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/transactions/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_transactions
      tags:
        - transactions
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/transactions/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: Type
                operator: "="
                value: Set
      x-rt-test-evidence:
        calls: 1
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/transactions.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/transactions.t"
        response_key_hints:
          - count
          - items
          - page
          - per_page
          - total
  /user:
    get:
      operationId: get_user
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record"
              example:
                _hyperlinks: "<example>"
                items: "<example>"
                total: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/?$"
      x-rt-test-evidence:
        calls: 3
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/user-memberships.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/user-memberships.t"
        response_key_hints:
          - _hyperlinks
          - items
          - total
    head:
      operationId: head_user
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/?$"
    post:
      operationId: post_user
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
        201:
          description: Created
        403:
          description: Forbidden
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
      x-rt-test-evidence:
        calls: 4
        status_codes:
          - 200
          - 201
          - 403
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/user-customfields.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/user-customfields.t"
        response_key_hints:
          - EmailAddress
          - Name
          - id
  /user/{id1}:
    parameters:
      -
        name: id1
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_user_by_id1
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record"
              example:
                _hyperlinks: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/(\\d+)/?$"
      x-rt-test-evidence:
        calls: 4
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
        response_key_hints:
          - _hyperlinks
    head:
      operationId: head_user_by_id1
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/(\\d+)/?$"
    put:
      operationId: put_user_by_id1
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_user_by_id1
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/(\\d+)/?$"
  /user/{id2}/history:
    parameters:
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_user_by_id2_history
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    head:
      operationId: head_user_by_id2_history
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_user_by_id2_history
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(ticket|queue|asset|user|group|article)/(\\d+)/history/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /user/{name1}:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_user_by_name1
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record"
              example:
                _hyperlinks: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/([^/]+)/?$"
      x-rt-test-evidence:
        calls: 4
        status_codes:
          - 200
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
        response_key_hints:
          - _hyperlinks
    head:
      operationId: head_user_by_name1
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/([^/]+)/?$"
    put:
      operationId: put_user_by_name1
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/([^/]+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Generic JSON payload placeholder; refine in later phases.
              additionalProperties: true
    delete:
      operationId: delete_user_by_name1
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::User"
      x-rt-route-regex:
        - "^/user/([^/]+)/?$"
  /user/{name1}/group/{id2}:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
      -
        name: id2
        in: path
        required: true
        schema:
          type: integer
          format: int64
    get:
      operationId: get_user_by_name1_group_by_id2
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::UserGroups"
      x-rt-route-regex:
        - "^/user/([^/]+)/group/(\\d+)/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    head:
      operationId: head_user_by_name1_group_by_id2
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::UserGroups"
      x-rt-route-regex:
        - "^/user/([^/]+)/group/(\\d+)/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    put:
      operationId: put_user_by_name1_group_by_id2
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::UserGroups"
      x-rt-route-regex:
        - "^/user/([^/]+)/group/(\\d+)/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    delete:
      operationId: delete_user_by_name1_group_by_id2
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::UserGroups"
      x-rt-route-regex:
        - "^/user/([^/]+)/group/(\\d+)/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
  /user/{name1}/groups:
    parameters:
      -
        name: name1
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_user_by_name1_groups
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::UserGroups"
      x-rt-route-regex:
        - "^/user/([^/]+)/groups/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    head:
      operationId: head_user_by_name1_groups
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecordObject"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::UserGroups"
      x-rt-route-regex:
        - "^/user/([^/]+)/groups/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    put:
      operationId: put_user_by_name1_groups
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        200:
          description: OK
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::UserGroups"
      x-rt-route-regex:
        - "^/user/([^/]+)/groups/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON payload.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: string
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
    delete:
      operationId: delete_user_by_name1_groups
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton."
      responses:
        204:
          description: No Content
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::UserGroups"
      x-rt-route-regex:
        - "^/user/([^/]+)/groups/?$"
      x-rt-content-types:
        accepted:
          - application/json
        provided: []
  /user/{name2}/history:
    parameters:
      -
        name: name2
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: get_user_by_name2_history
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(queue|user)/([^/]+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    head:
      operationId: head_user_by_name2_history
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(queue|user)/([^/]+)/history/?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
        -
          $ref: "#/components/parameters/query"
        -
          $ref: "#/components/parameters/simple"
    post:
      operationId: post_user_by_name2_history
      tags:
        - user
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior). Supports SQL-like filtering through the query parameter `query`. Returns transaction history for the parent record. Use the `fields` query parameter to request additional transaction fields. Requested fields can be present but empty when a transaction type does not carry a value (for example `Content` on non-comment transactions)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionCollectionResponse"
              example:
                count: 2
                total: null
                pages: 1
                per_page: 20
                page: 1
                next_page: null
                prev_page: null
                items:
                  -
                    id: 101
                    type: transaction
                    _url: /REST/2.0/transaction/101
                    Type: Create
                    Content: Asset created
                    ContentType: text/plain
                  -
                    id: 102
                    type: transaction
                    _url: /REST/2.0/transaction/102
                    Type: Set
                    Field: Status
                    OldValue: new
                    NewValue: allocated
                    Content: ""
                    ContentType: ""
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Transactions"
      x-rt-route-regex:
        - "^/(queue|user)/([^/]+)/history/?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: JSON search filter list.
              type: array
              items:
                $ref: "#/components/schemas/SearchFilter"
            example:
              -
                field: Type
                operator: "="
                value: Set
  /users:
    get:
      operationId: get_users
      tags:
        - users
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record_Collection"
              example:
                items: "<example>"
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Users"
      x-rt-route-regex:
        - "^/users(?:/(privileged|unprivileged)?)?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
        response_key_hints:
          - items
    head:
      operationId: head_users
      tags:
        - users
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Users"
      x-rt-route-regex:
        - "^/users(?:/(privileged|unprivileged)?)?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_users
      tags:
        - users
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Users"
      x-rt-route-regex:
        - "^/users(?:/(privileged|unprivileged)?)?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: Name
                value: bar
                operator: "="
              -
                field: Name
                value: quuz
                operator: "="
      x-rt-test-evidence:
        calls: 2
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
        response_key_hints: []
  /users/privileged:
    get:
      operationId: get_users_privileged
      tags:
        - users
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Users"
      x-rt-route-regex:
        - "^/users(?:/(privileged|unprivileged)?)?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_users_privileged
      tags:
        - users
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Users"
      x-rt-route-regex:
        - "^/users(?:/(privileged|unprivileged)?)?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_users_privileged
      tags:
        - users
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Users"
      x-rt-route-regex:
        - "^/users(?:/(privileged|unprivileged)?)?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: Name
                value: bar
                operator: "="
              -
                field: Name
                value: quuz
                operator: "="
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
        response_key_hints: []
  /users/unprivileged:
    get:
      operationId: get_users_unprivileged
      tags:
        - users
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Users"
      x-rt-route-regex:
        - "^/users(?:/(privileged|unprivileged)?)?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    head:
      operationId: head_users_unprivileged
      tags:
        - users
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Users"
      x-rt-route-regex:
        - "^/users(?:/(privileged|unprivileged)?)?$"
      parameters:
        -
          $ref: "#/components/parameters/fields"
        -
          $ref: "#/components/parameters/order"
        -
          $ref: "#/components/parameters/orderby"
        -
          $ref: "#/components/parameters/page"
        -
          $ref: "#/components/parameters/per_page"
    post:
      operationId: post_users_unprivileged
      tags:
        - users
      description: "Auto-generated RT REST2 operation skeleton. Supports JSON filter arrays via POST request bodies (ProcessPOSTasGET behavior)."
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RT_User_Record_Collection"
              example:
                id: 1
                type: record
                _url: /REST/2.0/example/1
                _hyperlinks: []
        default:
          $ref: "#/components/responses/Error"
      security:
        -
          tokenAuth: []
        -
          basicAuth: []
        -
          cookieAuth: []
      x-rt-resource-classes:
        - "RT::REST2::Resource::Users"
      x-rt-route-regex:
        - "^/users(?:/(privileged|unprivileged)?)?$"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              description: Observed in RT tests as JSON request body.
              oneOf:
                -
                  type: object
                  additionalProperties: true
                -
                  type: array
                  items:
                    type: object
                    additionalProperties: true
            example:
              -
                field: Name
                value: bar
                operator: "="
              -
                field: Name
                value: quuz
                operator: "="
      x-rt-test-evidence:
        calls: 1
        status_codes: []
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
      x-rt-test-examples:
        files:
          - "/home/runner/work/rt-openapi/rt-openapi/vendor/rt/t/rest2/users.t"
        response_key_hints: []
x-rt-runtime-overrides:
  source: "out/probe-analysis.json"
  runtime_status_operation_count: 0
  head_405_operation_count: 0
components:
  parameters:
    page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
      description: Page number.
    per_page:
      name: per_page
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
      description: Items per page.
    order:
      name: order
      in: query
      required: false
      schema:
        type: string
        enum:
          - ASC
          - DESC
          - asc
          - desc
      description: Sort order.
    orderby:
      name: orderby
      in: query
      required: false
      schema:
        type: string
      description: Field(s) used for sorting.
    find_disabled_rows:
      name: find_disabled_rows
      in: query
      required: false
      schema:
        type: boolean
      description: Include disabled rows in results.
    fields:
      name: fields
      in: query
      required: false
      schema:
        type: string
      description: "Comma-separated list of fields to return."
    query:
      name: query
      in: query
      required: false
      schema:
        type: string
      description: "SQL-like search query."
    simple:
      name: simple
      in: query
      required: false
      schema:
        type: boolean
      description: Enable simple query parsing.
    category:
      name: category
      in: query
      required: false
      schema:
        type: string
      description: Category selector.
    group:
      name: group
      in: query
      required: false
      schema:
        type: integer
        format: int64
      description: Group identifier.
    user:
      name: user
      in: query
      required: false
      schema:
        type: string
      description: User identifier or name.
    type:
      name: type
      in: query
      required: false
      schema:
        type: string
      description: Lifecycle type.
  schemas:
    SearchFilter:
      type: object
      properties:
        field:
          type: string
        operator:
          type: string
        value: {}
        entry_aggregator:
          type: string
      required:
        - field
        - value
      additionalProperties: true
    TicketCommentCreateRequest:
      type: object
      properties:
        Content:
          type: string
        ContentType:
          type: string
          example: text/plain
      required:
        - Content
        - ContentType
      additionalProperties: true
      description: Observed for application/json comment creation in RT REST 2.0.
    TicketCreateRequest:
      type: object
      properties:
        Subject:
          type: string
        Queue:
          oneOf:
            -
              type: string
            -
              type: integer
              format: int64
          description: Queue name or id.
        Content:
          type: string
        ContentType:
          type: string
          example: text/plain
      required:
        - Subject
        - Queue
      additionalProperties: true
      description: Observed for application/json ticket creation in RT REST 2.0.
    TicketCreateResponse:
      type: object
      properties:
        id:
          type: string
        _url:
          type: string
        type:
          type: string
          enum:
            - ticket
      required:
        - id
        - _url
        - type
      additionalProperties: true
    TicketCommentCreateResponse:
      type: array
      items:
        type: string
      description: "RT returns a message list, for example ['Comments added']."
    Hyperlink:
      type: object
      properties:
        ref:
          type: string
        type:
          type: string
        id: {}
        _url:
          type: string
      additionalProperties: true
    RecordObject:
      type: object
      properties:
        id: {}
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
      additionalProperties: true
    TransactionRecord:
      type: object
      properties:
        id:
          type: integer
          format: int64
        type:
          type: string
          enum:
            - transaction
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/TransactionHyperlink"
        Type:
          type: string
        Field:
          type: string
        OldValue:
          type:
            - string
            - null
        NewValue:
          type:
            - string
            - null
        Content:
          type: string
        ContentType:
          type: string
        TimeTaken:
          type:
            - number
            - string
            - null
        Creator:
          $ref: "#/components/schemas/TransactionEntityRef"
        Object:
          $ref: "#/components/schemas/TransactionEntityRef"
        Created:
          type: string
      required:
        - id
        - type
        - _url
      additionalProperties: false
    TransactionEntityRef:
      type: object
      properties:
        id:
          oneOf:
            -
              type: integer
            -
              type: string
        type:
          type: string
        _url:
          type: string
      required:
        - id
        - type
        - _url
      additionalProperties: false
    TransactionHyperlink:
      type: object
      properties:
        ref:
          type: string
        type:
          type: string
        id:
          oneOf:
            -
              type: integer
            -
              type: string
        _url:
          type: string
        label:
          type: string
        from:
          type: string
        to:
          type: string
      required:
        - ref
        - _url
      additionalProperties: false
    CollectionResponse:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RecordObject"
      required:
        - count
        - items
      additionalProperties: true
    TransactionCollectionResponse:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/TransactionRecord"
      required:
        - count
        - items
      additionalProperties: false
    RT_Article_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Class:
          type: integer
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Disabled:
          type: integer
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        Name:
          type: string
        Parent:
          type: integer
        SortOrder:
          type: integer
        Summary:
          type: string
        Type:
          type: string
        URI:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::Article"
      description: "Derived from RT::Article::_CoreAccessible metadata."
    RT_Asset_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Catalog:
          type: integer
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Description:
          type: string
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        Name:
          type: string
        Status:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::Asset"
      description: "Derived from RT::Asset::_CoreAccessible metadata."
    RT_Attachment_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Content:
          type: string
        ContentEncoding:
          type: string
        ContentType:
          type: string
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Filename:
          type: string
        Headers:
          type: string
        MessageId:
          type: string
        Parent:
          type: integer
        Subject:
          type: string
        TransactionId:
          type: integer
      additionalProperties: true
      x-rt-record-class: "RT::Attachment"
      description: "Derived from RT::Attachment::_CoreAccessible metadata."
    RT_Catalog_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Description:
          type: string
        Disabled:
          type: integer
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        Lifecycle:
          type: string
        Name:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::Catalog"
      description: "Derived from RT::Catalog::_CoreAccessible metadata."
    RT_Class_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Description:
          type: string
        Disabled:
          type: integer
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        Name:
          type: string
        SortOrder:
          type: integer
      additionalProperties: true
      x-rt-record-class: "RT::Class"
      description: "Derived from RT::Class::_CoreAccessible metadata."
    RT_CustomField_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        BasedOn:
          type: integer
        CanonicalizeClass:
          type: string
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Description:
          type: string
        Disabled:
          type: integer
        EntryHint:
          type:
            - string
            - null
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        LookupType:
          type: string
        MaxValues:
          type: integer
        Name:
          type: string
        Pattern:
          type: string
        RenderType:
          type: string
        SortOrder:
          type: integer
        Type:
          type: string
        UniqueValues:
          type: integer
        ValidationHint:
          type:
            - string
            - null
        ValuesClass:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::CustomField"
      description: "Derived from RT::CustomField::_CoreAccessible metadata."
    RT_CustomFieldValue_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Category:
          type: string
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        CustomField:
          type: integer
        Description:
          type: string
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        Name:
          type: string
        SortOrder:
          type: integer
      additionalProperties: true
      x-rt-record-class: "RT::CustomFieldValue"
      description: "Derived from RT::CustomFieldValue::_CoreAccessible metadata."
    RT_CustomRole_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Description:
          type: string
        Disabled:
          type: integer
        EntryHint:
          type: string
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        LookupType:
          type: string
        MaxValues:
          type: integer
        Name:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::CustomRole"
      description: "Derived from RT::CustomRole::_CoreAccessible metadata."
    RT_Group_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Description:
          type: string
        Domain:
          type: string
        Instance:
          type: integer
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        Name:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::Group"
      description: "Derived from RT::Group::_CoreAccessible metadata."
    RT_GroupMember_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        GroupId:
          type: integer
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        MemberId:
          type: integer
      additionalProperties: true
      x-rt-record-class: "RT::GroupMember"
      description: "Derived from RT::GroupMember::_CoreAccessible metadata."
    RT_ObjectCustomFieldValue_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Content:
          type: string
        ContentEncoding:
          type: string
        ContentType:
          type: string
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        CustomField:
          type: integer
        Disabled:
          type: integer
        LargeContent:
          type: string
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        ObjectId:
          type: integer
        ObjectType:
          type: string
        SortOrder:
          type: integer
      additionalProperties: true
      x-rt-record-class: "RT::ObjectCustomFieldValue"
      description: "Derived from RT::ObjectCustomFieldValue::_CoreAccessible metadata."
    RT_Queue_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        CommentAddress:
          type: string
        CorrespondAddress:
          type: string
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Description:
          type: string
        Disabled:
          type: integer
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        Lifecycle:
          type: string
        Name:
          type: string
        SLADisabled:
          type: integer
        SortOrder:
          type: integer
        SubjectTag:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::Queue"
      description: "Derived from RT::Queue::_CoreAccessible metadata."
    RT_SavedSearch_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Description:
          type: string
        Disabled:
          type: integer
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        Name:
          type: string
        PrincipalId:
          type: integer
        Type:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::SavedSearch"
      description: "Derived from RT::SavedSearch::_CoreAccessible metadata."
    RT_Ticket_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Description:
          type: string
        Due:
          type: string
          format: "date-time"
        EffectiveId:
          type: integer
        FinalPriority:
          type: integer
        InitialPriority:
          type: integer
        IsMerged:
          type:
            - integer
            - null
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        Owner:
          type: integer
        Priority:
          type: integer
        Queue:
          type: integer
        Resolved:
          type: string
          format: "date-time"
        SLA:
          type: string
        Started:
          type: string
          format: "date-time"
        Starts:
          type: string
          format: "date-time"
        Status:
          type: string
        Subject:
          type: string
        TimeEstimated:
          type: integer
        TimeLeft:
          type: integer
        TimeWorked:
          type: integer
        Told:
          type: string
          format: "date-time"
        Type:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::Ticket"
      description: "Derived from RT::Ticket::_CoreAccessible metadata."
    RT_Transaction_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        Data:
          type: string
        Field:
          type: string
        NewReference:
          type: integer
        NewValue:
          type: string
        ObjectId:
          type: integer
        ObjectType:
          type: string
        OldReference:
          type: integer
        OldValue:
          type: string
        ReferenceType:
          type: string
        TimeTaken:
          type: integer
        TimeWorkedDate:
          type: string
          format: date
        TimeWorker:
          type: integer
        Type:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::Transaction"
      description: "Derived from RT::Transaction::_CoreAccessible metadata."
    RT_User_Record:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
        _url:
          type: string
        _hyperlinks:
          type: array
          items:
            $ref: "#/components/schemas/Hyperlink"
        Address1:
          type: string
        Address2:
          type: string
        AuthToken:
          type: string
        City:
          type: string
        Comments:
          type: string
        Country:
          type: string
        Created:
          type: string
          format: "date-time"
        Creator:
          type: integer
        EmailAddress:
          type: string
        FreeformContactInfo:
          type: string
        Gecos:
          type: string
        HomePhone:
          type: string
        Image:
          type: string
        ImageContentType:
          type: string
        Lang:
          type: string
        LastUpdated:
          type: string
          format: "date-time"
        LastUpdatedBy:
          type: integer
        MobilePhone:
          type: string
        Name:
          type: string
        NickName:
          type: string
        Organization:
          type: string
        PagerPhone:
          type: string
        Password:
          type: string
        RealName:
          type: string
        SMIMECertificate:
          type: string
        Signature:
          type: string
        State:
          type: string
        Timezone:
          type: string
        WorkPhone:
          type: string
        Zip:
          type: string
      additionalProperties: true
      x-rt-record-class: "RT::User"
      description: "Derived from RT::User::_CoreAccessible metadata."
    RT_Article_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_Article_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_Asset_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_Asset_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_Attachment_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_Attachment_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_CustomField_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_CustomField_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_Catalog_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_Catalog_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_CustomFieldValue_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_CustomFieldValue_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_CustomRole_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_CustomRole_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_Group_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_Group_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_Queue_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_Queue_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_Ticket_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_Ticket_Record"
      required:
        - count
        - items
      additionalProperties: true
    RT_User_Record_Collection:
      type: object
      properties:
        count:
          type: integer
        total:
          type:
            - integer
            - null
        pages:
          type:
            - integer
            - null
        per_page:
          type: integer
        page:
          type: integer
        next_page:
          type:
            - string
            - null
        prev_page:
          type:
            - string
            - null
        items:
          type: array
          items:
            $ref: "#/components/schemas/RT_User_Record"
      required:
        - count
        - items
      additionalProperties: true
  securitySchemes:
    tokenAuth:
      type: http
      scheme: bearer
      bearerFormat: RT token
      description: Send token in Authorization header.
    basicAuth:
      type: http
      scheme: basic
    cookieAuth:
      type: apiKey
      in: cookie
      name: RT_SID
  responses:
    Error:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              status:
                type: integer
            additionalProperties: true
