> ## Documentation Index
> Fetch the complete documentation index at: https://www.commercengine.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List all products

> list all products



## OpenAPI

````yaml https://openapi.commercengine.io/ce-admin.json get /catalog/products
openapi: 3.1.0
info:
  title: CE Admin APIs
  version: '1.0'
  summary: Comprehensive admin interface for managing your e-commerce platform
  description: >-
    Complete administrative API suite for Commerce Engine, providing powerful
    tools to manage products, orders, customers, inventory, analytics, and
    system configuration. Designed for administrators and backend integrations
    requiring full platform control.
  license:
    name: All Rights Reserved
    url: https://www.commercengine.io/contact-us
  contact:
    email: support@commercengine.io
    url: https://www.commercengine.io/contact-us
    name: Support
servers:
  - url: https://staging.api.commercengine.io/api/v1/{store_id}/admin
    description: Staging Server
    variables:
      store_id:
        default: store_id
        description: Store ID
  - url: https://prod.api.commercengine.io/api/v1/{store_id}/admin
    description: Prod Server
    variables:
      store_id:
        default: store_id
        description: Store ID
security:
  - Authorization: []
tags:
  - name: Analytics
    description: Analytics
  - name: Catalog
    description: Catalog
  - name: Coupons & promotions
    description: Coupons & promotions
  - name: Customers
    description: Customers
  - name: Filter Options
    description: Filter Options
  - name: Inventories
    description: Inventories
  - name: Marketplace
    description: Marketplace
  - name: Marketplace Catalog
    description: Marketplace Catalog
  - name: Media Gallery
    description: Media Gallery
  - name: Metrics
    description: Metrics
  - name: Orders
    description: Orders
  - name: Payments
    description: Payments
  - name: Payouts
    description: Payouts
  - name: POS
    description: POS
  - name: POSAdmin
    description: Admin endpoints to be used as proxy in pos
  - name: Segments
    description: Segments
  - name: Shipping
    description: Shipping
  - name: SSE
    description: SSE
  - name: Store
    description: Store
  - name: Webhooks
    description: Webhooks
paths:
  /catalog/products:
    parameters: []
    get:
      tags:
        - Catalog
      summary: List all products
      description: list all products
      operationId: list-products
      parameters:
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageLimit'
        - $ref: '#/components/parameters/sortByOptions'
        - $ref: '#/components/parameters/searchKeyword'
        - $ref: '#/components/parameters/columnBasedFilters'
        - name: active
          in: query
          description: active flag
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  success:
                    type: boolean
                  content:
                    properties:
                      products:
                        type: array
                        items:
                          $ref: '#/components/schemas/Product'
                      pagination:
                        $ref: '#/components/schemas/Pagination'
                    type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
        - Authorization: []
