info:
  version: v4.3.0
  description: Qsirch API
  title: Qsirch API
paths:
  /search-group:
    get:
      responses:
        '200':
          description: Success
      description: |-
        Func Args:
            obj_id: {string}, group id
        URL Args: (only used on obj_id specified)
            top_hits: {integer}, Response to hit items for each groups
            group_sort: {string}, alphabetical, popular, or default
            group_sort_dir: {string}, desc or asc
            item_sort: {string}, size, modified, name, or relevance
            item_sort_dir: {string}, desc or asc
      parameters:
        - default: 10
          in: query
          type: string
          description: 'invalid limit, the allowable value for the argument are 1 TO 1000.'
          name: limit
        - default: 0
          in: query
          type: string
          description: >-
            invalid offset, the allowable value for the argument MUST greater
            than or equal to zero
          name: offset
        - default: ''
          in: query
          type: string
          description: field field is invalid
          name: field
        - default: ''
          in: query
          type: string
          description: highlight field is invalid
          name: highlight
        - default: <qusion>
          in: query
          type: string
          description: pre_highlight_tag is invalid
          name: pre_highlight_tag
        - default: </qusion>
          in: query
          type: string
          description: post_highlight_tag is invalid
          name: post_highlight_tag
        - default: 500
          in: query
          type: string
          description: highlight length limit
          name: highlight_limit
        - default: ''
          in: query
          type: string
          description: ts field is invalid
          name: ts
        - default: ''
          in: query
          type: string
          description: Determines whether the search api endpoint returns
          name: response_type
        - default: ''
          in: query
          type: string
          description: Indicates the sorting order for the returned data.
          name: sort_by
        - description: Indicates the sorting direction for the returned data.
          default: asc
          enum:
            - desc
            - asc
          name: sort_dir
          in: query
          type: string
          collectionFormat: multi
        - description: '1:physical path, 0:share path of path filed of the returned data.'
          default: 0
          enum:
            - 0
            - 1
          name: show_absolute_path
          in: query
          type: integer
          collectionFormat: multi
        - description: >-
            0:search results do not contain folders, 1:contain folders only, 2:
            both
          default: 0
          enum:
            - 0
            - 1
            - 2
          name: show_folder
          in: query
          type: integer
          collectionFormat: multi
        - description: '0:do not show hidden data, file station hidden_file parameter'
          default: 0
          enum:
            - 0
            - 1
          name: show_hidden
          in: query
          type: integer
          collectionFormat: multi
        - description: store_history parameter error (value must be 1 or 0)
          default: 1
          enum:
            - 0
            - 1
          name: store_history
          in: query
          type: integer
          collectionFormat: multi
        - description: whether to check file status or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: file_status
        - description: 'search tools for GET (value must be 1, 2 or 0)'
          default: 0
          enum:
            - 0
            - 1
            - 2
          name: tools
          in: query
          type: integer
          collectionFormat: multi
        - description: >-
            tools_resp ues to response tools result according prefers (value
            must be 0 ~ 3)
          default: 1
          enum:
            - 0
            - 1
            - 2
            - 3
          name: tools_resp
          in: query
          type: integer
          collectionFormat: multi
        - default: ''
          in: query
          type: string
          description: indicate to show tools_hits in result
          name: tools_hits
        - description: search files in recycle bins or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: show_recycled
        - description: whether to enable advanced search syntax or not
          default: 0
          enum:
            - 0
            - 1
          name: advanced_mode
          in: query
          type: integer
          collectionFormat: multi
        - default: 50000
          in: query
          type: string
          description: max items per search tools
          name: tools_limit_items
        - default: 5
          in: query
          type: string
          description: 'invalid top_hits, the allowable values for the argument are 0 TO 25'
          name: top_hits
        - description: >-
            invalid group_sort, the allowable values for the argument are name,
            count, or sum
          default: ''
          enum:
            - name
            - count
            - sum
            - ''
          name: group_sort
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalud group_sort_dir, the allowable values for the argument are
            desc or asc
          default: desc
          enum:
            - desc
            - asc
          name: group_sort_dir
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalid item_sort, the allowable values for the argument are size,
            modified, name, or relevance
          default: relevance
          enum:
            - relevance
            - size
            - modified
            - name
          name: item_sort
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalid item_sort_dir, the allowable values for the argument are
            desc or asc
          default: desc
          enum:
            - desc
            - asc
          name: item_sort_dir
          in: query
          type: string
          collectionFormat: multi
        - default: ''
          in: query
          type: string
          description: query string not found
          name: q
        - type: string
          description: Group object id
          name: obj_id
          in: query
      tags:
        - /
      summary: Get all exist search groups or specified group by obj_id
      operationId: get_search_group_legacy_api_eaee21be-9a96-4853-8235-1695afc09b12
  /list-extensions:
    get:
      tags:
        - /
      summary: Get all recognized and categorized file extensions
      responses:
        '200':
          description: Success
      operationId: get_list_extensions_res_c4406df1-1e9f-466a-92ca-b4709cf06518
  '/preview/text-content/{obj_id}':
    parameters:
      - required: true
        type: string
        description: doc object id
        name: obj_id
        in: path
    get:
      operationId: get_text_content_viewer_2c1fa67b-0ee1-49c3-bbea-fbce79014b3a
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: query string not found
          in: query
          name: q
        - default: 100
          in: query
          type: integer
          description: page size not found
          name: page_size
        - default: 10
          in: query
          type: integer
          description: page count parameter not found
          name: page_count
        - default: -1
          in: query
          type: integer
          description: >-
            The amount of text to return if no fragments matched. Defaults to
            <page_size>.
          name: no_match_size
        - default: <qusion>
          in: query
          type: string
          description: pre_highlight_tag is invalid
          name: pre_highlight_tag
        - default: </qusion>
          in: query
          type: string
          description: post_highlight_tag is invalid
          name: post_highlight_tag
      tags:
        - preview
  /report:
    get:
      operationId: get_system_report_res_3e7eb4c5-3288-4c4d-ba93-1f5b13ab42ca
      responses:
        '200':
          description: Success
      tags:
        - /
  '/more-like-this/{obj_id}':
    parameters:
      - required: true
        type: string
        name: obj_id
        in: path
    get:
      operationId: get_more_like_this_fb50736f-4809-407c-9db1-cc90503e56b5
      responses:
        '200':
          description: Success
      parameters:
        - default: []
          in: query
          type: string
          description: categories must be comma-seperated string
          name: categories
        - default: ''
          in: query
          type: string
          description: plugins must be comma-seperated string
          name: plugins
        - default: ''
          in: query
          type: string
          description: extension must be a string
          name: extension
        - default: 0.5
          in: query
          type: number
          description: min_similarity must be float
          name: min_similarity
        - default: 10
          in: query
          type: integer
          description: limit must be integer
          name: limit
        - default: 0
          in: query
          type: integer
          description: '0:do not show hidden data, file station hidden_file parameter'
          name: show_hidden
        - default: 0
          in: query
          type: integer
          description: '1:physical path, 0:share path of path filed of the returned data.'
          name: show_absolute_path
        - default: 0
          in: query
          type: integer
          description: '0:search results do not contain folders, 1:contain folders'
          name: show_folder
        - in: query
          type: integer
          description: whether to check file status or not
          name: file_status
        - description: search files in recycle bins or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: show_recycled
      tags:
        - more-like-this
  '/profile/{resp}':
    parameters:
      - required: true
        type: string
        description: 'sub-items of resp, allowable resp might ''user'' or ''preferences'''
        in: path
        name: resp
    get:
      tags:
        - profile
      summary: Get user profile
      responses:
        '200':
          description: Sucess
          schema:
            $ref: '#/definitions/USerProfileResp'
      operationId: get_profile_api_f743fbec-3cd6-49af-801d-e44a7c94efdd
  /setting/privacy:
    post:
      operationId: post_privacy_api_9b3963e8-ff38-463d-9a0b-e75fdaf1d7b6
      summary: get privacy setting
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - usage_report
              - usage_report_ask
            type: object
            properties:
              usage_report_ask:
                enum:
                  - 0
                  - 1
                description: usage_report_ask parameter not found
                type: integer
              usage_report:
                enum:
                  - 0
                  - 1
                description: usage_report parameter not found
                type: integer
          required: true
          name: body
          in: body
      tags:
        - setting
    get:
      tags:
        - setting
      summary: get privacy setting
      responses:
        '200':
          description: Success
      operationId: get_privacy_api_6584a2b9-9ed1-40df-88a1-b1c26a937907
  /login/:
    post:
      operationId: post_login_res_05171a07-07e9-45de-8674-b8ab59b0a549
      summary: login api
      responses:
        '200':
          description: Sucess
          schema:
            $ref: '#/definitions/LoginResp'
        '400':
          description: Failed to login
      parameters:
        - schema:
            required:
              - account
              - password
            type: object
            properties:
              remember_me:
                default: 0
                type: integer
                description: remember_me not found
              account:
                type: string
                description: account not found
              password:
                type: string
                description: password not found
              security_code:
                type: string
                description: security_code not found
              force_to_check_2sv:
                default: 0
                type: integer
                description: force_to_check_2sv not found
              app_id:
                type: string
                description: app_id not found
              security_answer:
                type: string
                description: security_answer not found
              app_version:
                default: ''
                type: string
                description: app_version not found
          required: true
          name: body
          in: body
      tags:
        - login
  /setting/system/refs:
    parameters:
      - type: string
        description: feature argument
        name: feature
        in: query
    get:
      operationId: get_setting_refs_qpkg_status_9680c017-70b8-4b30-b688-088c5ef684cb
      responses:
        '200':
          description: Success
      tags:
        - setting
  '/histories/{obj_id}':
    put:
      operationId: put_histories_obj_api_a89ee2b1-ed1a-499e-a438-77b335c5ee73
      responses:
        '400':
          description: Failed to update objet
        '404':
          description: object id not found
      parameters:
        - schema:
            required:
              - is_favorite
            type: object
            properties:
              is_favorite:
                type: string
          required: true
          name: body
          in: body
      tags:
        - histories
    get:
      operationId: get_histories_obj_api_ab8f25e4-b3aa-4afe-8af9-68da0f543668
      responses:
        '404':
          description: object id not found
      tags:
        - histories
    parameters:
      - required: true
        type: string
        description: histories object id
        name: obj_id
        in: path
    delete:
      operationId: delete_histories_obj_api_66e8eec9-f8f5-403a-98b0-95b4e3a0c97c
      responses:
        '400':
          description: Failed to delete objet
        '404':
          description: object id not found
      tags:
        - histories
  /about:
    get:
      operationId: get_system_about_res_30074621-e40d-4474-8341-4862c010f05f
      responses:
        '200':
          description: Success
      parameters:
        - description: Get about type
          default: overview
          enum:
            - all
            - overview
            - system
            - indexing
          name: type
          in: query
          type: string
          collectionFormat: multi
      tags:
        - /
  /plugins/:
    get:
      operationId: get_plugin_b3848b5f-2339-4e86-9fbf-04a7002056b5
      responses:
        '200':
          description: Success
      tags:
        - plugins
  '/async-search/{context_id}':
    parameters:
      - required: true
        type: string
        name: context_id
        in: path
    get:
      operationId: get_async_search_result_api_d6820e8c-784c-4f6c-8209-1847f0e449a7
      summary: >-
        Get asynchronous search result {context_id} from {start|args(from)} with
        {offset|args(size)}
      responses:
        '200':
          description: Success
      parameters:
        - default: 0
          in: query
          type: string
          description: >-
            invalid from, the allowable value for the argument MUST greater than
            or equal to zero
          name: from
        - default: 24
          in: query
          type: string
          description: >-
            invalid size, the allowable value for the argument MUST greater than
            or equal to zero
          name: size
      tags:
        - async-search
  '/preview/media/{obj_id}':
    parameters:
      - required: true
        type: string
        description: Media object id
        in: path
        name: obj_id
    get:
      operationId: get_media_viewer_preview_api_7e417c2c-f6f2-428f-98cc-5c9da64206f3
      summary: View API
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: path parameter not found
          name: path
          in: query
        - required: true
          type: string
          description: name parameter not found
          name: name
          in: query
        - default: default
          type: string
          description: projection_type parameter not found
          name: projection_type
          in: query
      tags:
        - preview
  /plugins/action:
    post:
      operationId: post_action_a8e7ba6e-7174-4063-b5ea-6e908e82508a
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          name: action
          in: query
        - type: string
          name: args
          in: query
      tags:
        - plugins
  '/download/{obj_id}':
    parameters:
      - required: true
        type: string
        description: download resource id
        name: obj_id
        in: path
    get:
      operationId: get_download_get_uri_api_916b9d30-55e9-4c78-b319-92e96c78aee3
      responses:
        '400':
          description: download item not found
      tags:
        - download
  /setting/qts/lang:
    post:
      operationId: post_setting_qts_language_res_efb27b8e-c8ac-41a5-96a6-acc3c139ec10
      summary: POST to change QTS desktop language
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - lang
            type: object
            properties:
              lang:
                enum:
                  - auto
                  - SWE
                  - KOR
                  - GER
                  - SCH
                  - FIN
                  - HUN
                  - POR
                  - POL
                  - TCH
                  - SPA
                  - FRE
                  - ENG
                  - DUT
                  - GRK
                  - THA
                  - ROM
                  - JPN
                  - TUR
                  - ITA
                  - RUS
                  - DAN
                  - NOR
                  - CZE
                description: >-
                  Available lang are ['auto', 'SWE', 'KOR', 'GER', 'SCH', 'FIN',
                  'HUN', 'POR', 'POL', 'TCH', 'SPA', 'FRE', 'ENG', 'DUT', 'GRK',
                  'THA', 'ROM', 'JPN', 'TUR', 'ITA', 'RUS', 'DAN', 'NOR', 'CZE']
                type: string
          required: true
          name: body
          in: body
      tags:
        - setting
  /profile/:
    parameters:
      - type: string
        description: 'sub-items of resp, allowable resp might ''user'' or ''preferences'''
        name: resp
        in: query
    get:
      tags:
        - profile
      summary: Get user profile
      responses:
        '200':
          description: Sucess
          schema:
            $ref: '#/definitions/USerProfileResp'
      operationId: get_profile_api_8e5f612d-c6d5-4288-b590-5a2e0b514f9c
  /qcloud/tunnel-agent/status:
    get:
      tags:
        - /
      summary: Get tunnel agent status
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/QcloudTunnelStatusResp'
      operationId: get_qcloud_res_83c7d579-40cd-4408-8f3e-25dea4345ab8
  /launch-check:
    get:
      operationId: get_system_launch_check_res_38397a12-3ca9-4750-9e39-df0f0a38da0a
      responses:
        '200':
          description: Success
      tags:
        - /
  '/search/tools/{category}':
    parameters:
      - required: true
        type: string
        name: category
        in: path
    get:
      responses:
        '200':
          description: Success
      description: |-
        Func Args:
            category: {string}, category name, all and common are also available.
      parameters:
        - required: true
          type: string
          description: 'Supported category name such like images, viddeos, etc...'
          in: path
          name: category
        - default: true
          in: query
          type: string
          description: 'Extact match syntax as True, otherwise as False'
          name: filter_syntax
        - default: en
          in: query
          type: string
          description: 'Specify the lang code, default is "en"'
          name: lang
      tags:
        - search
      summary: Get all exist search tools or specified group by category
      operationId: get_search_tools_api_d0267369-4575-4595-b2e0-344ee2feb95c
  /logout:
    get:
      tags:
        - /
      summary: logout api
      responses:
        '400':
          description: Failed to logout
      operationId: get_logout_res_d16e3032-cb1d-4872-9973-570d944c020d
  '/search/group/{obj_id}':
    parameters:
      - required: true
        type: string
        name: obj_id
        in: path
    get:
      responses:
        '200':
          description: Success
      description: |-
        Func Args:
            obj_id: {string}, group id
        URL Args: (only used on obj_id specified)
            top_hits: {integer}, Response to hit items for each groups
            group_sort: {string}, alphabetical, popular, or default
            group_sort_dir: {string}, desc or asc
            item_sort: {string}, size, modified, name, or relevance
            item_sort_dir: {string}, desc or asc
      parameters:
        - required: true
          type: string
          description: Group object id
          in: path
          name: obj_id
        - default: ''
          in: query
          type: string
          description: query string not found
          name: q
        - default: 5
          in: query
          type: string
          description: 'invalid top_hits, the allowable values for the argument are 0 TO 25'
          name: top_hits
        - description: >-
            invalid group_sort, the allowable values for the argument are name,
            count, or sum
          default: ''
          enum:
            - name
            - count
            - sum
            - ''
          name: group_sort
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalud group_sort_dir, the allowable values for the argument are
            desc or asc
          default: desc
          enum:
            - desc
            - asc
          name: group_sort_dir
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalid item_sort, the allowable values for the argument are size,
            modified, name, or relevance
          default: relevance
          enum:
            - relevance
            - size
            - modified
            - name
          name: item_sort
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalid item_sort_dir, the allowable values for the argument are
            desc or asc
          default: desc
          enum:
            - desc
            - asc
          name: item_sort_dir
          in: query
          type: string
          collectionFormat: multi
        - default: 1
          in: query
          type: integer
          description: query string not found
          name: from_search_groups
      tags:
        - search
      summary: Get all exist search groups or specified group by obj_id
      operationId: get_search_group_api_ed2063dc-e777-4e9d-b81b-beec32d7615d
  /geolocation/geo-cluster:
    post:
      operationId: post_geo_cluster_690b09bf-535b-41c4-9278-db907076546b
      summary: Groups images by their geo-points
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: Top-left coordinate
          in: query
          name: top_left
        - required: true
          type: string
          description: Bottom-right coordinate
          in: query
          name: bottom_right
        - required: true
          type: integer
          description: Specifies the size of a cell
          in: query
          name: factor
        - required: true
          type: integer
          description: The max number of aggregated images from each shard
          in: query
          name: size
      tags:
        - geolocation
  /login/get_quesion:
    post:
      operationId: post_login_res_9d299a39-64d5-418f-9fd2-c4be19803512
      summary: login api
      responses:
        '200':
          description: Sucess
          schema:
            $ref: '#/definitions/LoginResp'
        '400':
          description: Failed to login
      parameters:
        - schema:
            required:
              - account
              - password
            type: object
            properties:
              remember_me:
                default: 0
                type: integer
                description: remember_me not found
              account:
                type: string
                description: account not found
              password:
                type: string
                description: password not found
              security_code:
                type: string
                description: security_code not found
              force_to_check_2sv:
                default: 0
                type: integer
                description: force_to_check_2sv not found
              app_id:
                type: string
                description: app_id not found
              security_answer:
                type: string
                description: security_answer not found
              app_version:
                default: ''
                type: string
                description: app_version not found
          required: true
          name: body
          in: body
      tags:
        - login
  /search/group:
    get:
      responses:
        '200':
          description: Success
      description: |-
        Func Args:
            obj_id: {string}, group id
        URL Args: (only used on obj_id specified)
            top_hits: {integer}, Response to hit items for each groups
            group_sort: {string}, alphabetical, popular, or default
            group_sort_dir: {string}, desc or asc
            item_sort: {string}, size, modified, name, or relevance
            item_sort_dir: {string}, desc or asc
      parameters:
        - default: ''
          in: query
          type: string
          description: query string not found
          name: q
        - default: 5
          in: query
          type: string
          description: 'invalid top_hits, the allowable values for the argument are 0 TO 25'
          name: top_hits
        - description: >-
            invalid group_sort, the allowable values for the argument are name,
            count, or sum
          default: ''
          enum:
            - name
            - count
            - sum
            - ''
          name: group_sort
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalud group_sort_dir, the allowable values for the argument are
            desc or asc
          default: desc
          enum:
            - desc
            - asc
          name: group_sort_dir
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalid item_sort, the allowable values for the argument are size,
            modified, name, or relevance
          default: relevance
          enum:
            - relevance
            - size
            - modified
            - name
          name: item_sort
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalid item_sort_dir, the allowable values for the argument are
            desc or asc
          default: desc
          enum:
            - desc
            - asc
          name: item_sort_dir
          in: query
          type: string
          collectionFormat: multi
        - default: 1
          in: query
          type: integer
          description: query string not found
          name: from_search_groups
        - type: string
          description: Group object id
          name: obj_id
          in: query
      tags:
        - search
      summary: Get all exist search groups or specified group by obj_id
      operationId: get_search_group_api_9c962c09-6714-454d-88ca-2745fd97884e
  /upload/:
    post:
      responses:
        '200':
          description: Success
      parameters:
        - default: Images
          in: formData
          type: string
          description: >-
            Please specify file category to be upload, default is 'Images',
            allowable categories are ['Adobe Photoshop Document', 'Word',
            'Videos', 'Microsoft Office Documents', 'MP3 audio', 'Excel',
            'Audios', 'C++ source code', 'QuickTime movie', 'Music', 'MPEG
            movie', 'PDF', 'Images', 'MPEG-4 movie', 'Presentation',
            'PowerPoint', 'Email']
          name: category
        - description: >-
            Please specify post action, default is 'detect', allowable
            categories are ['face_detect']
          default: 'face_detect'
          enum:
            - face_detect
          name: post_action
          in: formData
          type: string
          collectionFormat: multi
        - required: true
          type: file
          description: >-
            Please attach file to be upload, e.g, allowable exteions of 'Images'
            are ['dng', 'tiff', 'k25', 'cr2', 'crw', 'erf', 'png', 'mrw', 'sr2',
            'srf', 'rw2', 'jpe', 'jpg', 'nef', 'mef', 'orf', 'bmp', 'mos',
            'x3f', 'pef', 'iiq', 'insp', 'dcr', 'jpeg', 'raf', 'raw', 'gif',
            'tif', 'ptx', 'arw', 'tga', '3fr', 'kdc']
          in: formData
          name: file
      tags:
        - upload
      summary: POST to upload file
      consumes:
        - multipart/form-data
      operationId: post_upload_api_def18245-e7e9-4173-86e2-f2c154285bdf
  /setting/pause:
    post:
      operationId: post_pause_api_a6d195dc-fb44-4692-ba4f-9c5a251d97ef
      summary: PAUSE w/ specify time period
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - enable
            type: object
            properties:
              enable:
                type: string
                description: 'MUST privode ''enable'' as True or False '
              period:
                default: 0
                type: integer
                description: pause perid time (second)
          required: true
          name: body
          in: body
      tags:
        - setting
  '/search-group/{obj_id}':
    parameters:
      - required: true
        type: string
        name: obj_id
        in: path
    get:
      responses:
        '200':
          description: Success
      description: |-
        Func Args:
            obj_id: {string}, group id
        URL Args: (only used on obj_id specified)
            top_hits: {integer}, Response to hit items for each groups
            group_sort: {string}, alphabetical, popular, or default
            group_sort_dir: {string}, desc or asc
            item_sort: {string}, size, modified, name, or relevance
            item_sort_dir: {string}, desc or asc
      parameters:
        - required: true
          type: string
          description: Group object id
          in: path
          name: obj_id
        - default: 10
          in: query
          type: string
          description: 'invalid limit, the allowable value for the argument are 1 TO 1000.'
          name: limit
        - default: 0
          in: query
          type: string
          description: >-
            invalid offset, the allowable value for the argument MUST greater
            than or equal to zero
          name: offset
        - default: ''
          in: query
          type: string
          description: field field is invalid
          name: field
        - default: ''
          in: query
          type: string
          description: highlight field is invalid
          name: highlight
        - default: <qusion>
          in: query
          type: string
          description: pre_highlight_tag is invalid
          name: pre_highlight_tag
        - default: </qusion>
          in: query
          type: string
          description: post_highlight_tag is invalid
          name: post_highlight_tag
        - default: 500
          in: query
          type: string
          description: highlight length limit
          name: highlight_limit
        - default: ''
          in: query
          type: string
          description: ts field is invalid
          name: ts
        - default: ''
          in: query
          type: string
          description: Determines whether the search api endpoint returns
          name: response_type
        - default: ''
          in: query
          type: string
          description: Indicates the sorting order for the returned data.
          name: sort_by
        - description: Indicates the sorting direction for the returned data.
          default: asc
          enum:
            - desc
            - asc
          name: sort_dir
          in: query
          type: string
          collectionFormat: multi
        - description: '1:physical path, 0:share path of path filed of the returned data.'
          default: 0
          enum:
            - 0
            - 1
          name: show_absolute_path
          in: query
          type: integer
          collectionFormat: multi
        - description: >-
            0:search results do not contain folders, 1:contain folders only, 2:
            both
          default: 0
          enum:
            - 0
            - 1
            - 2
          name: show_folder
          in: query
          type: integer
          collectionFormat: multi
        - description: '0:do not show hidden data, file station hidden_file parameter'
          default: 0
          enum:
            - 0
            - 1
          name: show_hidden
          in: query
          type: integer
          collectionFormat: multi
        - description: store_history parameter error (value must be 1 or 0)
          default: 1
          enum:
            - 0
            - 1
          name: store_history
          in: query
          type: integer
          collectionFormat: multi
        - description: whether to check file status or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: file_status
        - description: 'search tools for GET (value must be 1, 2 or 0)'
          default: 0
          enum:
            - 0
            - 1
            - 2
          name: tools
          in: query
          type: integer
          collectionFormat: multi
        - description: >-
            tools_resp ues to response tools result according prefers (value
            must be 0 ~ 3)
          default: 1
          enum:
            - 0
            - 1
            - 2
            - 3
          name: tools_resp
          in: query
          type: integer
          collectionFormat: multi
        - default: ''
          in: query
          type: string
          description: indicate to show tools_hits in result
          name: tools_hits
        - description: search files in recycle bins or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: show_recycled
        - description: whether to enable advanced search syntax or not
          default: 0
          enum:
            - 0
            - 1
          name: advanced_mode
          in: query
          type: integer
          collectionFormat: multi
        - default: 50000
          in: query
          type: string
          description: max items per search tools
          name: tools_limit_items
        - default: 5
          in: query
          type: string
          description: 'invalid top_hits, the allowable values for the argument are 0 TO 25'
          name: top_hits
        - description: >-
            invalid group_sort, the allowable values for the argument are name,
            count, or sum
          default: ''
          enum:
            - name
            - count
            - sum
            - ''
          name: group_sort
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalud group_sort_dir, the allowable values for the argument are
            desc or asc
          default: desc
          enum:
            - desc
            - asc
          name: group_sort_dir
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalid item_sort, the allowable values for the argument are size,
            modified, name, or relevance
          default: relevance
          enum:
            - relevance
            - size
            - modified
            - name
          name: item_sort
          in: query
          type: string
          collectionFormat: multi
        - description: >-
            invalid item_sort_dir, the allowable values for the argument are
            desc or asc
          default: desc
          enum:
            - desc
            - asc
          name: item_sort_dir
          in: query
          type: string
          collectionFormat: multi
        - default: ''
          in: query
          type: string
          description: query string not found
          name: q
      tags:
        - /
      summary: Get all exist search groups or specified group by obj_id
      operationId: get_search_group_legacy_api_afc9cc10-fa40-4d0a-a227-040c82fbd302
  /search-dirs:
    get:
      operationId: get_search_folders_res_98fb7794-a7ab-4927-a3a4-c9024fdbd81a
      summary: Search folder api which matched by 'q' argument
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: query string not found
          in: query
          name: q
        - default: 10
          in: query
          type: string
          description: 'invalid limit, the allowable values for the argument are 1 TO 100'
          name: limit
        - description: '0:do not show hidden data, file station hidden_file parameter'
          default: 0
          enum:
            - 0
            - 1
          name: show_hidden
          in: query
          type: integer
          collectionFormat: multi
        - description: search files in recycle bins or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: show_recycled
        - default: true
          in: query
          type: string
          description: >-
            show folder type, true/false, default is true. type is 0:local,
            1:remote
          name: show_folder_type
      tags:
        - /
  /async-search/:
    post:
      operationId: post_async_search_api_07d2f534-8cb4-4fb4-a84e-4ed6dcc49f74
      summary: Perform POST Asynchronous search
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - tools
            type: object
            properties:
              tools_resp:
                description: prefer tools
                default: 1
                enum:
                  - 0
                  - 1
                  - 2
                  - 3
                type: integer
              tools_hits:
                default: ''
                type: string
                description: indicate tools hits in results
              tools:
                description: search tools query
                default: ''
                type: string
              tools_limit_items:
                default: 50000
                type: string
                description: max items per search tools
              preferences:
                default: {}
                type: string
                description: customize the preferences per search request
          required: true
          name: body
          in: body
      tags:
        - async-search
    get:
      operationId: get_async_search_api_83716c7d-4ffb-4685-89f9-2ff21981af18
      summary: Perform GET Asynchronous search
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: query string not found
          in: query
          name: q
        - default: 0
          in: query
          type: string
          description: >-
            invalid offset, the allowable value for the argument MUST greater
            than or equal to zero
          name: offset
        - default: ''
          in: query
          type: string
          description: field field is invalid
          name: field
        - default: ''
          in: query
          type: string
          description: highlight field is invalid
          name: highlight
        - default: <qusion>
          in: query
          type: string
          description: pre_highlight_tag is invalid
          name: pre_highlight_tag
        - default: </qusion>
          in: query
          type: string
          description: post_highlight_tag is invalid
          name: post_highlight_tag
        - default: 500
          in: query
          type: string
          description: highlight length limit
          name: highlight_limit
        - default: ''
          in: query
          type: string
          description: ts field is invalid
          name: ts
        - default: ''
          in: query
          type: string
          description: Determines whether the search api endpoint returns
          name: response_type
        - default: ''
          in: query
          type: string
          description: Indicates the sorting order for the returned data.
          name: sort_by
        - description: Indicates the sorting direction for the returned data.
          default: asc
          enum:
            - desc
            - asc
          name: sort_dir
          in: query
          type: string
          collectionFormat: multi
        - description: '1:physical path, 0:share path of path filed of the returned data.'
          default: 0
          enum:
            - 0
            - 1
          name: show_absolute_path
          in: query
          type: integer
          collectionFormat: multi
        - description: >-
            0:search results do not contain folders, 1:contain folders only, 2:
            both
          default: 0
          enum:
            - 0
            - 1
            - 2
          name: show_folder
          in: query
          type: integer
          collectionFormat: multi
        - description: '0:do not show hidden data, file station hidden_file parameter'
          default: 0
          enum:
            - 0
            - 1
          name: show_hidden
          in: query
          type: integer
          collectionFormat: multi
        - description: store_history parameter error (value must be 1 or 0)
          default: 1
          enum:
            - 0
            - 1
          name: store_history
          in: query
          type: integer
          collectionFormat: multi
        - description: whether to check file status or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: file_status
        - description: 'search tools for GET (value must be 1, 2 or 0)'
          default: 0
          enum:
            - 0
            - 1
            - 2
          name: tools
          in: query
          type: integer
          collectionFormat: multi
        - description: >-
            tools_resp ues to response tools result according prefers (value
            must be 0 ~ 3)
          default: 1
          enum:
            - 0
            - 1
            - 2
            - 3
          name: tools_resp
          in: query
          type: integer
          collectionFormat: multi
        - default: ''
          in: query
          type: string
          description: indicate to show tools_hits in result
          name: tools_hits
        - description: search files in recycle bins or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: show_recycled
        - description: whether to enable advanced search syntax or not
          default: 0
          enum:
            - 0
            - 1
          name: advanced_mode
          in: query
          type: integer
          collectionFormat: multi
        - default: 50000
          in: query
          type: string
          description: max items per search tools
          name: tools_limit_items
        - default: 10
          in: query
          type: string
          description: >-
            invalid limit, the allowable value for the argument are 1 TO
            2147483647.
          name: limit
      tags:
        - async-search
  /preview/media/action-uri:
    get:
      operationId: get_media_viewer_preview_url_api_3848fcf2-c433-4001-ad8b-bd3a3b1c3bb5
      summary: Generate action uri
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: path parameter not found
          in: query
          name: path
        - required: true
          type: string
          description: name parameter not found
          in: query
          name: name
        - default: default
          in: query
          type: string
          description: projection_type parameter not found
          name: projection_type
      tags:
        - preview
  /status/:
    get:
      operationId: get_system_get_status_api_3b597add-a23a-4c44-9b3d-587c0823f864
      responses:
        '200':
          description: Success
      parameters:
        - default: 1
          in: query
          type: integer
          description: 'get the status silently, do not trigger search flag.'
          name: silent
      tags:
        - status
  /qusion-item:
    get:
      operationId: get_item_action_res_2787b2f4-42db-454c-880c-f5a530482fa0
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          description: action parameter not found
          enum:
            - thumbnail
            - open
            - download
            - preview
            - share
            - preview-image
            - face-recognize
          name: action
          in: query
          type: string
          collectionFormat: multi
        - in: query
          type: string
          description: path parameter not found
          name: path
        - in: query
          type: string
          description: name parameter not found
          name: name
        - default: 100
          in: query
          type: integer
          description: size parameter not found
          name: size
        - default: ''
          in: query
          type: string
          description: list_id parameter not found
          name: list_id
        - description: >-
            invalid tab_path, the allowable values for the argument are
            MAIL_TAB, SOCIAL_TAB, LINK_TAB, USER_TAB
          default: MAIL_TAB
          enum:
            - MAIL_TAB
            - SOCIAL_TAB
            - LINK_TAB
            - USER_TAB
          name: share_tab_path
          in: query
          type: string
          collectionFormat: multi
        - description: to parameter not found
          default: browser
          enum:
            - qmail
            - browser
            - fileExplorer
          name: to
          in: query
          type: string
          collectionFormat: multi
        - default: false
          in: query
          type: string
          description: check parameter not found
          name: check
      tags:
        - /
  '/share/{share_id}':
    parameters:
      - required: true
        type: string
        name: share_id
        in: path
    get:
      operationId: get_share_obj_api_391e212f-5524-4319-a817-609ceda3abb0
      summary: GET Share API
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: Share item id
          in: path
          name: share_id
      tags:
        - share
  /download/:
    post:
      consumes:
        - application/x-www-form-urlencoded
        - multipart/form-data
      operationId: post_download_api_604c0acf-9f1f-4ef1-b08f-3a8e5241c8ae
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/DownloadUriResp'
        '400':
          description: Failed to gather download item
      parameters:
        - description: File to download.
          items:
            type: string
          required: true
          name: 'items[]'
          in: formData
          type: array
          collectionFormat: multi
        - default: false
          in: formData
          type: string
          description: Compress files.
          name: compress
        - default: false
          in: formData
          type: string
          description: Download single item as a zip file.
          name: pack
        - default: download_2019-11-27_05-34-41
          in: formData
          type: string
          description: The output filename.
          name: filename
        - default: false
          in: formData
          type: string
          description: >-
            Store just the name of a saved file. This parameter only works on
            packed file.
          name: junk_paths
        - default: true
          in: formData
          type: string
          description: >-
            Create a subfolder and store files to it. This parameter only works
            on packaed file.
          name: create_subfolder
        - default: false
          in: formData
          type: string
          description: get callback url
          name: get_cb_url
      tags:
        - download
  /geolocation/status:
    get:
      tags:
        - geolocation
      summary: Gets status about geolocation
      responses:
        '200':
          description: Success
      operationId: get_geo_status_470f8216-1b14-407e-af1e-50791147712c
  /profile/preferences:
    put:
      operationId: put_profile_get_preferences_ecf5248a-6f39-4eab-a075-38ad4f80c5e0
      summary: PUT to update/reset user preferences
      responses:
        '400':
          description: Failed to update profile
      parameters:
        - schema:
            required:
              - preferences
            type: object
            properties:
              preferences:
                type: string
                description: preferences not found
          required: true
          name: body
          in: body
      tags:
        - profile
    delete:
      tags:
        - profile
      summary: DELETE user preferences
      responses:
        '400':
          description: Failed to delete profile
      operationId: delete_profile_get_preferences_1e63cd93-89e2-4c96-9209-eb63bc1144d5
  '/diagnosis-collect/{obj_id}':
    parameters:
      - required: true
        type: string
        name: obj_id
        in: path
    get:
      operationId: get_diagnosis_collect_obj_api_d18850c0-7203-46fa-80eb-785752df1012
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: Object id
          in: path
          name: obj_id
      tags:
        - diagnosis-collect
  /login/send_mail:
    post:
      operationId: post_login_res_e9b7abbe-0710-4045-96f9-830f79667d22
      summary: login api
      responses:
        '200':
          description: Sucess
          schema:
            $ref: '#/definitions/LoginResp'
        '400':
          description: Failed to login
      parameters:
        - schema:
            required:
              - account
              - password
            type: object
            properties:
              remember_me:
                default: 0
                type: integer
                description: remember_me not found
              account:
                type: string
                description: account not found
              password:
                type: string
                description: password not found
              security_code:
                type: string
                description: security_code not found
              force_to_check_2sv:
                default: 0
                type: integer
                description: force_to_check_2sv not found
              app_id:
                type: string
                description: app_id not found
              security_answer:
                type: string
                description: security_answer not found
              app_version:
                default: ''
                type: string
                description: app_version not found
          required: true
          name: body
          in: body
      tags:
        - login
  /setting/exclude-dirs:
    put:
      operationId: put_exclude_dir_api_cc7f7dda-88a2-4525-8fc1-1fbd0fe8237a
      summary: overwrite exclude directory
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - paths
            type: object
            properties:
              paths:
                description: Invalid paths
                default: []
                type: string
          required: true
          name: body
          in: body
      tags:
        - setting
    post:
      operationId: post_exclude_dir_api_cbc320c7-3143-4833-8993-7ad15e07c52b
      summary: create/add a new exclude directory
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - path
            type: object
            properties:
              path:
                type: string
                description: Invalid path
          required: true
          name: body
          in: body
      tags:
        - setting
    get:
      tags:
        - setting
      summary: get exclude directory that user setting
      responses:
        '200':
          description: Success
      operationId: get_exclude_dir_api_b4f0391b-9dd9-42d5-8f96-75e8e71f3348
    delete:
      operationId: delete_exclude_dir_api_3ade948e-5617-4782-813e-916b523c600f
      summary: overwrite exclude directory
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            type: object
            properties:
              path:
                default: ''
                type: string
                description: Invalid path
          required: true
          name: body
          in: body
      tags:
        - setting
  /setting/system:
    post:
      operationId: post_system_b5d46997-f323-4d05-a9a0-31255925ca12
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            type: object
            properties:
              media_viewer:
                enum:
                  - 0
                  - 1
                type: integer
              exclude_paths:
                default: []
                type: string
                description: Invalid paths
              qumagie_core_extract_enable:
                enum:
                  - 0
                  - 1
                type: integer
              online_viewer_enable:
                enum:
                  - 0
                  - 1
                type: integer
              usage_report_ask:
                description: usage_report_ask parameter not found
                default: 0
                enum:
                  - 0
                  - 1
                type: integer
              office_online_viewer:
                enum:
                  - 0
                  - 1
                type: integer
              file_status:
                enum:
                  - 0
                  - 1
                type: integer
              image_color_extract_enable:
                enum:
                  - 0
                  - 1
                type: integer
              usage_report:
                description: usage_report parameter not found
                enum:
                  - 0
                  - 1
                type: integer
              google_online_viewer:
                enum:
                  - 0
                  - 1
                type: integer
          required: true
          name: body
          in: body
      tags:
        - setting
    get:
      operationId: get_system_c8590f99-84e9-47d2-a193-cb3d54a87f78
      responses:
        '200':
          description: Success
      tags:
        - setting
  /diagnosis-collect/:
    get:
      operationId: get_diagnosis_collect_api_6b12868a-eb0b-49e9-a284-a44e2802e107
      responses:
        '200':
          description: Sucess
          schema:
            $ref: '#/definitions/DiagnosisUrlResp'
      tags:
        - diagnosis-collect
  /preview/media:
    parameters:
      - type: string
        description: Media object id
        name: obj_id
        in: query
    get:
      operationId: get_media_viewer_preview_api_ba8552fe-7f71-4904-8b7b-fbf63c2c2d30
      summary: View API
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: path parameter not found
          in: query
          name: path
        - required: true
          type: string
          description: name parameter not found
          in: query
          name: name
        - default: default
          in: query
          type: string
          description: projection_type parameter not found
          name: projection_type
      tags:
        - preview
  /setting/mc:
    get:
      operationId: get_setting_mc_status_res_5bcfb279-9d24-493e-abe8-452cf0ec889b
      summary: Get MultimediaConsole status
      responses:
        '200':
          description: Success
      parameters:
        - default: false
          in: query
          type: string
          description: 'show all mc white list folders via cli, default is False'
          name: cli
      tags:
        - setting
  /search/:
    post:
      operationId: post_search_api_3b9e456f-53b7-4d46-9354-6d3cee8c0ffd
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - tools
            type: object
            properties:
              tools_resp:
                description: prefer tools
                default: 1
                enum:
                  - 0
                  - 1
                  - 2
                  - 3
                type: integer
              tools_hits:
                default: ''
                type: string
                description: indicate tools hits in results
              tools:
                description: search tools query
                default: ''
                type: string
              tools_limit_items:
                default: 50000
                type: string
                description: max items per search tools
              preferences:
                default: {}
                type: string
                description: customize the preferences per search request
          required: true
          name: body
          in: body
      tags:
        - search
    get:
      operationId: get_search_api_30c9b22c-9a90-45bb-ae5e-eb02b9a6da3a
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: query string not found
          in: query
          name: q
        - default: 10
          in: query
          type: string
          description: 'invalid limit, the allowable value for the argument are 1 TO 1000.'
          name: limit
        - default: 0
          in: query
          type: string
          description: >-
            invalid offset, the allowable value for the argument MUST greater
            than or equal to zero
          name: offset
        - default: ''
          in: query
          type: string
          description: field field is invalid
          name: field
        - default: ''
          in: query
          type: string
          description: highlight field is invalid
          name: highlight
        - default: <qusion>
          in: query
          type: string
          description: pre_highlight_tag is invalid
          name: pre_highlight_tag
        - default: </qusion>
          in: query
          type: string
          description: post_highlight_tag is invalid
          name: post_highlight_tag
        - default: 500
          in: query
          type: string
          description: highlight length limit
          name: highlight_limit
        - default: ''
          in: query
          type: string
          description: ts field is invalid
          name: ts
        - default: ''
          in: query
          type: string
          description: Determines whether the search api endpoint returns
          name: response_type
        - default: ''
          in: query
          type: string
          description: Indicates the sorting order for the returned data.
          name: sort_by
        - description: Indicates the sorting direction for the returned data.
          default: asc
          enum:
            - desc
            - asc
          name: sort_dir
          in: query
          type: string
          collectionFormat: multi
        - description: '1:physical path, 0:share path of path filed of the returned data.'
          default: 0
          enum:
            - 0
            - 1
          name: show_absolute_path
          in: query
          type: integer
          collectionFormat: multi
        - description: >-
            0:search results do not contain folders, 1:contain folders only, 2:
            both
          default: 0
          enum:
            - 0
            - 1
            - 2
          name: show_folder
          in: query
          type: integer
          collectionFormat: multi
        - description: '0:do not show hidden data, file station hidden_file parameter'
          default: 0
          enum:
            - 0
            - 1
          name: show_hidden
          in: query
          type: integer
          collectionFormat: multi
        - description: store_history parameter error (value must be 1 or 0)
          default: 1
          enum:
            - 0
            - 1
          name: store_history
          in: query
          type: integer
          collectionFormat: multi
        - description: whether to check file status or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: file_status
        - description: 'search tools for GET (value must be 1, 2 or 0)'
          default: 0
          enum:
            - 0
            - 1
            - 2
          name: tools
          in: query
          type: integer
          collectionFormat: multi
        - description: >-
            tools_resp ues to response tools result according prefers (value
            must be 0 ~ 3)
          default: 1
          enum:
            - 0
            - 1
            - 2
            - 3
          name: tools_resp
          in: query
          type: integer
          collectionFormat: multi
        - default: ''
          in: query
          type: string
          description: indicate to show tools_hits in result
          name: tools_hits
        - description: search files in recycle bins or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: show_recycled
        - description: whether to enable advanced search syntax or not
          default: 0
          enum:
            - 0
            - 1
          name: advanced_mode
          in: query
          type: integer
          collectionFormat: multi
        - default: 50000
          in: query
          type: string
          description: max items per search tools
          name: tools_limit_items
      tags:
        - search
  /setting/mc/white-list:
    put:
      operationId: put_setting_mc_white_list_res_34127bc6-8076-4aec-b8ff-fc871bd8d5e7
      summary: Put to update white list of MultimediaConsole
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - path
            type: object
            properties:
              path:
                description: 'white list of ''path'', might an list of path, default as []'
                default: []
                type: string
              cli:
                default: false
                type: string
                description: 'show all mc white list folders via cli, default is False'
          required: true
          name: body
          in: body
      tags:
        - setting
    post:
      operationId: post_setting_mc_white_list_res_14560f0f-f1e4-4606-9a41-0d8614d544bc
      summary: Post to create a white list of MultimediaConsole
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - path
            type: object
            properties:
              path:
                description: 'white list of ''path'', might an list of path, default as []'
                default: []
                type: string
              cli:
                default: false
                type: string
                description: 'show all mc white list folders via cli, default is False'
          required: true
          name: body
          in: body
      tags:
        - setting
    get:
      responses:
        '200':
          description: Success
      description: 'FIXME: invalid path ?'
      parameters:
        - default: false
          in: query
          type: string
          description: 'show all mc white list folders, default is False'
          name: show_all
        - default: false
          in: query
          type: string
          description: 'show all mc white list folders via cli, default is False'
          name: cli
      tags:
        - setting
      summary: Get white list of MultimediaConsole
      operationId: get_setting_mc_white_list_res_fb1b4b3a-759e-499b-89ab-24e68893d958
    delete:
      operationId: delete_setting_mc_white_list_res_8424abdd-d7d0-4723-a32a-9d34c583257a
      summary: Delete a white list of MultimediaConsole
      responses:
        '200':
          description: Success
      parameters:
        - default: false
          in: query
          type: string
          description: 'delete all mc white list folders via cli, default is False'
          name: cli
      tags:
        - setting
  /list-all-dirs:
    get:
      operationId: get_list_all_folders_res_17fa8244-7170-4884-bcfa-9e664e2d6388
      responses:
        '200':
          description: Success
      parameters:
        - default: ''
          in: query
          type: string
          description: path not found
          name: path
        - default: true
          in: query
          type: string
          description: 'show folder type, true/false, default is true. 0:local, 1:remote'
          name: show_folder_type
        - default: false
          in: query
          type: string
          description: 'use scandir to traverse local folders, default is false'
          name: scandir
        - default: false
          in: query
          type: string
          description: 'list home dir, default is false'
          name: list_homedir
      tags:
        - /
  /media-viewer/:
    post:
      operationId: post_media_viewer_api_6f4535f4-340b-4824-b911-33e1e15d64ca
      summary: POST Share API
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - items
            type: object
            properties:
              items:
                description: files list not found
                default: '[]'
                type: string
          required: true
          name: body
          in: body
      tags:
        - media-viewer
    get:
      tags:
        - media-viewer
      summary: GET Share API
      responses:
        '200':
          description: Success
      operationId: get_media_viewer_api_9bce629d-b0ea-4cdc-a212-dbd12054bcd3
  /suggest/:
    get:
      responses:
        '200':
          description: Success
      description: |-
        #. verify token
        #. query to qusion gateway
        #. general the suggestions

        Args:
            q: {string}, query string
      parameters:
        - required: true
          type: string
          description: query string not found
          in: query
          name: q
        - default: ''
          in: query
          type: string
          description: tagged query string not found
          name: tag_q
        - default: 10
          in: query
          type: string
          description: 'invalid limit, the allowable values for the argument are 1 TO 100'
          name: limit
        - description: '0:do not show hidden data, file station hidden_file parameter'
          default: 0
          enum:
            - 0
            - 1
          name: show_hidden
          in: query
          type: integer
          collectionFormat: multi
        - description: search files in recycle bins or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: show_recycled
        - description: >-
            0:show file names only, 1:show folder names only, 2:show both file
            and folder names
          default: 0
          enum:
            - 0
            - 1
            - 2
          name: show_folder
          in: query
          type: integer
          collectionFormat: multi
      tags:
        - suggest
      summary: get field suggestions to help user to narrow down result
      operationId: get_suggest_api_7b67e11c-5cf5-4e4f-a44c-c5b5a4e8857c
  /statistics:
    get:
      operationId: get_system_get_statistics_res_a2964e0a-4a4c-431b-97dc-bb2556a8d388
      responses:
        '200':
          description: Success
      tags:
        - /
  '/async-search/{context_id}/{start}/{offset}':
    parameters:
      - required: true
        type: string
        name: context_id
        in: path
      - required: true
        type: integer
        name: start
        in: path
      - required: true
        type: integer
        name: offset
        in: path
    get:
      operationId: get_async_search_result_api_0ed0ef57-409c-4b16-9c07-473fde5548e1
      summary: >-
        Get asynchronous search result {context_id} from {start|args(from)} with
        {offset|args(size)}
      responses:
        '200':
          description: Success
      parameters:
        - default: 0
          in: query
          type: string
          description: >-
            invalid from, the allowable value for the argument MUST greater than
            or equal to zero
          name: from
        - default: 24
          in: query
          type: string
          description: >-
            invalid size, the allowable value for the argument MUST greater than
            or equal to zero
          name: size
      tags:
        - async-search
  '/upload/item/view/{item_id}':
    parameters:
      - required: true
        type: string
        description: >-
          Item id, allow to pass the syntax id of 'inimage', e.g,
          face-DCYdKk-123
        name: item_id
        in: path
    get:
      operationId: get_upload_item_view_api_08a464a7-7476-4cec-9e6a-33e25f6fff44
      summary: View item by 'item_id'
      responses:
        '200':
          description: Success
      parameters:
        - description: 'prefer to view item cache result from, default is view from ''memory'''
          default: memory
          enum:
            - disk
            - memory
          name: from
          in: query
          type: string
          collectionFormat: multi
        - default: false
          in: query
          type: string
          description: 'Another thumbnail view endpoint, default is ''False'''
          name: thumbnail_only
      tags:
        - upload
  '/async-search/{context_id}/{start}':
    parameters:
      - required: true
        type: string
        name: context_id
        in: path
      - required: true
        type: integer
        name: start
        in: path
    get:
      operationId: get_async_search_result_api_b0f396ab-c4f6-44c3-9453-d8bd0faf5c95
      summary: >-
        Get asynchronous search result {context_id} from {start|args(from)} with
        {offset|args(size)}
      responses:
        '200':
          description: Success
      parameters:
        - default: 0
          in: query
          type: string
          description: >-
            invalid from, the allowable value for the argument MUST greater than
            or equal to zero
          name: from
        - default: 24
          in: query
          type: string
          description: >-
            invalid size, the allowable value for the argument MUST greater than
            or equal to zero
          name: size
      tags:
        - async-search
  '/setting/system/refs/{feature}':
    parameters:
      - required: true
        type: string
        description: feature argument
        in: path
        name: feature
    get:
      operationId: get_setting_refs_qpkg_status_8493c8c5-0e4c-4b34-b23a-c6469183a367
      responses:
        '200':
          description: Success
      tags:
        - setting
  /tiles/style:
    get:
      tags:
        - tiles
      summary: Gets a Mapbox style containing URLs for tiles
      responses:
        '200':
          description: Success
      operationId: get_style_9e20ff4d-ec9d-4200-8362-1309a9a2ba8d
  /share/:
    post:
      operationId: post_share_api_847ae45b-51be-4607-8006-e13296f89844
      summary: POST Share API
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - items
              - tab_path
            type: object
            properties:
              items:
                description: files list not found
                default: '[]'
                type: string
              tab_path:
                enum:
                  - MAIL_TAB
                  - SOCIAL_TAB
                  - LINK_TAB
                  - USER_TAB
                description: >-
                  invalid tab_path, the allowable values for the argument are
                  MAIL_TAB, SOCIAL_TAB, LINK_TAB, USER_TAB
                default: MAIL_TAB
                type: string
          required: true
          name: body
          in: body
      tags:
        - share
  /list-dirs:
    get:
      operationId: get_list_folders_res_f394811c-925c-442e-958b-471e15cdc951
      responses:
        '200':
          description: Success
      parameters:
        - default: ''
          in: query
          type: string
          description: path not found
          name: path
        - default: true
          in: query
          type: string
          description: 'show exclude path or not, true/false, default is true.'
          name: show_exclude
        - default: false
          in: query
          type: string
          description: 'show hidden path or not, true/false, default is false.'
          name: show_hidden
        - default: true
          in: query
          type: string
          description: 'show folder type, true/false, default is true. 0:local, 1:remote'
          name: show_folder_type
      tags:
        - /
  /face-recognize/item:
    get:
      operationId: get_upload_item_api_ddb284bc-4b46-45a5-82eb-cdf6d579c676
      summary: Get upload item actions
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          description: action parameter not found
          enum:
            - thumbnail
            - open
            - download
            - preview
            - share
            - preview-image
            - face-recognize
          name: action
          in: query
          type: string
          collectionFormat: multi
        - in: query
          type: string
          description: path parameter not found
          name: path
        - in: query
          type: string
          description: name parameter not found
          name: name
      tags:
        - face-recognize
  /upload/item:
    get:
      operationId: get_upload_item_api_81f5852b-67d2-4efd-a66a-eb5c4ec1ac43
      summary: Get upload item actions
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          description: action parameter not found
          enum:
            - thumbnail
            - open
            - download
            - preview
            - share
            - preview-image
            - face-recognize
          name: action
          in: query
          type: string
          collectionFormat: multi
        - in: query
          type: string
          description: path parameter not found
          name: path
        - in: query
          type: string
          description: name parameter not found
          name: name
      tags:
        - upload
  '/media-viewer/{obj_id}':
    post:
      operationId: post_media_viewer_api_d6bb3618-13cb-4573-a7e4-012cd110e0bf
      summary: POST Share API
      responses:
        '200':
          description: Success
      parameters:
        - schema:
            required:
              - items
            type: object
            properties:
              items:
                description: files list not found
                default: '[]'
                type: string
          required: true
          name: body
          in: body
      tags:
        - media-viewer
    parameters:
      - required: true
        type: string
        name: obj_id
        in: path
    get:
      tags:
        - media-viewer
      summary: GET Share API
      responses:
        '200':
          description: Success
      operationId: get_media_viewer_api_c649a690-a59a-4fbe-bf8e-735e6c13c50b
  /auth-key-check:
    get:
      operationId: get_auth_key_check_res_8e157f79-a571-4140-85fe-47297c9acabc
      responses:
        '200':
          description: Success
      tags:
        - /
  /preview/image:
    get:
      operationId: get_preview_image_api_543db318-b9df-48f3-aae5-ee172710aad7
      summary: get image preview
      responses:
        '200':
          description: Success
      parameters:
        - required: true
          type: string
          description: path parameter not found
          in: query
          name: path
        - required: true
          type: string
          description: name parameter not found
          in: query
          name: name
        - default: 100
          in: query
          type: integer
          description: size parameter not found
          name: size
        - default: 0
          in: query
          type: integer
          description: offset parameter not found
          name: offset
      tags:
        - preview
  /more-like-this/:
    get:
      operationId: get_more_like_this_item_763d15f3-9237-442c-bc03-643032de004b
      responses:
        '200':
          description: Success
      parameters:
        - default: []
          in: query
          type: string
          description: categories must be comma-seperated string
          name: categories
        - default: ''
          in: query
          type: string
          description: plugins must be comma-seperated string
          name: plugins
        - default: ''
          in: query
          type: string
          description: extension must be a string
          name: extension
        - default: 0.5
          in: query
          type: number
          description: min_similarity must be float
          name: min_similarity
        - default: 10
          in: query
          type: integer
          description: limit must be integer
          name: limit
        - default: 0
          in: query
          type: integer
          description: '0:do not show hidden data, file station hidden_file parameter'
          name: show_hidden
        - default: 0
          in: query
          type: integer
          description: '1:physical path, 0:share path of path filed of the returned data.'
          name: show_absolute_path
        - default: 0
          in: query
          type: integer
          description: '0:search results do not contain folders, 1:contain folders'
          name: show_folder
        - in: query
          type: integer
          description: whether to check file status or not
          name: file_status
        - description: search files in recycle bins or not
          enum:
            - 0
            - 1
          collectionFormat: multi
          in: query
          type: integer
          name: show_recycled
        - required: true
          type: string
          description: file path
          in: query
          name: path
        - required: true
          type: string
          description: file name (Include the extension)
          in: query
          name: name
      tags:
        - more-like-this
  /face-recognize/detect:
    get:
      operationId: get_face_detect_api_e1355615-cb02-42ca-8886-f922f60a474e
      summary: Get face detect result
      responses:
        '200':
          description: Success
      parameters:
        - in: query
          type: string
          description: path parameter not found
          name: path
        - in: query
          type: string
          description: name parameter not found
          name: name
      tags:
        - face-recognize
  '/face-recognize/item/view/{item_id}':
    parameters:
      - required: true
        type: string
        description: >-
          Item id, allow to pass the syntax id of 'inimage', e.g,
          face-DCYdKk-123
        in: path
        name: item_id
    get:
      operationId: get_upload_item_view_api_839f3ccc-b0d6-4ba8-9194-5bfdd0f7478d
      summary: View item by 'item_id'
      responses:
        '200':
          description: Success
      parameters:
        - description: 'prefer to view item cache result from, default is view from ''memory'''
          default: memory
          enum:
            - disk
            - memory
          collectionFormat: multi
          in: query
          type: string
          name: from
        - default: false
          type: string
          description: 'Another thumbnail view endpoint, default is ''False'''
          name: thumbnail_only
          in: query
      tags:
        - face-recognize
  /search/tools:
    get:
      responses:
        '200':
          description: Success
      description: |-
        Func Args:
            category: {string}, category name, all and common are also available.
      parameters:
        - default: true
          in: query
          type: string
          description: 'Extact match syntax as True, otherwise as False'
          name: filter_syntax
        - default: en
          in: query
          type: string
          description: 'Specify the lang code, default is "en"'
          name: lang
        - type: string
          description: 'Supported category name such like images, viddeos, etc...'
          name: category
          in: query
      tags:
        - search
      summary: Get all exist search tools or specified group by category
      operationId: get_search_tools_api_66cc44fc-4a61-4750-9235-512c5f5f874a
  /histories/:
    get:
      operationId: get_histories_api_27518885-27b8-4ca0-98a6-1a5145c4e0ee
      responses:
        '400':
          description: Failed to get histories
      parameters:
        - in: query
          type: string
          description: query string for search
          name: q
        - default: '0001-01-01'
          in: query
          type: string
          description: date to start with
          name: date_start
        - default: '9999-12-31'
          in: query
          type: string
          description: date to end with
          name: date_end
        - default: 10
          in: query
          type: string
          description: 'invalid limit, the allowable value for the argument are 1 TO 100.'
          name: limit
        - default: 0
          in: query
          type: string
          description: 'invalid offset, must greater than or equal to 0.'
          name: offset
      tags:
        - histories
    delete:
      operationId: delete_histories_api_1d79714c-5fb0-493b-8881-4c0fdf200516
      responses:
        '400':
          description: Failed to delete histories
      parameters:
        - schema:
            required:
              - ids
            type: object
            properties:
              ids:
                type: string
          required: true
          name: body
          in: body
      tags:
        - histories
  /status/brief:
    get:
      operationId: get_system_get_status_brief_api_20e648c1-6d3f-4fb2-9e5e-e34738604f45
      responses:
        '200':
          description: Success
      parameters:
        - default: 1
          in: query
          type: integer
          description: 'get the status silently, do not trigger search flag.'
          name: silent
      tags:
        - status
