swagger: '2.0'
host: localhost:8080
basePath: /
schemes:
  - http
consumes:
  - application/json
produces:
  - application/json
info:
  version: 1.0.0
  title: qorpo-message-service
  description: Autogenerated API for qorpo-message-service
  contact:
    name: orchestrator
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
paths:
  /messages:
    get:
      responses:
        '200':
          schema:
            type: array
            items:
              $ref: '#/definitions/GeneratedSchema5'
          description: ''
      parameters:
        - in: query
          name: destination
          required: false
          type: string
          x-nullable: true
        - in: query
          name: user_id
          required: false
          type: string
          x-nullable: true
        - in: query
          name: updated_at
          required: false
          type: integer
          format: int32
          x-nullable: true
        - in: query
          name: offset
          required: false
          type: integer
          format: int32
          x-nullable: true
        - in: query
          name: seen_at
          required: false
          type: integer
          format: int32
          x-nullable: true
        - in: query
          name: category
          required: false
          type: string
          x-nullable: true
        - in: query
          name: order_type
          required: false
          x-nullable: true
          type: string
          enum:
            - asc
            - dsc
        - in: query
          name: limit
          required: false
          type: integer
          format: int32
          x-nullable: true
        - in: query
          name: processed
          required: false
          type: boolean
          x-nullable: true
        - in: query
          name: message_id
          required: false
          type: string
          x-nullable: true
        - in: query
          name: message
          required: false
          type: string
          x-nullable: true
        - in: query
          name: server_id
          required: false
          type: string
          x-nullable: true
        - in: query
          name: order_key
          required: false
          x-nullable: true
          type: string
          enum:
            - message_id
            - source
            - user_id
            - is_notification
            - seen_at
            - destination
            - category
            - event
            - message
            - data
            - created_at
            - updated_at
            - processed
            - server_id
        - in: query
          name: event
          required: false
          type: string
          x-nullable: true
        - in: query
          name: is_notification
          required: false
          type: boolean
          x-nullable: true
        - in: query
          name: source
          required: false
          type: string
          x-nullable: true
        - in: query
          name: created_at
          required: false
          type: integer
          format: int32
          x-nullable: true
      tags:
        - messages
      produces:
        - application/json
    post:
      responses:
        '200':
          schema:
            type: array
            items:
              $ref: '#/definitions/GeneratedSchema9'
          description: ''
      parameters:
        - in: body
          required: false
          name: body
          schema:
            $ref: '#/definitions/GeneratedSchema10'
      tags:
        - messages
      produces:
        - application/json
  /messages/{message_id}:
    get:
      responses:
        '200':
          schema:
            $ref: '#/definitions/GeneratedSchema7'
          description: ''
      parameters:
        - in: path
          name: message_id
          required: true
          type: string
      tags:
        - messages
      produces:
        - application/json
    patch:
      responses:
        '200':
          schema:
            type: array
            items:
              $ref: '#/definitions/GeneratedSchema11'
          description: ''
      parameters:
        - in: body
          required: false
          name: body
          schema:
            $ref: '#/definitions/GeneratedSchema12'
        - in: path
          name: message_id
          required: true
          type: string
      tags:
        - messages
      produces:
        - application/json
    delete:
      responses:
        '200':
          schema:
            $ref: '#/definitions/GeneratedSchema14'
          description: ''
      parameters:
        - in: path
          name: message_id
          required: true
          type: string
      tags:
        - messages
      produces:
        - application/json
  /notifications:
    patch:
      responses:
        '200':
          schema:
            type: array
            items:
              $ref: '#/definitions/GeneratedSchema16'
          description: ''
      parameters:
        - in: body
          required: false
          name: body
          schema:
            $ref: '#/definitions/GeneratedSchema17'
      tags:
        - notifications
      produces:
        - application/json
    delete:
      responses:
        '200':
          schema:
            type: array
            items:
              $ref: '#/definitions/GeneratedSchema18'
          description: ''
      parameters:
        - in: body
          required: false
          name: body
          schema:
            $ref: '#/definitions/GeneratedSchema19'
      tags:
        - notifications
      produces:
        - application/json
