# ===========LICENSE_START========================================================
# ================================================================================
# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
# Modifications Copyright (C) 2020 Nokia. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================
#
swagger: '2.0'
info:
  version: '1.5.4'
  title: Api Documentation
  description: >
    Virtual Event Streaming (VES) Collector is RESTful collector for processing
    JSON messages. The collector verifies the source and validates the events
    against VES schema before distributing to DMAAP MR topics
  termsOfService: 'urn:tos'
  contact: {}
  license:
    name: Apache 2.0
    url: 'http://www.apache.org/licenses/LICENSE-2.0'
host: 'localhost:8443'
basePath: /
tags:
  - name: basic-error-controller
    description: Basic Error Controller
  - name: ves-rest-controller
    description: Ves Rest Controller
paths:
  /:
    get:
      tags:
        - ves-rest-controller
      summary: mainPage
      operationId: mainPageUsingGET
      produces:
        - '*/*'
      responses:
        '200':
          description: OK
          schema:
            type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /error:
    get:
      tags:
        - basic-error-controller
      summary: errorHtml
      operationId: errorHtmlUsingGET
      produces:
        - text/html
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ModelAndView'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    head:
      tags:
        - basic-error-controller
      summary: errorHtml
      operationId: errorHtmlUsingHEAD
      consumes:
        - application/json
      produces:
        - text/html
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ModelAndView'
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    post:
      tags:
        - basic-error-controller
      summary: errorHtml
      operationId: errorHtmlUsingPOST
      consumes:
        - application/json
      produces:
        - text/html
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ModelAndView'
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    put:
      tags:
        - basic-error-controller
      summary: errorHtml
      operationId: errorHtmlUsingPUT
      consumes:
        - application/json
      produces:
        - text/html
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ModelAndView'
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    delete:
      tags:
        - basic-error-controller
      summary: errorHtml
      operationId: errorHtmlUsingDELETE
      produces:
        - text/html
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ModelAndView'
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    options:
      tags:
        - basic-error-controller
      summary: errorHtml
      operationId: errorHtmlUsingOPTIONS
      consumes:
        - application/json
      produces:
        - text/html
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ModelAndView'
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    patch:
      tags:
        - basic-error-controller
      summary: errorHtml
      operationId: errorHtmlUsingPATCH
      consumes:
        - application/json
      produces:
        - text/html
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ModelAndView'
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /eventListener/v1:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v1/eventBatch:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_1
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v2:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_2
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v2/eventBatch:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_3
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v3:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_4
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v3/eventBatch:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_5
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v4:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_6
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v4/eventBatch:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_7
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v5:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_8
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v5/eventBatch:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_9
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /eventListener/v7:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_10
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
  /eventListener/v7/eventBatch:
    post:
      tags:
        - ves-rest-controller
      summary: receiveEvent
      operationId: receiveEventUsingPOST_11
      consumes:
        - application/json
      produces:
        - '*/*'
      parameters:
        - in: body
          name: jsonPayload
          description: jsonPayload
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          schema:
            type: string
        '202':
          description: Accepted
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
definitions:
  ModelAndView:
    type: object
    properties:
      empty:
        type: boolean
      model:
        type: object
      modelMap:
        type: object
        additionalProperties:
          type: object
      reference:
        type: boolean
      status:
        type: string
        enum:
          - '100'
          - '101'
          - '102'
          - '103'
          - '200'
          - '201'
          - '202'
          - '203'
          - '204'
          - '205'
          - '206'
          - '207'
          - '208'
          - '226'
          - '300'
          - '301'
          - '302'
          - '303'
          - '304'
          - '305'
          - '307'
          - '308'
          - '400'
          - '401'
          - '402'
          - '403'
          - '404'
          - '405'
          - '406'
          - '407'
          - '408'
          - '409'
          - '410'
          - '411'
          - '412'
          - '413'
          - '414'
          - '415'
          - '416'
          - '417'
          - '418'
          - '419'
          - '420'
          - '421'
          - '422'
          - '423'
          - '424'
          - '426'
          - '428'
          - '429'
          - '431'
          - '451'
          - '500'
          - '501'
          - '502'
          - '503'
          - '504'
          - '505'
          - '506'
          - '507'
          - '508'
          - '509'
          - '510'
          - '511'
      view:
        $ref: '#/definitions/View'
      viewName:
        type: string
    title: ModelAndView
  View:
    type: object
    properties:
      contentType:
        type: string
    title: View