responses:
  MaskError:
    description: When any error occurs on mask
  ParseError:
    description: When a mask can't be parsed
produces:
  - application/json
basePath: /qsirch/latest/api
tags:
  - name: /
    description: Root endpoint
  - name: search
    description: Search API
  - name: async-search
    description: Async Search API
  - name: login
    description: Login API
  - name: profile
    description: Profile API
  - name: download
    description: Download API
  - name: diagnosis-collect
    description: Diagnosis API
  - name: share
    description: Share API
  - name: histories
    description: Histories API
  - name: preview
    description: Preview API
  - name: media-viewer
    description: Media Viewer API
  - name: suggest
    description: Suggest API
  - name: setting
    description: Setting API
  - name: more-like-this
    description: More Like This API
  - name: plugins
    description: Plugins API
  - name: geolocation
    description: GeoLocation API
  - name: tiles
    description: Tiles API
  - name: status
    description: Status API
  - name: upload
    description: Upload API
  - name: face-recognize
    description: Face Recognition API
definitions:
  SortInfoResp:
    type: object
    properties:
      by:
        enum:
          - count
          - value
        type: string
        example: count
      dir:
        default: desc
        enum:
          - desc
          - asc
        type: string
        example: desc
  PreferencesResp:
    type: object
    properties:
      show_quick_start:
        default: true
        type: boolean
      search_tools:
        $ref: '#/definitions/PreferencesSearchToolsResp'
      show_recycled:
        default: true
        type: boolean
      privacy:
        $ref: '#/definitions/PreferencesPrivacysResp'
  PreferencesSearchToolsExcludeResp:
    type: object
    properties:
      name_of_category:
        items:
          type: string
        type: array
  USerProfileResp:
    allOf:
      - $ref: '#/definitions/UserInfoResp'
      - type: object
        properties:
          preferences:
            $ref: '#/definitions/PreferencesResp'
  PreferencesSearchToolsPrefersArgsResp:
    type: object
    properties:
      name_of_category:
        items:
          type: string
        type: array
  PreferencesSearchToolsResp:
    type: object
    properties:
      sort:
        $ref: '#/definitions/PreferencesSearchToolsSortResp'
      excludes:
        $ref: '#/definitions/PreferencesSearchToolsExcludeResp'
      stickies_on_check:
        default: false
        type: boolean
      category_prefer_order:
        items:
          type: string
        type: array
      prefers:
        $ref: '#/definitions/PreferencesSearchToolsPreferResp'
      prefers_args:
        $ref: '#/definitions/PreferencesSearchToolsPrefersArgsResp'
  QcloudTunnelStatusResp:
    type: object
    properties:
      status:
        type: boolean
      message:
        type: string
      code:
        type: integer
  DiagnosisUrlResp:
    type: object
    properties:
      url:
        type: string
  PreferencesSearchToolsSortResp:
    type: object
    properties:
      values:
        $ref: '#/definitions/SortInfoResp'
      key:
        $ref: '#/definitions/SortInfoResp'
  DownloadUriResp:
    type: object
    properties:
      download_url:
        type: string
  LoginResp:
    type: object
    properties:
      is_admin:
        minimum: 0
        type: integer
        maximum: 1
      qqs_sid:
        type: string
      user_name:
        type: string
  PreferencesPrivacysResp:
    type: object
    properties:
      usage_report_ask:
        default: true
        type: boolean
      usage_report:
        default: false
        type: boolean
  UserInfoResp:
    type: object
    properties:
      user_name:
        type: string
      is_admin:
        minimum: 0
        type: integer
        maximum: 1
      user_type:
        enum:
          - local
          - domain
        type: string
        example: local
  PreferencesSearchToolsPreferResp:
    type: object
    properties:
      name_of_category:
        items:
          type: string
        type: array
swagger: '2.0'
consumes:
  - application/json