components:
  parameters:
    pageNumber:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 1
        minimum: 1
      description: page number of pagination list
    pageLimit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        default: 25
        minimum: 1
      description: no of rows per page
    sortByOptions:
      name: sort_by
      in: query
      required: false
      schema:
        description: >-
          json string in format {'field_name':'asc', 'other_field_name':'desc',
          ...}
        type: string
      description: 'JSON string format: {"field1":"asc", "field2":"desc"}'
    searchKeyword:
      name: search
      in: query
      required: false
      schema:
        type: string
      description: search keyword
    columnBasedFilters:
      name: filters
      in: query
      required: false
      schema:
        type: string
        example: >-
          {"condition":"AND","filters":[{"type":"data","field":"status","operator":"equals","value":"success"}]}
      description: JSON object
  schemas:
    Product:
      title: Product
      type: object
      required:
        - reviews_rating_sum
        - reviews_count
        - is_featured
        - on_offer
        - on_promotion
        - on_subscription
        - has_variant
        - sku
      properties:
        id:
          description: product id
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 128
        status:
          $ref: '#/components/schemas/ProductStatus'
          description: >-
            This field is relevant for b2b and b2c type stores only and it will
            be returned only for b2b and b2c type stores. It is computed based
            on the status of the variants if product has variants otherwise it
            is computed based on the active channels associated with the
            product.
          readOnly: true
        active:
          description: >-
            This field is relevant for b2b and b2c type stores only and it will
            be returned only for b2b and b2c type stores.
          type: boolean
          readOnly: true
        publication_status:
          $ref: '#/components/schemas/MarketplacePublicationStatus'
          description: >-
            This field is relevant for marketplace type stores only and it will
            be returned only for marketplace type stores.
          readOnly: true
        stock_available:
          type: boolean
        short_description:
          type:
            - string
            - 'null'
          maxLength: 256
        metadata:
          type:
            - object
            - 'null'
          additionalProperties:
            type: string
        tags:
          type: array
          items:
            type: string
        product_type:
          enum:
            - physical
            - digital
            - bundle
        hsn_code:
          type:
            - string
            - 'null'
        categories:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
                readOnly: true
              active:
                type: boolean
                readOnly: true
        sales_channels:
          type: array
          items:
            $ref: '#/components/schemas/SalesChannel'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/ProductAttribute'
        variant_options:
          type: array
          items:
            $ref: '#/components/schemas/VariantOption'
        reviews_rating_sum:
          type: integer
          format: int32
          readOnly: true
        reviews_count:
          type: integer
          format: int32
          readOnly: true
        is_featured:
          type: boolean
        on_offer:
          type: boolean
        on_promotion:
          type: boolean
        on_subscription:
          type: boolean
        has_variant:
          type: boolean
        variant_count:
          type: integer
          readOnly: true
        modified_at:
          type: string
          format: date-time
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        sku:
          type: string
          maxLength: 64
        images:
          type: array
          items:
            $ref: '#/components/schemas/ProductImage'
        seller_id:
          description: >-
            Seller ID. This field is relevant for marketplace type stores only.
            Will return null for b2b and b2c type stores.
          type:
            - string
            - 'null'
        seller_detail:
          description: >-
            Seller detail information. This field is relevant for marketplace
            type stores only. Will return null for b2b and b2c type stores.
          oneOf:
            - $ref: '#/components/schemas/SellerInfo'
            - type: 'null'
      x-tags:
        - Catalog
    Pagination:
      title: Pagination
      description: pagination metadata structure
      type: object
      properties:
        total_records:
          type: integer
        total_pages:
          type: integer
        previous_page:
          description: Previous page number
          type:
            - integer
            - 'null'
        limit:
          type: integer
          default: 25
        next_page:
          description: Next page number
          type:
            - integer
            - 'null'
    ProductStatus:
      enum:
        - draft
        - active
        - inactive
    MarketplacePublicationStatus:
      description: Marketplace publication status
      type: string
      enum:
        - published
        - unpublished
    SalesChannel:
      title: SalesChannel
      type: object
      required:
        - id
        - name
        - kind
        - active
      properties:
        id:
          type: string
        name:
          type: string
          readOnly: true
        kind:
          type: string
          enum:
            - storefront
            - marketplace
        active:
          type: boolean
          readOnly: true
    ProductAttribute:
      title: ProductAttribute
      type: object
      properties:
        attribute_id:
          type: string
        attribute_name:
          type: string
          readOnly: true
        attribute_type:
          type: string
          enum:
            - text
            - number
            - boolean
            - date
            - single-select
            - multi-select
            - color
          readOnly: true
        attribute_value:
          oneOf:
            - type: string
              description: >-
                string value for attribute type **text**, **single select** and
                **date**.
            - type: number
              description: numeric value for attribute type number.
            - type: boolean
              description: true/false for attribute type boolean.
            - type: array
              description: for attribute type = multi-select
              items:
                type: string
            - $ref: '#/components/schemas/ColorObject'
              description: for attribute type = color
        key:
          description: Value in snake case.
          type: string
          readOnly: true
      examples: []
      x-tags:
        - Catalog
    VariantOption:
      title: VariantOption
      type: object
      properties:
        attribute_id:
          type: string
        attribute_value:
          description: >-
            The attribute value can be represented as an array of strings for
            single-select attribute types. For color attribute types, the value
            will be represented as a color object, which contains color details
            with name and hexcode.
          type: array
          items:
            oneOf:
              - type: string
              - $ref: '#/components/schemas/ColorObject'
        attribute_name:
          type: string
        attribute_type:
          enum:
            - single-select
            - color
        key:
          description: value in snake case.
          type: string
    ProductImage:
      title: ProductImage
      type: object
      properties:
        title:
          type:
            - string
            - 'null'
          maxLength: 128
        alternate_text:
          type:
            - string
            - 'null'
          maxLength: 128
        sort_order:
          type: integer
          format: int32
        url_tiny:
          type: string
          maxLength: 512
        url_thumbnail:
          type: string
          maxLength: 512
        url_standard:
          type: string
          maxLength: 512
        url_zoom:
          type: string
          maxLength: 512
        file_id:
          type: string
        file_type:
          enum:
            - image
      x-tags:
        - Catalog
    SellerInfo:
      title: SellerInfo
      type: object
      properties:
        id:
          type: string
        trade_name:
          type: string
        legal_name:
          type: string
        business_type:
          $ref: '#/components/schemas/SellerBusinessType'
        tax_identification_number:
          type: string
        status:
          $ref: '#/components/schemas/SellerAccountStatus'
        kyc_status:
          $ref: '#/components/schemas/SellerKycStatus'
        visibility:
          description: >-
            Visibility of the products of the seller. public: products are
            visible to all users, private: products are visible to only
            authenticated users.
          type: string
          enum:
            - public
            - private
        logo:
          type:
            - string
            - 'null'
    ColorObject:
      title: ColorObject
      type: object
      required:
        - name
        - hexcode
      properties:
        name:
          type: string
        hexcode:
          type: string
    SellerBusinessType:
      title: SellerBusinessType
      type: string
      enum:
        - sole_proprietorship
        - private_limited
        - public_listed
        - public_limited
        - state_owned
        - charity
        - individual
    SellerAccountStatus:
      title: SellerAccountStatus
      type: string
      enum:
        - pending_approval
        - approved
        - rejected
    SellerKycStatus:
      title: SellerKycStatus
      type: string
      enum:
        - document_pending
        - document_submitted
        - approved
        - rejected
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              success:
                type: boolean
              code:
                type: string
              error:
                type: object
                properties:
                  fieldname:
                    type: array
                    items:
                      type: string
    Unauthorized:
      description: Not authorized for given operation on the Resource
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Not authorized for given operation on the Resource.
              success:
                type: boolean
                default: false
              code:
                type: string
                example: unauthorized
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````