> ## Documentation Index
> Fetch the complete documentation index at: https://help.experro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Auto Suggest

> Retrieve auto-suggest results by encoding options in the query string. Ideal for lightweight integrations where a request body is not convenient.

Before calling this endpoint, make sure you’ve generated an API token and picked the correct domain. See [Authentication & Base URLs](/api-reference/authbaseurl).


## OpenAPI

````yaml GET /apis/ecommerce-service/public/discovery/v2/auto-suggest
openapi: 3.1.0
info:
  title: OpenAPI Plant Store
  description: >-
    A sample API that uses a plant store as an example to demonstrate features
    in the OpenAPI specification
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://apis.experro.app
    description: Admin Server
  - url: https://{base-address}
    description: Custom Server
    variables:
      base-address:
        default: ''
        description: Enter your custom domain or server address.
security:
  - bearerAuth: []
paths:
  /apis/ecommerce-service/public/discovery/v2/auto-suggest:
    get:
      summary: Fetch Auto-Suggest via Query Parameters
      description: >-
        Retrieve auto-suggest results by encoding options in the query string.
        Ideal for lightweight integrations where a request body is not
        convenient.
      parameters:
        - $ref: '#/components/parameters/CustomerGroupIdHeader'
        - $ref: '#/components/parameters/EcommProviderHeader'
        - $ref: '#/components/parameters/FieldsQryPrm'
        - $ref: '#/components/parameters/LocaleQryPrm'
        - $ref: '#/components/parameters/StoreIdQryPrm'
        - $ref: '#/components/parameters/ChannelIdQryPrm'
        - $ref: '#/components/parameters/CurrencyQryPrm'
        - name: include_fields_meta
          in: query
          description: >-
            Whether to include metadata about the fields in the response. If
            true, returns metadata for each filterable field.
          schema:
            type: boolean
        - name: location_id
          in: query
          description: >-
            Identifier for the regional location from the BigCommerce admin
            panel.
          schema:
            type: string
        - name: user_id
          in: query
          description: Unique identifier for the user. Id or user email.
          schema:
            type: string
        - name: session_id
          in: query
          schema:
            type: string
          description: Identifier for the user's session id
        - name: show_auto_suggester_term
          in: query
          description: Whether to show the auto-suggester term.
          schema:
            type: boolean
        - name: auto_suggester_term_limit
          in: query
          description: Limit for the number of auto-suggester terms to return.
          schema:
            type: integer
        - name: show_category
          in: query
          description: Whether to show product category name suggestions.
          schema:
            type: boolean
        - name: include_category_count
          in: query
          description: Whether to include the number of products per category
          schema:
            type: boolean
        - name: category_limit
          in: query
          description: Max number of categories to return.
          schema:
            type: integer
        - name: show_popular_searches
          in: query
          description: Whether to Include popular search phrases.
          schema:
            type: boolean
        - name: popular_searches_limit
          in: query
          description: Max number of popular searches to return.
          schema:
            type: integer
        - name: show_recent_searches
          in: query
          description: Whether to show user’s recent search history.
          schema:
            type: boolean
        - name: recent_searches_limit
          in: query
          description: Max number of recent searches to return.
          schema:
            type: integer
        - name: show_content_pages
          in: query
          description: Whether to show matching content pages in the result
          schema:
            type: boolean
        - name: content_pages_limit
          in: query
          description: Max number of content pages to return.
          schema:
            type: integer
        - name: content_fields
          in: query
          description: Comma-separated list of fields to include for content pages
          schema:
            type: string
        - name: show_products
          in: query
          description: Whether to show products in the result
          schema:
            type: boolean
        - name: products_limit
          in: query
          description: Max number of product suggestions to return.
          schema:
            type: integer
        - $ref: '#/components/parameters/FilterQryPrm'
        - $ref: '#/components/parameters/SearchTermQryPrm'
        - name: is_auto_spellcheck
          in: query
          description: Whether to auto-correct misspellings in the search term.
          schema:
            type: boolean
        - name: out_of_stock
          in: query
          description: >-
            Whether to include/ exclude/ bury out-of-stock items (INCLUDE /
            EXCLUDE / BURY)
          schema:
            type: string
            enum:
              - INCLUDE
              - EXCLUDE
              - BURRY
        - name: preview
          in: query
          description: >-
            Whether this is a preview mode request. If true, the suggestions
            returns in preview mode.
          schema:
            type: boolean
      responses:
        '200':
          description: Auto-suggest results via query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutoSuggest200Response'
        '400':
          description: Bad Request – invalid query syntax.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                    example: failure
                  Data:
                    $ref: '#/components/schemas/Error404'
        '401':
          description: Unauthorized – Missing or invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                    example: failure
                  Data:
                    $ref: '#/components/schemas/Error401'
        '500':
          description: Internal Server Error – an unexpected error on the server.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                    example: failure
                  Data:
                    $ref: '#/components/schemas/Error500'
      security: []
      servers:
        - url: https://{base-address}
          description: Custom Server
          variables:
            base-address:
              default: ''
              description: Enter your custom domain or server address.
