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

# List Products

> The "List Products" API allows to retrieve a paginated list of products. Customize your results by filtering products based on name or paginate through the list using the provided query parameters. This endpoint provides a straightforward way to explore and retrieve product information.



## OpenAPI

````yaml /api-reference/funnels/openapi.json get /funnels
openapi: 3.0.0
info:
  title: Funnels API
  description: Documentation for funnels API
  version: '1.0'
  contact: {}
servers:
  - url: https://services.leadconnectorhq.com
security: []
tags:
  - name: Funnels
    description: Documentation for funnels API
  - name: Builder
    description: Documentation for funnels API
  - name: Products
    description: Documentation for funnels API
  - name: Prices
    description: Documentation for funnels API
  - name: Integrations
    description: Documentation for funnels API
paths:
  /funnels:
    get:
      tags:
        - Products
      summary: List Products
      description: >-
        The "List Products" API allows to retrieve a paginated list of products.
        Customize your results by filtering products based on name or paginate
        through the list using the provided query parameters. This endpoint
        provides a straightforward way to explore and retrieve product
        information.
      operationId: list-invoices
      parameters:
        - name: Version
          in: header
          description: API Version
          required: true
          schema:
            type: string
            enum:
              - '2021-07-28'
        - name: limit
          required: false
          in: query
          description: >-
            The maximum number of items to be included in a single page of
            results
          schema:
            default: 0
            example: 20
            type: number
        - name: offset
          required: false
          in: query
          description: >-
            The starting index of the page, indicating the position from which
            the results should be retrieved.
          schema:
            default: 0
            example: 0
            type: number
        - name: locationId
          required: true
          in: query
          description: LocationId is the id of the sub-account
          schema:
            example: 3SwdhCu3svxI8AKsPJt6
            type: string
        - name: search
          required: false
          in: query
          description: The name of the product for searching.
          schema:
            example: Awesome product
            type: string
        - name: collectionIds
          required: false
          in: query
          description: Filter by product category Ids. Supports comma separated values
          schema:
            type: string
        - name: collectionSlug
          required: false
          in: query
          description: >-
            The slug value of the collection by which the collection would be
            searched
          schema:
            type: string
        - name: expand
          required: false
          in: query
          description: >-
            Name of an entity whose data has to be fetched along with product.
            Possible entities are tax, stripe and paypal. If not mentioned, only
            ID will be returned in case of taxes
          schema:
            type: array
            items:
              type: string
        - name: productIds
          required: false
          in: query
          description: List of product ids to be fetched.
          schema:
            type: array
            items:
              type: string
        - name: storeId
          required: false
          in: query
          description: fetch and project products based on the storeId
          schema:
            example: 3SwdhCu3svxI8AKsPJt6
            type: string
        - name: includedInStore
          required: false
          in: query
          description: >-
            Separate products by which are included in the store and which are
            not
          schema:
            example: true
            type: boolean
        - name: availableInStore
          required: false
          in: query
          description: If the product is included in the online store
          schema:
            example: true
            type: boolean
        - name: sortOrder
          required: false
          in: query
          description: The order of sort which should be applied for the date
          schema:
            example: desc
            enum:
              - asc
              - desc
            type: string
        - name: prioritizeAvailable
          required: false
          in: query
          description: >-
            When true, available products will be sorted before out-of-stock
            products
          schema:
            example: true
            type: boolean
        - name: projectMinimalFields
          required: false
          in: query
          description: >-
            When true, returns only minimal fields: _id, name, productType,
            createdAt, updatedAt, image
          schema:
            example: false
            type: boolean
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProductsResponseDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestDTO'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedDTO'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableDTO'
      security:
        - Location-Access: []
        - Agency-Access: []