definitions:
  GeneratedSchema5.message:
    type: object
    properties:
      destination:
        type: string
      user_id:
        type: string
      data:
        type: object
      updated_at:
        type: integer
        format: int32
        x-nullable: true
      seen_at:
        type: integer
        format: int32
        x-nullable: true
      category:
        type: string
      processed:
        type: boolean
        x-nullable: true
      message_id:
        type: string
        x-nullable: true
      message:
        type: string
      server_id:
        type: string
      event:
        type: string
      is_notification:
        type: boolean
      source:
        type: string
      created_at:
        type: integer
        format: int32
        x-nullable: true
    required:
      - category
      - destination
      - event
      - is_notification
      - message
      - server_id
      - source
      - user_id
  GeneratedSchema5:
    type: object
    properties:
      message:
        $ref: '#/definitions/GeneratedSchema5.message'
    required:
      - message
  GeneratedSchema7.message:
    type: object
    properties:
      destination:
        type: string
      user_id:
        type: string
      data:
        type: object
      updated_at:
        type: integer
        format: int32
        x-nullable: true
      seen_at:
        type: integer
        format: int32
        x-nullable: true
      category:
        type: string
      processed:
        type: boolean
        x-nullable: true
      message_id:
        type: string
        x-nullable: true
      message:
        type: string
      server_id:
        type: string
      event:
        type: string
      is_notification:
        type: boolean
      source:
        type: string
      created_at:
        type: integer
        format: int32
        x-nullable: true
    required:
      - category
      - destination
      - event
      - is_notification
      - message
      - server_id
      - source
      - user_id
  GeneratedSchema7:
    type: object
    properties:
      message:
        $ref: '#/definitions/GeneratedSchema7.message'
    required:
      - message
  GeneratedSchema10:
    type: object
    properties:
      destination:
        type: string
      user_id:
        type: string
      data:
        type: object
      updated_at:
        type: integer
        format: int32
        x-nullable: true
      seen_at:
        type: integer
        format: int32
        x-nullable: true
      category:
        type: string
      processed:
        type: boolean
        x-nullable: true
      message_id:
        type: string
        x-nullable: true
      message:
        type: string
      server_id:
        type: string
      event:
        type: string
      is_notification:
        type: boolean
      source:
        type: string
      created_at:
        type: integer
        format: int32
        x-nullable: true
    required:
      - category
      - destination
      - event
      - is_notification
      - message
      - server_id
      - source
      - user_id
  GeneratedSchema9.message:
    type: object
    properties:
      destination:
        type: string
      user_id:
        type: string
      data:
        type: object
      updated_at:
        type: integer
        format: int32
        x-nullable: true
      seen_at:
        type: integer
        format: int32
        x-nullable: true
      category:
        type: string
      processed:
        type: boolean
        x-nullable: true
      message_id:
        type: string
        x-nullable: true
      message:
        type: string
      server_id:
        type: string
      event:
        type: string
      is_notification:
        type: boolean
      source:
        type: string
      created_at:
        type: integer
        format: int32
        x-nullable: true
    required:
      - category
      - destination
      - event
      - is_notification
      - message
      - server_id
      - source
      - user_id
  GeneratedSchema9:
    type: object
    properties:
      message:
        $ref: '#/definitions/GeneratedSchema9.message'
    required:
      - message
  GeneratedSchema12:
    type: object
    properties:
      destination:
        type: string
        x-nullable: true
      user_id:
        type: string
        x-nullable: true
      data:
        type: object
      seen_at:
        type: integer
        format: int32
        x-nullable: true
      category:
        type: string
        x-nullable: true
      processed:
        type: boolean
        x-nullable: true
      message:
        type: string
        x-nullable: true
      server_id:
        type: string
        x-nullable: true
      event:
        type: string
        x-nullable: true
      is_notification:
        type: boolean
        x-nullable: true
      source:
        type: string
        x-nullable: true
  GeneratedSchema11.message:
    type: object
    properties:
      destination:
        type: string
      user_id:
        type: string
      data:
        type: object
      updated_at:
        type: integer
        format: int32
        x-nullable: true
      seen_at:
        type: integer
        format: int32
        x-nullable: true
      category:
        type: string
      processed:
        type: boolean
        x-nullable: true
      message_id:
        type: string
        x-nullable: true
      message:
        type: string
      server_id:
        type: string
      event:
        type: string
      is_notification:
        type: boolean
      source:
        type: string
      created_at:
        type: integer
        format: int32
        x-nullable: true
    required:
      - category
      - destination
      - event
      - is_notification
      - message
      - server_id
      - source
      - user_id
  GeneratedSchema11:
    type: object
    properties:
      message:
        $ref: '#/definitions/GeneratedSchema11.message'
    required:
      - message
  GeneratedSchema14:
    type: object
    properties:
      response:
        type: boolean
    required:
      - response
  GeneratedSchema17:
    type: object
    properties:
      destination:
        type: string
        x-nullable: true
      message_id:
        type: string
        x-nullable: true
      user_id:
        type: string
        x-nullable: true
      created_at:
        type: integer
        format: int32
        x-nullable: true
  GeneratedSchema16.message:
    type: object
    properties:
      destination:
        type: string
      user_id:
        type: string
      data:
        type: object
      updated_at:
        type: integer
        format: int32
        x-nullable: true
      seen_at:
        type: integer
        format: int32
        x-nullable: true
      category:
        type: string
      processed:
        type: boolean
        x-nullable: true
      message_id:
        type: string
        x-nullable: true
      message:
        type: string
      server_id:
        type: string
      event:
        type: string
      is_notification:
        type: boolean
      source:
        type: string
      created_at:
        type: integer
        format: int32
        x-nullable: true
    required:
      - category
      - destination
      - event
      - is_notification
      - message
      - server_id
      - source
      - user_id
  GeneratedSchema16:
    type: object
    properties:
      message:
        $ref: '#/definitions/GeneratedSchema16.message'
    required:
      - message
  GeneratedSchema19:
    type: object
    properties:
      destination:
        type: string
        x-nullable: true
      message_id:
        type: string
        x-nullable: true
      user_id:
        type: string
        x-nullable: true
      created_at:
        type: integer
        format: int32
        x-nullable: true
  GeneratedSchema18.message:
    type: object
    properties:
      destination:
        type: string
      user_id:
        type: string
      data:
        type: object
      updated_at:
        type: integer
        format: int32
        x-nullable: true
      seen_at:
        type: integer
        format: int32
        x-nullable: true
      category:
        type: string
      processed:
        type: boolean
        x-nullable: true
      message_id:
        type: string
        x-nullable: true
      message:
        type: string
      server_id:
        type: string
      event:
        type: string
      is_notification:
        type: boolean
      source:
        type: string
      created_at:
        type: integer
        format: int32
        x-nullable: true
    required:
      - category
      - destination
      - event
      - is_notification
      - message
      - server_id
      - source
      - user_id
  GeneratedSchema18:
    type: object
    properties:
      message:
        $ref: '#/definitions/GeneratedSchema18.message'
    required:
      - message
