openapi: 3.0.1
info:
  title: Query Service API
  description: Query Service Api Documentation
  version: "9.1"
servers:
- url: http://localhost:3737/search/resources
  description: Generated server url
tags:
- name: V2-Url-Resource
  description: This class provides RESTful services to get SEO data for specified
    resources.
- name: V2-Product-Resource
  description: This class provides RESTful services to get the ProductView details.
- name: V2-Category-Resource
  description: This class provides RESTful services to get category data for search-based
    catalog navigation for V2.0 store.
- name: Site-Content-Resource
  description: This class provides RESTful services to get resource details for site
    content.
- name: Search-Profile-Resource
  description: This class provides RESTful services to create search profile. Not
    available for live environment.
- name: Search-Document-Resource
  description: This class provides RESTful services for BOD. Not available for live
    environment.
- name: Search-Config-Resource
  description: This class provides RESTful services to add configuration data in ZooKeeper.
    Available for data and toolkit environment only.
- name: Product-View-Resource
  description: This class provides RESTful services to get the ProductView details.
- name: Category-View-Resource
  description: This class provides RESTful services to get category data for search-based
    catalog navigation. It performs the services by delegating to the CatalogNavigationView
    BOD service.
paths:
  /store/{storeId}/categoryview/@top:
    get:
      tags:
      - Category-View-Resource
      summary: Gets all top level categories.
      operationId: findTopCategories
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: depthAndLimit
        in: query
        schema:
          type: string
          description: The comma separated list of numbers is used to control the
            depth of sub-categories and limit the number of items returned under each
            child category level. The first number in this list determines the maximum
            number of categories (first level sub-categories) to be returned under
            the immediate child category. The second number in the list determines
            the maximum number of categories to be returned under the first level
            sub-categories. A value of "-1" implies no limit. In that case, only the
            first level categories will be returned. For example, "pageSize=4&limitSubCategories=-1,3,0,1"
            implies that there will be unlimited first level sub-categories under
            the immediate child categories.  Under these categories (up to 4), all
            sub-categories will be returned and a maximum of 3 second level sub-categories
            will be returned. There will be no third level or fourth level since the
            third level limit is 0. Any level after a limit of 0 will be ignored.
            By default, no sub-category will be returned if this parameter is not
            specified. When the asterisk "*" is specified, it is considered the same
            as "-1" but, any subsequent levels will also be treated "-1".
      - name: orderBy
        in: query
        schema:
          type: string
          description: The field name to use when ordering the results.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: pageSize
        in: query
        schema:
          type: integer
          description: Page size. Used to limit the amount of data returned by a query.
            Valid values include positive integers of 1 and above. The "pageNumber"
            must be specified for paging to work.
      - name: pageNumber
        in: query
        schema:
          type: integer
          description: Page number, starting at 1. Valid values include positive integers
            of 1 and above. The "pageSize" must be specified for paging to work.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogGroupDetailWithSequenceArray'
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/categoryview/byParentCategory/{parentCategoryId}:
    get:
      tags:
      - Category-View-Resource
      summary: Gets child categories based on the unique Id assigned to the parent
        category by the database.
      operationId: findSubCategories
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: parentCategoryId
        in: path
        required: true
        schema:
          type: string
      - name: depthAndLimit
        in: query
        schema:
          type: string
          description: The comma separated list of numbers is used to control the
            depth of sub-categories and limit the number of items returned under each
            child category level. The first number in this list determines the maximum
            number of categories (first level sub-categories) to be returned under
            the immediate child category. The second number in the list determines
            the maximum number of categories to be returned under the first level
            sub-categories. A value of "-1" implies no limit. In that case, only the
            first level categories will be returned. For example, "pageSize=4&limitSubCategories=-1,3,0,1"
            implies that there will be unlimited first level sub-categories under
            the immediate child categories.  Under these categories (up to 4), all
            sub-categories will be returned and a maximum of 3 second level sub-categories
            will be returned. There will be no third level or fourth level since the
            third level limit is 0. Any level after a limit of 0 will be ignored.
            By default, no sub-category will be returned if this parameter is not
            specified. When the asterisk "*" is specified, it is considered the same
            as "-1" but, any subsequent levels will also be treated "-1".
      - name: orderBy
        in: query
        schema:
          type: string
          description: The field name to use when ordering the results.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: pageSize
        in: query
        schema:
          type: integer
          description: Page size. Used to limit the amount of data returned by a query.
            Valid values include positive integers of 1 and above. The "pageNumber"
            must be specified for paging to work.
      - name: pageNumber
        in: query
        schema:
          type: integer
          description: Page number, starting at 1. Valid values include positive integers
            of 1 and above. The "pageSize" must be specified for paging to work.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogGroupDetailWithSequenceArray'
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/categoryview/{categoryIdentifier}:
    get:
      tags:
      - Category-View-Resource
      summary: Gets category details based on its identifier (not the ID assigned
        by the database).
      operationId: findCategoryByIdentifier
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: categoryIdentifier
        in: path
        required: true
        schema:
          type: string
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogGroupDetailArray'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/categoryview/byId/{categoryId}:
    get:
      tags:
      - Category-View-Resource
      summary: Gets category details based on the unique ID assigned to the category
        by the database.
      operationId: findCategoryByUniqueId
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: categoryId
        in: path
        required: true
        schema:
          type: string
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogGroupDetailArray'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/categoryview/byIds:
    get:
      tags:
      - Category-View-Resource
      summary: Gets category details based on a list of unique IDs assigned to the
        categories by the database.
      operationId: findCategoriesByUniqueIds
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: orderBy
        in: query
        schema:
          type: string
          description: The field name to use when ordering the results.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogGroupDetailArray'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/categoryview/byIdentifiers:
    get:
      tags:
      - Category-View-Resource
      summary: Gets category details based on category identifiers specified (not
        the id assigned by the database).
      operationId: findCategoryByIdentifiers
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: identifier
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: orderBy
        in: query
        schema:
          type: string
          description: The field name to use when ordering the results.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogGroupDetailArray'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/productview/byId/{productId}:
    get:
      tags:
      - Product-View-Resource
      summary: Gets product details based on the product ID.
      operationId: findProductById
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: productId
        in: path
        required: true
        schema:
          type: string
      - name: associationType
        in: query
        schema:
          type: string
          description: The type of the merchandising association to be returned.
      - name: attributeKeyword
        in: query
        schema:
          type: string
          description: The attribute associated keywords to be returned.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: attachmentFilter
        in: query
        schema:
          type: string
          description: The attachment filter.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDetail'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/productview/byIds:
    get:
      tags:
      - Product-View-Resource
      summary: Gets product details based on the product ID.
      operationId: findProductsByIds
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
      - name: associationType
        in: query
        schema:
          type: string
          description: The type of the merchandising association to be returned.
      - name: attributeKeyword
        in: query
        schema:
          type: string
          description: The attribute associated keywords to be returned.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: attachmentFilter
        in: query
        schema:
          type: string
          description: The attachment filter.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDetail'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/productview/byPartNumbers:
    get:
      tags:
      - Product-View-Resource
      summary: Gets products by part numbers.
      operationId: findProductByPartNumbers
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: partNumber
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
      - name: associationType
        in: query
        schema:
          type: string
          description: The type of the merchandising association to be returned.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: attachmentFilter
        in: query
        schema:
          type: string
          description: The attachment filter.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDetailArray'
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/productview/byPartNumber/{partNumber}:
    get:
      tags:
      - Product-View-Resource
      summary: Gets products by part number.
      operationId: findProductByAPartNumber
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: partNumber
        in: path
        required: true
        schema:
          type: string
      - name: associationType
        in: query
        schema:
          type: string
          description: The type of the merchandising association to be returned.
      - name: attributeKeyword
        in: query
        schema:
          type: string
          description: The attribute associated keywords to be returned.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: attachmentFilter
        in: query
        schema:
          type: string
          description: The attachment filter.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDetail'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/productview/{partNumber}:
    get:
      tags:
      - Product-View-Resource
      summary: Gets products by part number.
      operationId: findProductByPartNumber
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: partNumber
        in: path
        required: true
        schema:
          type: string
      - name: associationType
        in: query
        schema:
          type: string
          description: The type of the merchandising association to be returned.
      - name: attributeKeyword
        in: query
        schema:
          type: string
          description: The attribute associated keywords to be returned.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: attachmentFilter
        in: query
        schema:
          type: string
          description: The attachment filter.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDetail'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/productview/bySearchTerm/{searchTerm}:
    get:
      tags:
      - Product-View-Resource
      summary: Gets product details based on a search term.
      operationId: findProductsBySearchTerm
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: searchTerm
        in: path
        required: true
        schema:
          type: string
      - name: associationType
        in: query
        schema:
          type: string
          description: The type of the merchandising association to be returned.
      - name: attributeKeyword
        in: query
        schema:
          type: string
          description: The attribute associated keywords to be returned.
      - name: facet
        in: query
        schema:
          type: boolean
          description: The selected facets.
      - name: facetLimit
        in: query
        schema:
          type: string
          description: The multiple name-value pairs of the facet limit defining the
            maximum number of items to be returned under each facet. The sequence
            of limits honored alongside with the sequence of facet name-value pairs.
      - name: advancedFacetList
        in: query
        schema:
          type: string
          description: The advanced facet list.
      - name: filterFacet
        in: query
        schema:
          type: string
          description: The filter facet.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: filterTerm
        in: query
        schema:
          type: string
          description: The filter term.
      - name: manufacturer
        in: query
        schema:
          type: string
          description: The manufacturer name.
      - name: minPrice
        in: query
        schema:
          type: integer
          description: The minimum price. Based on the selected currency.
      - name: maxPrice
        in: query
        schema:
          type: integer
          description: The maximum price for the product based on the selected currency.
      - name: orderBy
        in: query
        schema:
          type: string
          description: The field name to use when ordering the results.
      - name: searchType
        in: query
        schema:
          type: integer
          description: 'The search type is a numeric string which controls the query
            operator: ANY, OR, AND and control what data to be returned. For a detailed
            list of valid values, see the online documentation on Match type (_wcf.search.type).
            Known valid values include : 0: ANY (exclude SKU)1: EXACT (exclude SKU),
            2: ALL (exclude SKU), 3: NONE (exclude SKU), 10: ANY (include SKU), 11:
            EXACT (include SKU), 12: ALL (include SKU), 13: NONE (include SKU), 100:
            ANY (only SKU), 101: EXACT (only SKU), 102: ALL (only SKU), 103: NONE
            (only SKU), 1000: ANY (include products, kits, bundles, category level
            SKU) (exclude product level SKU), 1001: EXACT (include products, kits,
            bundles, category level SKU) (exclude product level SKU), 1002: ALL (include
            products, kits, bundles, category level SKU) (exclude product level SKU),
            1003: NONE (include products, kits, bundles, category level SKU) (exclude
            product level SKU), 10000: ANY (include category level SKU) (exclude products,
            kits, bundles, product level SKU), 10001: EXACT (include category level
            SKU) (exclude products, kits, bundles, product level SKU), 10002: ALL
            (include category level SKU) (exclude products, kits, bundles, product
            level SKU), 10003: NONE (include category level SKU) (exclude products,
            kits, bundles, product level SKU)'
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: categoryId
        in: query
        schema:
          type: string
          description: The category identifier.
      - name: physicalStoreIds
        in: query
        schema:
          type: string
          description: The list of physical store identifiers.
      - name: attachmentFilter
        in: query
        schema:
          type: string
          description: The attachment filter.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: pageSize
        in: query
        schema:
          type: integer
          description: Page size. Used to limit the amount of data returned by a query.
            Valid values include positive integers of 1 and above. The "pageNumber"
            must be specified for paging to work.
      - name: pageNumber
        in: query
        schema:
          type: integer
          description: Page number, starting at 1. Valid values include positive integers
            of 1 and above. The "pageSize" must be specified for paging to work.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSummaryArray'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/productview/byCategory/{categoryId}:
    get:
      tags:
      - Product-View-Resource
      summary: Finds a product by its ID.
      operationId: findProductsByCategory
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: categoryId
        in: path
        required: true
        schema:
          type: string
      - name: associationType
        in: query
        schema:
          type: string
          description: The type of the merchandising association to be returned.
      - name: attributeKeyword
        in: query
        schema:
          type: string
          description: The attribute associated keywords to be returned.
      - name: facet
        in: query
        schema:
          type: boolean
          description: The selected facets.
      - name: facetLimit
        in: query
        schema:
          type: string
          description: The multiple name-value pairs of the facet limit defining the
            maximum number of items to be returned under each facet. The sequence
            of limits honored alongside with the sequence of facet name-value pairs.
      - name: advancedFacetList
        in: query
        schema:
          type: string
          description: The advanced facet list.
      - name: filterFacet
        in: query
        schema:
          type: string
          description: The filter facet.
      - name: filterTerm
        in: query
        schema:
          type: string
          description: The filter term.
      - name: manufacturer
        in: query
        schema:
          type: string
          description: The manufacturer name.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: minPrice
        in: query
        schema:
          type: integer
          description: The minimum price. Based on the selected currency.
      - name: maxPrice
        in: query
        schema:
          type: integer
          description: The maximum price for the product based on the selected currency.
      - name: orderBy
        in: query
        schema:
          type: string
          description: The field name to use when ordering the results.
      - name: searchType
        in: query
        schema:
          type: integer
          description: 'The search type is a numeric string which controls the query
            operator: ANY, OR, AND and control what data to be returned. For a detailed
            list of valid values, see the online documentation on Match type (_wcf.search.type).
            Known valid values include : 0: ANY (exclude SKU)1: EXACT (exclude SKU),
            2: ALL (exclude SKU), 3: NONE (exclude SKU), 10: ANY (include SKU), 11:
            EXACT (include SKU), 12: ALL (include SKU), 13: NONE (include SKU), 100:
            ANY (only SKU), 101: EXACT (only SKU), 102: ALL (only SKU), 103: NONE
            (only SKU), 1000: ANY (include products, kits, bundles, category level
            SKU) (exclude product level SKU), 1001: EXACT (include products, kits,
            bundles, category level SKU) (exclude product level SKU), 1002: ALL (include
            products, kits, bundles, category level SKU) (exclude product level SKU),
            1003: NONE (include products, kits, bundles, category level SKU) (exclude
            product level SKU), 10000: ANY (include category level SKU) (exclude products,
            kits, bundles, product level SKU), 10001: EXACT (include category level
            SKU) (exclude products, kits, bundles, product level SKU), 10002: ALL
            (include category level SKU) (exclude products, kits, bundles, product
            level SKU), 10003: NONE (include category level SKU) (exclude products,
            kits, bundles, product level SKU)'
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: attachmentFilter
        in: query
        schema:
          type: string
          description: The attachment filter.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: pageSize
        in: query
        schema:
          type: integer
          description: Page size. Used to limit the amount of data returned by a query.
            Valid values include positive integers of 1 and above. The "pageNumber"
            must be specified for paging to work.
      - name: pageNumber
        in: query
        schema:
          type: integer
          description: Page number, starting at 1. Valid values include positive integers
            of 1 and above. The "pageSize" must be specified for paging to work.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSummaryArray'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/productview/byCategoryForAdmin/{categoryId}:
    get:
      tags:
      - Product-View-Resource
      summary: By default, this API returns all products under the category and subcategories
        by deep search. It does not only return products in the current category.
        There is no control over the limit of each subcategory under the category
        facet.
      operationId: findProductsByCategoryForAdmin
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: categoryId
        in: path
        required: true
        schema:
          type: string
      - name: associationType
        in: query
        schema:
          type: string
          description: The type of the merchandising association to be returned.
      - name: attributeKeyword
        in: query
        schema:
          type: string
          description: The attribute associated keywords to be returned.
      - name: facet
        in: query
        schema:
          type: string
          description: The selected facets.
      - name: facetLimit
        in: query
        schema:
          type: string
          description: The multiple name-value pairs of the facet limit defining the
            maximum number of items to be returned under each facet. The sequence
            of limits honored alongside with the sequence of facet name-value pairs.
      - name: advancedFacetList
        in: query
        schema:
          type: string
          description: The advanced facet list.
      - name: filterFacet
        in: query
        schema:
          type: string
          description: The filter facet.
      - name: filterTerm
        in: query
        schema:
          type: string
          description: The filter term.
      - name: manufacturer
        in: query
        schema:
          type: string
          description: The manufacturer name.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: minPrice
        in: query
        schema:
          type: string
          description: The minimum price. Based on the selected currency.
      - name: maxPrice
        in: query
        schema:
          type: string
          description: The maximum price for the product based on the selected currency.
      - name: orderBy
        in: query
        schema:
          type: string
          description: The field name to use when ordering the results.
      - name: searchType
        in: query
        schema:
          type: string
          description: 'The search type is a numeric string which controls the query
            operator: ANY, OR, AND and control what data to be returned. For a detailed
            list of valid values, see the online documentation on Match type (_wcf.search.type).
            Known valid values include : 0: ANY (exclude SKU)1: EXACT (exclude SKU),
            2: ALL (exclude SKU), 3: NONE (exclude SKU), 10: ANY (include SKU), 11:
            EXACT (include SKU), 12: ALL (include SKU), 13: NONE (include SKU), 100:
            ANY (only SKU), 101: EXACT (only SKU), 102: ALL (only SKU), 103: NONE
            (only SKU), 1000: ANY (include products, kits, bundles, category level
            SKU) (exclude product level SKU), 1001: EXACT (include products, kits,
            bundles, category level SKU) (exclude product level SKU), 1002: ALL (include
            products, kits, bundles, category level SKU) (exclude product level SKU),
            1003: NONE (include products, kits, bundles, category level SKU) (exclude
            product level SKU), 10000: ANY (include category level SKU) (exclude products,
            kits, bundles, product level SKU), 10001: EXACT (include category level
            SKU) (exclude products, kits, bundles, product level SKU), 10002: ALL
            (include category level SKU) (exclude products, kits, bundles, product
            level SKU), 10003: NONE (include category level SKU) (exclude products,
            kits, bundles, product level SKU)'
      - name: checkEntitlement
        in: query
        schema:
          type: string
          description: Option to force an entitlement check.
      - name: attachmentFilter
        in: query
        schema:
          type: string
          description: The attachment filter.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: pageSize
        in: query
        schema:
          type: string
          description: Page size. Used to limit the amount of data returned by a query.
            Valid values include positive integers of 1 and above. The "pageNumber"
            must be specified for paging to work.
      - name: debug
        in: query
        schema:
          type: string
          description: Used to display debug info. Set to 'true' to display sequence
            score.
      - name: pageNumber
        in: query
        schema:
          type: string
          description: Page number, starting at 1. Valid values include positive integers
            of 1 and above. The "pageSize" must be specified for paging to work.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSummaryArray'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "401":
          description: Not authenticated. The user session is not valid.
          content:
            application/json:
              schema:
                type: string
        "403":
          description: The user is not authorized to perform the specified request.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /api/v2/configuration:
    get:
      tags:
      - Search-Config-Resource
      summary: Get the configuration node data.
      operationId: getConfigurationData
      parameters:
      - name: nodeName
        in: query
        required: true
        schema:
          type: string
      - name: locale
        in: query
        schema:
          type: string
          description: Locale name
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                type: object
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: object
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: object
    post:
      tags:
      - Search-Config-Resource
      summary: Create the configuration node in ZooKeeper.
      operationId: addConfiguration
      parameters:
      - name: nodeName
        in: query
        required: true
        schema:
          type: string
      - name: locale
        in: query
        schema:
          type: string
          description: Locale name
      requestBody:
        content:
          application/json:
            schema:
              type: string
      responses:
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "201":
          description: The requested resource has been created.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
    patch:
      tags:
      - Search-Config-Resource
      summary: Update the configuration node in ZooKeeper.
      operationId: updateColorConfiguration
      parameters:
      - name: nodeName
        in: query
        required: true
        schema:
          type: string
      - name: locale
        in: query
        schema:
          type: string
          description: Locale name
      requestBody:
        content:
          application/json:
            schema:
              type: string
      responses:
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "201":
          description: The requested resource has been created.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
  /api/v2/documents/bod:
    post:
      tags:
      - Search-Document-Resource
      summary: Gets BOD data.
      operationId: getMarketingESpotData
      requestBody:
        content:
          application/json:
            schema:
              type: string
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /api/v2/documents/profiles/{profileName}:
    get:
      tags:
      - Search-Profile-Resource
      summary: Get the search profile.
      operationId: getSearchProfile
      parameters:
      - name: profileName
        in: path
        required: true
        schema:
          type: string
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchProfile'
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchProfile'
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchProfile'
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchProfile'
    put:
      tags:
      - Search-Profile-Resource
      summary: Update the search profile.
      operationId: updateSearchProfile
      parameters:
      - name: profileName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "201":
          description: The requested resource has been created.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
    post:
      tags:
      - Search-Profile-Resource
      summary: Create the search profile.
      operationId: createSearchProfile
      parameters:
      - name: profileName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
      responses:
        "409":
          description: The specified resource already exist.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "201":
          description: The requested resource has been created.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
    delete:
      tags:
      - Search-Profile-Resource
      summary: Delete the search profile.
      operationId: deleteProfile
      parameters:
      - name: profileName
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "204":
          description: The requested completed successfully. No content is returned
            in the response.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
  /api/v2/documents/profiles:
    get:
      tags:
      - Search-Profile-Resource
      summary: Gets the search profiles.
      operationId: getSearchProfileList
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchProfile'
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchProfile'
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchProfile'
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchProfile'
  /store/{storeId}/sitecontent/suggestions:
    get:
      tags:
      - Site-Content-Resource
      summary: Provides suggestions with type-ahead for search result page.
      operationId: findSuggestions
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: suggestType
        in: query
        schema:
          type: string
          description: The suggestion type. Accepted values are 'Category', 'Brand',
            'Articles', 'Keyword', and 'Product'.
      - name: term
        in: query
        schema:
          type: string
          description: The search term.
      - name: limit
        in: query
        schema:
          type: string
          description: Limit.
      - name: count
        in: query
        schema:
          type: integer
          description: The number of suggested keywords to be returned. The default
            value is 4.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: termsSort
        in: query
        schema:
          type: boolean
          description: The sorting to be used in the returned result, "count" or "index".
            By default, it is "count".
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonSuggestions'
  /store/{storeId}/sitecontent/keywordSuggestionsByTerm/{term}:
    get:
      tags:
      - Site-Content-Resource
      summary: Provides keyword suggestions with type-ahead for search result page
        based on a term.
      operationId: findKeywordSuggestionsByTerm
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: term
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: string
          description: Limit.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: termsSort
        in: query
        schema:
          type: boolean
          description: The sorting to be used in the returned result, "count" or "index".
            By default, it is "count".
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeywordSuggestion'
  /store/{storeId}/sitecontent/brandSuggestions:
    get:
      tags:
      - Site-Content-Resource
      summary: Provides suggestions with type-ahead for search result page.
      operationId: findBrandSuggestions
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
          description: Limit.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: termsSort
        in: query
        schema:
          type: boolean
          description: The sorting to be used in the returned result, "count" or "index".
            By default, it is "count".
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategorySuggestion'
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/sitecontent/categorySuggestions:
    get:
      tags:
      - Site-Content-Resource
      summary: Provides suggestions with type-ahead for search result page.
      operationId: findCategorySuggestions
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
          description: Limit.
      - name: count
        in: query
        schema:
          type: integer
          description: The number of suggested keywords to be returned. The default
            value is 4.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: termsSort
        in: query
        schema:
          type: boolean
          description: The sorting to be used in the returned result, "count" or "index".
            By default, it is "count".
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategorySuggestion'
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /store/{storeId}/sitecontent/productSuggestionsBySearchTerm/{searchTerm}:
    get:
      tags:
      - Site-Content-Resource
      summary: Provides suggestions with type-ahead for search result page.
      operationId: findProductSuggestionsBySearchTerm
      parameters:
      - name: storeId
        in: path
        required: true
        schema:
          type: string
      - name: searchTerm
        in: path
        required: true
        schema:
          type: string
      - name: pageSize
        in: query
        schema:
          type: integer
          description: Page size. Used to limit the amount of data returned by a query.
            Valid values include positive integers of 1 and above. The "pageNumber"
            must be specified for paging to work.
      - name: pageNumber
        in: query
        schema:
          type: integer
          description: Page number, starting at 1. Valid values include positive integers
            of 1 and above. The "pageSize" must be specified for paging to work.
      - name: searchType
        in: query
        schema:
          type: integer
          description: 'The search type is a numeric string which controls the query
            operator: ANY, OR, AND and control what data to be returned. For a detailed
            list of valid values, see the online documentation on Match type (_wcf.search.type).
            Known valid values include : 0: ANY (exclude SKU)1: EXACT (exclude SKU),
            2: ALL (exclude SKU), 3: NONE (exclude SKU), 10: ANY (include SKU), 11:
            EXACT (include SKU), 12: ALL (include SKU), 13: NONE (include SKU), 100:
            ANY (only SKU), 101: EXACT (only SKU), 102: ALL (only SKU), 103: NONE
            (only SKU), 1000: ANY (include products, kits, bundles, category level
            SKU) (exclude product level SKU), 1001: EXACT (include products, kits,
            bundles, category level SKU) (exclude product level SKU), 1002: ALL (include
            products, kits, bundles, category level SKU) (exclude product level SKU),
            1003: NONE (include products, kits, bundles, category level SKU) (exclude
            product level SKU), 10000: ANY (include category level SKU) (exclude products,
            kits, bundles, product level SKU), 10001: EXACT (include category level
            SKU) (exclude products, kits, bundles, product level SKU), 10002: ALL
            (include category level SKU) (exclude products, kits, bundles, product
            level SKU), 10003: NONE (include category level SKU) (exclude products,
            kits, bundles, product level SKU)'
      - name: term
        in: query
        schema:
          type: boolean
          description: The sorting to be used in the returned result, "count" or "index".
            By default, it is "count".
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: termsSort
        in: query
        schema:
          type: boolean
          description: The sorting to be used in the returned result, "count" or "index".
            By default, it is "count".
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSuggestion'
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /api/v2/categories:
    get:
      tags:
      - V2-Category-Resource
      summary: Gets Response for V2.0 API for store as per the requirements
      operationId: getV2CategoryResources
      parameters:
      - name: storeId
        in: query
        required: true
        schema:
          type: string
      - name: identifier
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
      - name: id
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
      - name: parentCategoryId
        in: query
        required: false
        schema:
          type: string
      - name: depthAndLimit
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        "200":
          description: default response
          content:
            application/json:
              schema:
                type: string
  /api/v2/products:
    get:
      tags:
      - V2-Product-Resource
      summary: Gets Products
      operationId: findProducts
      parameters:
      - name: storeId
        in: query
        required: true
        schema:
          type: string
      - name: categoryId
        in: query
        required: false
        schema:
          type: string
      - name: searchTerm
        in: query
        required: false
        schema:
          type: string
      - name: id
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
      - name: productId
        in: query
        required: false
        schema:
          type: string
      - name: partNumber
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: associationType
        in: query
        schema:
          type: string
          description: The type of the merchandising association to be returned.
      - name: attributeKeyword
        in: query
        schema:
          type: string
          description: The attribute associated keywords to be returned.
      - name: catalogId
        in: query
        schema:
          type: string
          description: The catalog identifier. If none is specified, the store default
            catalog will be used.
      - name: contractId
        in: query
        schema:
          type: string
          description: The contractId
      - name: currency
        in: query
        schema:
          type: string
          description: 'The currency code to use. Example usage : currency=USD. If
            no currency code is specified, the store default currency will be used.'
      - name: langId
        in: query
        schema:
          type: string
          description: Language identifier. If not specified, the "locale" parameter
            will be used. If "locale" is not specified, then the store default language
            will be used.
      - name: checkEntitlement
        in: query
        schema:
          type: boolean
          description: Option to force an entitlement check.
      - name: attachmentFilter
        in: query
        schema:
          type: string
          description: The attachment filter.
      - name: profileName
        in: query
        schema:
          type: string
          description: Profile name. Profiles determine the subset of data to be returned
            by a search query.
      responses:
        "200":
          description: The request is completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDetail'
        "404":
          description: The specified resource could not be found.
          content:
            application/json:
              schema:
                type: string
        "500":
          description: Internal server error. Additional details will be contained
            on the server logs.
          content:
            application/json:
              schema:
                type: string
        "400":
          description: Bad request. Some of the inputs provided to the request are
            not valid.
          content:
            application/json:
              schema:
                type: string
  /api/v2/urls:
    get:
      tags:
      - V2-Url-Resource
      summary: Gets Response for V2.0 API Seo url data
      operationId: getV2CategoryResources_1
      parameters:
      - name: storeId
        in: query
        required: true
        schema:
          type: integer
          format: int32
      - name: identifier
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        "200":
          description: default response
          content:
            application/json:
              schema:
                type: string