components:
  parameters:
    CustomerGroupIdHeader:
      name: x-customer-group-id
      in: header
      required: false
      schema:
        type: string
      description: Optional customer group identifier for segment-specific responses.
    EcommProviderHeader:
      name: x-ecomm-provider
      in: header
      required: false
      schema:
        type: string
      description: >-
        eCommerce provider for contextualizing the API call (e.g., shopify,
        magento, etc.).
    FieldsQryPrm:
      name: fields
      in: query
      description: Comma-separated list of fields to include in the response
      schema:
        type: string
      required: true
    LocaleQryPrm:
      name: locale
      in: query
      description: Specifies the language or region for the response data
      required: true
      schema:
        type: string
    StoreIdQryPrm:
      name: store_id
      in: query
      description: Identifier of the store within the eCommerce platform.
      required: false
      schema:
        type: string
    ChannelIdQryPrm:
      name: channel_id
      in: query
      description: Sales or distribution channel identifier.
      required: false
      schema:
        type: string
    CurrencyQryPrm:
      name: currency
      in: query
      description: Currency code for price displays.
      required: false
      schema:
        type: string
    FilterQryPrm:
      name: filter
      in: query
      description: Logical filter expression to narrow results
      schema:
        type: string
    SearchTermQryPrm:
      name: search_term
      in: query
      description: The search term for generating suggestions or results
      schema:
        type: string
  schemas:
    AutoSuggest200Response:
      type: object
      properties:
        Status:
          type: string
          example: success
        Data:
          type: object
          properties:
            categories:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  page_slug:
                    type: string
                  product_count:
                    type: integer
                required:
                  - name
                  - page_slug
                  - product_count
            auto_suggester:
              type: array
              items:
                type: string
            popular_searches:
              type: array
              items:
                type: string
            redirect_url:
              type: string
            products:
              $ref: '#/components/schemas/ProductResponse'
            _meta_:
              $ref: '#/components/schemas/MetaResponse'
    Error404:
      type: object
      properties:
        Status:
          type: string
          example: failure
        Error:
          type: object
          properties:
            message:
              type: string
            name:
              type: string
            code:
              type: string
          required:
            - message
            - name
      required:
        - Status
        - Error
    Error401:
      type: object
      properties:
        Status:
          type: string
          example: failure
        Error:
          type: object
          properties:
            message:
              type: string
            name:
              type: string
            code:
              type: string
          required:
            - message
            - name
      required:
        - Status
        - Error
    Error500:
      type: object
      properties:
        Status:
          type: string
          example: failure
        Error:
          type: object
          properties:
            message:
              type: string
            name:
              type: string
            code:
              type: string
          required:
            - message
            - name
      required:
        - Status
        - Error
    ProductResponse:
      type: array
      items:
        type: object
        properties:
          sku:
            type: string
          matched_sku:
            type: string
          position:
            type: integer
          id:
            type: string
          score:
            type: number
            format: float
          variant_skus:
            type: array
            items:
              type: string
          variants:
            type: array
            items:
              type: object
              properties:
                id:
                  type: string
                title:
                  type: string
                price:
                  type: string
                sku:
                  type: string
                position:
                  type: integer
                compare_at_price:
                  type:
                    - string
                    - 'null'
                selected_options:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      value:
                        type: string
                inventory_quantity:
                  type: integer
                inventory_policy:
                  type: string
                created_at:
                  type: string
                  format: date-time
                updated_at:
                  type: string
                  format: date-time
                image:
                  type: object
                  properties:
                    id:
                      type: string
                    url:
                      type: string
                      format: uri
                    alt_text:
                      type: string
                inventory_item:
                  type: object
                  properties:
                    measurement:
                      type: object
                      properties:
                        weight:
                          type: object
                          properties:
                            unit:
                              type: string
                            value:
                              type: number
                __parent_id:
                  type: string
                graphql_id:
                  type: string
                image_id:
                  type: string
                weight:
                  type: number
                weight_unit:
                  type: string
          name:
            type: string
          brand:
            type: string
          calculated_price:
            type: number
            format: float
          description:
            type: string
          inventory_level:
            type: integer
          images:
            type: array
            items:
              type: object
              properties:
                id:
                  type: string
                url:
                  type: string
                altText:
                  type: string
                graphql_id:
                  type: string
                src:
                  type: string
          variant_options:
            type: array
            items:
              type: object
              properties:
                id:
                  type: string
                name:
                  type: string
                position:
                  type: integer
                values:
                  type: array
                  items:
                    type: string
                optionValues:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
          category_meta:
            type: array
            items:
              type: object
              properties:
                id:
                  type: string
                name:
                  type: string
                provider_id:
                  type: integer
          provider_id:
            type: string
          page_slug:
            type: string
          pin:
            type: boolean
          slot:
            type: boolean
    MetaResponse:
      type: object
      properties:
        tenant_id:
          type: string
        workspace_id:
          type: string
        env_type:
          type: string
        store_hash:
          type: string
        content_model_id:
          type: string
        _fields_:
          type: object
          additionalProperties:
            type: object
            properties:
              type:
                type: string
              sub_type:
                type: string
              is_array:
                type: boolean
              is_searchable:
                type: boolean
            required:
              - type
              - sub_type
              - is_array
              - is_searchable
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````