get:
  tags:
    - Conversation
  operationId: conversationList
  description: List all the conversations with pagination
  summary: Conversations List
  parameters:
    - name: assignee_type
      in: query
      type: string
      enum: ['me', 'unassigned', 'all']
      required: true
    - name: status
      in: query
      type: string
      enum: ['open', 'resolved', 'bot']
      required: true
    - name: page
      in: query
      type: integer
      required: true
    - name: inbox_id
      in: query
      type: integer
    - name: labels
      in: query
      type: array
      items:
        type: string

  responses:
    200:
      description: Success
      schema:
        $ref: '#/definitions/conversation_list'
    400:
      description: Bad Request Error
      schema:
        $ref: '#/definitions/bad_request_error'
    description: Access denied

get:
  tags:
    - Conversation
  operationId: conversationSearch
  description: Search for conversations containing a messages with the query string
  summary: Conversations Search
  parameters:
    - name: q
      in: query
      type: string
    - name: assignee_type
      in: query
      type: string
      enum: ['me', 'unassigned', 'all']
    - name: status
      in: query
      type: string
      enum: ['open', 'resolved', 'bot']
    - name: page
      in: query
      type: integer
    - name: inbox_id
      in: query
      type: integer
    - name: labels
      in: query
      type: array
      items:
        type: string

  responses:
    200:
      description: Success
      schema:
        $ref: '#/definitions/conversation_list'
    400:
      description: Bad Request Error
      schema:
        $ref: '#/definitions/bad_request_error'
    description: Access denied


post:
  tags:
    - Conversation
  operationId: newConversation
  summary: Create New Conversation
  description: Create conversation
  security:
    - userApiKey: []
    - agentBotApiKey: []
  parameters:
    - name: data
      in: body
      required: true
      schema:
        type: object
        properties:
          source_id:
            type: string
            description: Contact Source Id

  responses:
    200:
      description: Success
      schema:
        type: object
        properties:
          id:
            type: number
            description: ID of the conversation
          account_id:
            type: number
            description: Account Id
          inbox_id:
            type: number
            description: ID of the inbox
    403:
      description: Access denied
