swagger: '2.0'
info:
  title: additionalItems
  version: '1.0'
  description: this spec exercise the additionalItems property on params and responses, with default and example values. This one is valid.
  license:
    name: MIT
host: localhost:8081
basePath: /api/v1
schemes:
  - http
consumes:
  - application/json
produces:
  - application/json
paths:
  /servers/getSomeIds:
    get:
      operationId: getSomeIdsOps
      parameters:
        - name: addItems1
          in: body
          schema:
            type: object
            # Irrelevant: success
            #additionalItems: true
            properties:
              id:
                type: string
                default: 'abc'
                example: 'def'
        - name: addItems2
          in: query
          schema:
            type: array
            # Irrelevant: success
            #additionalItems: false
            items:
              id:
                type: string
                default: 'abc'
                example: 'def'
        - name: addItems3
          in: query
          schema:
            type: array
            # Irrelevant: success
            #additionalItems: false
            items:
              id:
                type: number
                default: 1
                example: 123
        - name: addItems4
          in: query
          schema:
            type: array
            # Applies: success
            #additionalItems: false
            #minItems: 1
            #maxItems: 2
            #uniqueItems: true
            items:
            - $ref: '#/definitions/itemsSchema1'
            - $ref: '#/definitions/itemsSchema2'
            - $ref: '#/definitions/itemsSchema3'
          default: 
          - x: 'a'
            y: 1
          - t: 1
          example: 
          - x: 'a'
            y: 1
          - z: 1
      responses:
        '200':
definitions:
  itemsSchema1:
    type: object
    required:
    - x
    - y
    properties:
      x:
        type: string
        enum:
        - 'a'
        - 'b'
        - 'c'
        default: 'a'
        example: 'b'
      y:
        type: number
        default: 1
        example: 9
    example:
      x: 'c'
      y: 12
  itemsSchema2:
    type: object
    required:
    - z
    properties:
      z:
        type: number
        default: 1
        example: 9
    example:
      z: 12
  itemsSchema3:
    type: object
    required:
    - t
    properties:
      t:
        type: number
        default: 1
        example: 9
    example:
      t: 12