components:
  schemas:
    CatalogGroupDetailWithSequenceArray:
      type: object
      properties:
        recordSetCount:
          type: integer
          format: int32
        recordSetTotal:
          type: integer
          format: int32
        recordSetComplete:
          type: boolean
        recordSetStartNumber:
          type: integer
          format: int32
        resourceName:
          type: string
        resourceId:
          type: string
        uniqueId:
          type: integer
          format: int64
        catalogGroupView:
          type: array
          items:
            $ref: '#/components/schemas/CatalogGroupViewWithSequence'
    CatalogGroupViewWithSequence:
      type: object
      properties:
        identifier:
          type: string
        fullImage:
          type: string
        thumbnail:
          type: string
        storeID:
          type: integer
          format: int32
        name:
          type: string
        shortDescription:
          type: string
        userData:
          $ref: '#/components/schemas/UserDataType'
        parentCatalogGroupID:
          type: array
          items:
            type: string
        childCatalogGroupID:
          type: array
          items:
            type: string
        sequnece:
          type: array
          items:
            type: string
    UserDataType:
      type: object
      properties:
        name:
          type: array
          items:
            type: string
        value:
          type: array
          items:
            type: string
    CatalogGroupDetailArray:
      type: object
      properties:
        recordSetCount:
          type: integer
          format: int32
        recordSetTotal:
          type: integer
          format: int32
        recordSetComplete:
          type: boolean
        recordSetStartNumber:
          type: integer
          format: int32
        resourceName:
          type: string
        resourceId:
          type: string
        uniqueId:
          type: integer
          format: int64
        catalogGroupView:
          type: array
          items:
            $ref: '#/components/schemas/CatalogGroupView'
    CatalogGroupView:
      type: object
      properties:
        identifier:
          type: string
        fullImage:
          type: string
        thumbnail:
          type: string
        storeID:
          type: integer
          format: int32
        name:
          type: string
        shortDescription:
          type: string
        userData:
          $ref: '#/components/schemas/UserDataType'
        parentCatalogGroupID:
          type: array
          items:
            type: string
        childCatalogGroupID:
          type: array
          items:
            type: string
    AD_attribute:
      type: object
      properties:
        ad_attribute:
          type: string
        description:
          type: string
        usage:
          type: string
    Attachment:
      type: object
      properties:
        identifier:
          type: string
        catentry_id:
          type: integer
          format: int64
        usage:
          type: string
        attachmentAssetID:
          type: integer
          format: int64
        mimeType:
          type: string
        attachmentAssetPath:
          type: string
    Attribute:
      type: object
      properties:
        usage:
          type: string
        facetable:
          type: boolean
        storeDisplay:
          type: boolean
        sequence:
          type: string
        value:
          type: array
          items:
            $ref: '#/components/schemas/AttributeValue'
    AttributeValue:
      type: object
      properties:
        value:
          type: string
        identifier:
          type: string
        uniqueID:
          type: string
        sequence:
          type: string
    Component:
      type: object
      properties:
        price:
          type: array
          items:
            $ref: '#/components/schemas/Price'
        hasSingleSKU:
          type: boolean
        resourceId:
          type: string
        uniqueID:
          type: integer
          format: int64
        partNumber:
          type: string
        shortDescription:
          type: string
        catalogEntryTypeCode:
          type: string
        fullImage:
          type: string
        thumbnail:
          type: string
        buyable:
          type: boolean
        storeID:
          type: integer
          format: int32
        name:
          type: string
        parentCatalogGroupID:
          type: array
          items:
            type: string
        manufacturer:
          type: string
        quantity:
          type: string
        skus:
          type: array
          items:
            $ref: '#/components/schemas/SKU'
    MerchandisingAssociation:
      type: object
      properties:
        price:
          type: array
          items:
            $ref: '#/components/schemas/Price'
        hasSingleSKU:
          type: boolean
        resourceId:
          type: string
        uniqueID:
          type: integer
          format: int64
        partNumber:
          type: string
        shortDescription:
          type: string
        catalogEntryTypeCode:
          type: string
        fullImage:
          type: string
        thumbnail:
          type: string
        buyable:
          type: boolean
        storeID:
          type: integer
          format: int32
        name:
          type: string
        parentCatalogGroupID:
          type: array
          items:
            type: string
        manufacturer:
          type: string
        quantity:
          type: string
        associationType:
          type: string
        ad_attribute:
          $ref: '#/components/schemas/AD_attribute'
        numberOfSKUs:
          type: integer
          format: int32
    MetaData:
      type: object
      properties:
        price:
          type: string
        spellCheck:
          type: array
          items:
            type: string
    Price:
      type: object
      properties:
        usage:
          type: string
        description:
          type: string
        currency:
          type: string
        value:
          type: number
    ProductDetail:
      type: object
      properties:
        ad_attribute:
          type: array
          items:
            $ref: '#/components/schemas/AD_attribute'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/Attribute'
        userData:
          type: array
          items:
            $ref: '#/components/schemas/UserDataType'
        price:
          type: array
          items:
            $ref: '#/components/schemas/Price'
        numberOfSKUs:
          type: string
        disallowRecurringOrder:
          type: integer
          format: int32
        manufacturer:
          type: string
        parentCatalogGroupID:
          type: array
          items:
            type: string
        name:
          type: string
        uniqueID:
          type: integer
          format: int64
        partNumber:
          type: string
        thumbnail:
          type: string
        shortDescription:
          type: string
        longDescription:
          type: string
        keyword:
          type: string
        hasSingleSKU:
          type: boolean
        hasSingleSKUESet:
          type: boolean
        singleSKUCatalogEntryID:
          type: string
        storeID:
          type: string
        fullImage:
          type: string
        parentCatalogEntryID:
          type: string
        subscriptionTypeCode:
          type: string
        dynamicKitURL:
          type: string
        dynamicKitDefaultConfiguration:
          type: string
        dynamicKitDefaultConfigurationComplete:
          type: boolean
        dynamicKitDefaultConfigurationCompleteESet:
          type: boolean
        dynamicKitModelReference:
          type: string
        title:
          type: string
        metaDescription:
          type: string
        metaKeyword:
          type: string
        fullImageAltDescription:
          type: string
        buyable:
          type: boolean
        catalogEntryTypeCode:
          type: string
        recordSetCount:
          type: integer
          format: int32
        recordSetTotal:
          type: integer
          format: int32
        recordSetTotalMatches:
          type: integer
          format: int32
        recordSetComplete:
          type: boolean
        recordSetStartNumber:
          type: integer
          format: int32
        resourceName:
          type: string
        resourceId:
          type: string
        metaData:
          $ref: '#/components/schemas/MetaData'
        components:
          type: array
          items:
            $ref: '#/components/schemas/Component'
        merchandisingAssociations:
          type: array
          items:
            $ref: '#/components/schemas/MerchandisingAssociation'
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment'
        skus:
          type: array
          items:
            $ref: '#/components/schemas/SKU'
    SKU:
      type: object
      properties:
        price:
          type: array
          items:
            $ref: '#/components/schemas/Price'
        hasSingleSKU:
          type: boolean
        resourceId:
          type: string
        uniqueID:
          type: integer
          format: int64
        partNumber:
          type: string
        shortDescription:
          type: string
        catalogEntryTypeCode:
          type: string
        fullImage:
          type: string
        thumbnail:
          type: string
        buyable:
          type: boolean
        storeID:
          type: integer
          format: int32
        name:
          type: string
        parentCatalogGroupID:
          type: array
          items:
            type: string
        manufacturer:
          type: string
    BreadCrumbTrailEntryView:
      type: object
      properties:
        lable:
          type: string
        type:
          type: string
        value:
          type: string
    BreadCrumbTrailEntryViewExtended:
      type: object
      properties:
        breadCrumbTrailEntryView:
          type: array
          items:
            $ref: '#/components/schemas/BreadCrumbTrailEntryView'
    Entry:
      type: object
      properties:
        term:
          type: string
        frequency:
          type: integer
          format: int32
        userData:
          $ref: '#/components/schemas/UserDataType'
    FacetView:
      type: object
      properties:
        value:
          type: string
        name:
          type: string
        entry:
          type: array
          items:
            $ref: '#/components/schemas/Entry'
    ProductDetailArray:
      type: object
      properties:
        catalogEntryView:
          type: array
          items:
            $ref: '#/components/schemas/ProductDetail'
        facetView:
          type: array
          items:
            $ref: '#/components/schemas/FacetView'
        breadCrumbTrailEntryView:
          type: array
          items:
            $ref: '#/components/schemas/BreadCrumbTrailEntryView'
        breadCrumbTrailEntryViewExtended:
          $ref: '#/components/schemas/BreadCrumbTrailEntryViewExtended'
    ProductSummary:
      type: object
      properties:
        ad_attribute:
          type: array
          items:
            $ref: '#/components/schemas/AD_attribute'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/Attribute'
        userData:
          type: array
          items:
            $ref: '#/components/schemas/UserDataType'
        price:
          type: array
          items:
            $ref: '#/components/schemas/Price'
        numberOfSKUs:
          type: string
        disallowRecurringOrder:
          type: integer
          format: int32
        manufacturer:
          type: string
        parentCatalogGroupID:
          type: array
          items:
            type: string
        name:
          type: string
        uniqueID:
          type: integer
          format: int64
        partNumber:
          type: string
        thumbnail:
          type: string
        shortDescription:
          type: string
        longDescription:
          type: string
        keyword:
          type: string
        hasSingleSKU:
          type: boolean
        hasSingleSKUESet:
          type: boolean
        singleSKUCatalogEntryID:
          type: string
        storeID:
          type: string
        fullImage:
          type: string
        parentCatalogEntryID:
          type: string
        subscriptionTypeCode:
          type: string
        dynamicKitURL:
          type: string
        dynamicKitDefaultConfiguration:
          type: string
        dynamicKitDefaultConfigurationComplete:
          type: boolean
        dynamicKitDefaultConfigurationCompleteESet:
          type: boolean
        dynamicKitModelReference:
          type: string
        title:
          type: string
        metaDescription:
          type: string
        metaKeyword:
          type: string
        fullImageAltDescription:
          type: string
        buyable:
          type: boolean
        catalogEntryTypeCode:
          type: string
        recordSetCount:
          type: integer
          format: int32
        recordSetTotal:
          type: integer
          format: int32
        recordSetTotalMatches:
          type: integer
          format: int32
        recordSetComplete:
          type: boolean
        recordSetStartNumber:
          type: integer
          format: int32
        resourceName:
          type: string
        resourceId:
          type: string
        metaData:
          $ref: '#/components/schemas/MetaData'
    ProductSummaryArray:
      type: object
      properties:
        catalogEntryView:
          type: array
          items:
            $ref: '#/components/schemas/ProductSummary'
        facetView:
          type: array
          items:
            $ref: '#/components/schemas/FacetView'
        breadCrumbTrailEntryView:
          type: array
          items:
            $ref: '#/components/schemas/BreadCrumbTrailEntryView'
        breadCrumbTrailEntryViewExtended:
          $ref: '#/components/schemas/BreadCrumbTrailEntryViewExtended'
    Query:
      type: object
      properties:
        params:
          type: array
          items:
            type: object
        queryFields:
          type: array
          items:
            type: string
        sortFields:
          type: object
        provider:
          type: array
          items:
            type: string
        preprocessor:
          type: array
          items:
            type: string
        postprocessor:
          type: array
          items:
            type: string
        responseFields:
          type: array
          items:
            type: string
        highlight:
          type: object
        spellcheck:
          type: object
    SearchProfile:
      type: object
      properties:
        parentProfileName:
          type: string
        profileName:
          type: string
        indexName:
          type: string
        query:
          $ref: '#/components/schemas/Query'
    CommonSuggestionView:
      type: object
      properties:
        identifier:
          type: string
        entry:
          type: array
          items:
            $ref: '#/components/schemas/Entry'
        userData:
          $ref: '#/components/schemas/UserDataType'
    CommonSuggestions:
      type: object
      properties:
        suggestionView:
          type: array
          items:
            $ref: '#/components/schemas/CommonSuggestionView'
    KeywordSuggestion:
      type: object
      properties:
        suggestionView:
          type: array
          items:
            $ref: '#/components/schemas/KeywordSuggestionView'
    KeywordSuggestionView:
      type: object
      properties:
        identifier:
          type: string
        entry:
          type: array
          items:
            $ref: '#/components/schemas/Entry'
    CategorySuggestion:
      type: object
      properties:
        suggestionView:
          type: array
          items:
            $ref: '#/components/schemas/CategorySuggestionView'
    CategorySuggestionView:
      type: object
      properties:
        categorySeparator:
          type: string
        identifier:
          type: string
        entry:
          type: array
          items:
            $ref: '#/components/schemas/CategoryViewEntry'
    CategoryViewEntry:
      type: object
      properties:
        value:
          type: string
        fullPath:
          type: string
        fullPathCategoryIds:
          type: string
        image:
          type: string
        name:
          type: string
        shortDescription:
          type: string
        userData:
          $ref: '#/components/schemas/UserDataType'
    ProductSuggestion:
      type: object
      properties:
        recordSetCount:
          type: integer
          format: int32
        recordSetTotal:
          type: integer
          format: int32
        recordSetComplete:
          type: boolean
        recordSetStartNumber:
          type: integer
          format: int32
        resourceName:
          type: string
        resourceId:
          type: string
        suggestionView:
          type: array
          items:
            $ref: '#/components/schemas/ProductSuggestionView'
    ProductSuggestionView:
      type: object
      properties:
        identifier:
          type: string
        entry:
          type: array
          items:
            $ref: '#/components/schemas/productSuggestionEntry'
    productSuggestionEntry:
      type: object
      properties:
        hasSingleSKU:
          type: boolean
        resourceId:
          type: string
        uniqueID:
          type: integer
          format: int64
        partNumber:
          type: string
        shortDescription:
          type: string
        thumbnail:
          type: string
        storeID:
          type: integer
          format: int32
        name:
          type: string
        userData:
          $ref: '#/components/schemas/UserDataType'