components:
  schemas:
    ListProductsResponseDto:
      type: object
      properties:
        products:
          description: An array of products
          type: array
          items:
            $ref: '#/components/schemas/DefaultProductResponseDto'
        total:
          description: list products status
          type: array
          items:
            $ref: '#/components/schemas/ListProductsStats'
      required:
        - products
        - total
    BadRequestDTO:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        message:
          type: string
          example: Bad Request
      required:
        - statusCode
        - message
    UnauthorizedDTO:
      type: object
      properties:
        statusCode:
          type: number
          example: 401
        message:
          type: string
          example: 'Invalid token: access token is invalid'
        error:
          type: string
          example: Unauthorized
      required:
        - statusCode
        - message
        - error
    UnprocessableDTO:
      type: object
      properties:
        statusCode:
          type: number
          example: 422
        message:
          type: array
          items:
            type: string
          example:
            - Unprocessable Entity
        error:
          type: string
          example: Unprocessable Entity
      required:
        - statusCode
        - message
        - error
    DefaultProductResponseDto:
      type: object
      properties:
        _id:
          type: string
          description: The unique identifier for the product.
          example: 655b33a82209e60b6adb87a5
        description:
          type: string
          description: product description
          example: This is a really awesome product
        variants:
          description: An array of variants for the product.
          type: array
          items:
            $ref: '#/components/schemas/ProductVariantDto'
        locationId:
          type: string
          description: The unique identifier for the location.
          example: 3SwdhCsvxI8Au3KsPJt6
        name:
          type: string
          description: The name of the product.
          example: Awesome Product
        productType:
          type: string
          description: The type of the product (e.g., PHYSICAL).
          example: PHYSICAL
        availableInStore:
          type: boolean
          description: Indicates whether the product is available in-store.
          example: true
        createdAt:
          format: date-time
          type: string
          description: The creation timestamp of the product.
          example: '2023-11-20T10:23:36.515Z'
        updatedAt:
          format: date-time
          type: string
          description: The last update timestamp of the product.
          example: '2024-01-23T09:57:04.846Z'
        statementDescriptor:
          type: string
          description: The statement descriptor for the product.
          example: abcde
        image:
          type: string
          description: The URL for the product image.
          example: >-
            https://storage.googleapis.com/ghl-test/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png
        collectionIds:
          description: An array of category Ids for the product
          example:
            - 65d71377c326ea78e1c47df5
            - 65d71377c326ea78e1c47d34
          type: array
          items:
            type: string
        isTaxesEnabled:
          type: boolean
          description: >-
            The field indicates whether taxes are enabled for the product or
            not.
          example: true
          default: false
        taxes:
          description: >-
            An array of ids of Taxes attached to the Product. If the expand
            query includes tax, the taxes will be of type `ProductTaxDto`.
            Please refer to the `ProductTaxDto` for additional details.
          example:
            - 654492a4e6bef380114de15a
          type: array
          items:
            type: string
        automaticTaxCategoryId:
          type: string
          description: Tax category ID for Automatic taxes calculation.
          example: 65d71377c326ea78e1c47df5
        label:
          $ref: '#/components/schemas/ProductLabelDto'
        slug:
          type: string
          description: The slug of the product by which the product will be navigated
          example: washing-machine
      required:
        - _id
        - locationId
        - name
        - productType
        - createdAt
        - updatedAt
    ListProductsStats:
      type: object
      properties:
        total:
          type: number
          description: Total number of products
          example: 20
      required:
        - total
    ProductVariantDto:
      type: object
      properties:
        id:
          type: string
          description: A unique identifier for the variant.
          example: 38s63qmxfr4
        name:
          type: string
          description: The name of the variant.
          example: Size
        options:
          description: An array of options for the variant.
          type: array
          items:
            $ref: '#/components/schemas/ProductVariantOptionDto'
      required:
        - id
        - name
        - options
    ProductLabelDto:
      type: object
      properties:
        title:
          type: string
          description: The content for the product label.
          example: Featured
        startDate:
          type: string
          description: Start date in YYYY-MM-DDTHH:mm:ssZ format
          example: '2024-06-26T05:43:35.000Z'
        endDate:
          type: string
          description: Start date in YYYY-MM-DDTHH:mm:ssZ format
          example: '2024-06-30T05:43:39.000Z'
      required:
        - title
    ProductVariantOptionDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the option.
          example: h4z7u0im2q8
        name:
          type: string
          description: The name of the option.
          example: XL
      required:
        - id
        - name

````