## Retrieves a paginated list of products.

`ProductListProductsResponse Products.ListProducts(ProductListProductsParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v2/public/products`

Retrieves a paginated list of products.

### Parameters

- `ProductListProductsParams parameters`

  - `string pageSize`

  - `string pageStart`

  - `IReadOnlyList<string> productNumber`

### Returns

- `class ProductListProductsResponse:`

  Lightweight paginated result set.

  - `required Long PageNumber`

    Current page number (1-based).

  - `required Int PageSize`

    Maximum number of records returned per page.

  - `required Long TotalRecordCount`

    Total number of records matching the query across all pages.

  - `IReadOnlyList<ProductItem>? Records`

    Collection of records for the current page.

    - `required string Barcode`

      Primary barcode for the product.

    - `required Double CarrierItemQuantity`

    - `required Int EditMinMaxPercentage`

    - `required Double PriceCompareMultiplier`

    - `required string ProductName`

      Display name of the product.

    - `required string ProductNumber`

      Unique product number.

    - `required Int ShelfLabelQuantity`

    - `Boolean? AllowDecimal`

    - `string? AttentionCode`

    - `Double? AverageWeight`

    - `string? BarcodesArray`

    - `string? BaseUnitName`

    - `string? BrandCode`

    - `string? BrandDescription`

    - `string? CategoryCode`

    - `string? Color`

    - `string? ColorCode`

    - `IReadOnlyList<string>? CountriesAllowed`

    - `IReadOnlyList<string>? CountriesNotAllowed`

    - `string? CountryCode`

    - `DateTimeOffset? DeprecationDate`

    - `Int? ExpirationMinRange`

    - `IReadOnlyList<FreeField>? FreeFields`

      - `required Int SortOrder`

      - `string? Key`

      - `string? Value`

    - `string? GeneralLedger`

    - `string? ImageUrl`

    - `Boolean? IsActive`

    - `Boolean? IsCounted`

    - `Boolean? IsEditMinMax`

    - `Boolean? IsEditReplenishment`

    - `Boolean? IsExpiration`

    - `Boolean? IsOrderManually`

    - `Boolean? IsPromotion`

    - `Boolean? IsSet`

    - `Boolean? IsStock`

    - `Boolean? IsStoreProduct`

    - `Boolean? IsTemplate`

    - `string? MarginCategory`

    - `Double? Moq`

    - `Double? OldPrice`

    - `Double? Price`

    - `string? PriceCompareUnit`

    - `string? PriceLines`

    - `string? ProductDetails`

    - `string? ProductType`

    - `string? ProductUrl`

    - `IReadOnlyList<string>? PromoStoresAllowed`

    - `IReadOnlyList<string>? PromoStoresNotAllowed`

    - `string? Promotion`

    - `Double? PromotionPrice`

    - `string? PromotionWeek`

    - `Double? PurchasePrice`

    - `string? PurchaseUnitBarcode`

    - `string? PurchaseUnitName`

    - `string? PurchaseUnitProductNumber`

    - `Double? PurchaseUnitQuantity`

    - `string? ReferralProductID`

    - `Boolean? ResetStoreStock`

    - `IReadOnlyList<SetProduct>? SetProduct`

      - `string? SetItemQuantity`

      - `string? SetProductNumber`

    - `Boolean? ShelfLabel`

    - `Boolean? ShelfLabelBarcode`

    - `Int? ShelfLabelLayout`

    - `Boolean? ShelfLabelPrice`

    - `string? Size`

    - `string? SizeCode`

    - `string? SmallestProductNumber`

    - `Double? SmallestQuantity`

    - `Double? SpecialPrice`

    - `IReadOnlyList<string>? StoresAllowed`

    - `IReadOnlyList<string>? StoresNotAllowed`

    - `string? SupplierID`

    - `string? SupplierName`

    - `string? SupplierProductNumber`

    - `IReadOnlyList<Unit>? Units`

      - `required Double UnitQuantity`

      - `string? UnitBarcode`

      - `string? UnitName`

    - `string? VariantCode`

    - `Double? VariantFactor`

    - `string? VariantFamily`

    - `string? Volume`

### Example

```csharp
ProductListProductsParams parameters = new();

var response = await client.Products.ListProducts(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "page_number": 0,
  "page_size": 0,
  "total_record_count": 0,
  "records": [
    {
      "barcode": "barcode",
      "carrier_item_quantity": 0,
      "edit_min_max_percentage": 0,
      "price_compare_multiplier": 0,
      "product_name": "product_name",
      "product_number": "product_number",
      "shelf_label_quantity": 0,
      "allow_decimal": true,
      "attention_code": "attention_code",
      "average_weight": 0,
      "barcodes_array": "barcodes_array",
      "base_unit_name": "base_unit_name",
      "brand_code": "brand_code",
      "brand_description": "brand_description",
      "category_code": "category_code",
      "color": "color",
      "color_code": "color_code",
      "countries_allowed": [
        "string"
      ],
      "countries_not_allowed": [
        "string"
      ],
      "country_code": "country_code",
      "deprecation_date": "2019-12-27T18:11:19.117Z",
      "expiration_min_range": 0,
      "free_fields": [
        {
          "sort_order": 0,
          "key": "key",
          "value": "value"
        }
      ],
      "general_ledger": "general_ledger",
      "image_url": "image_url",
      "is_active": true,
      "is_counted": true,
      "is_edit_min_max": true,
      "is_edit_replenishment": true,
      "is_expiration": true,
      "is_order_manually": true,
      "is_promotion": true,
      "is_set": true,
      "is_stock": true,
      "is_store_product": true,
      "is_template": true,
      "margin_category": "margin_category",
      "moq": 0,
      "old_price": 0,
      "price": 0,
      "price_compare_unit": "price_compare_unit",
      "price_lines": "price_lines",
      "product_details": "product_details",
      "product_type": "product_type",
      "product_url": "product_url",
      "promo_stores_allowed": [
        "string"
      ],
      "promo_stores_not_allowed": [
        "string"
      ],
      "promotion": "promotion",
      "promotion_price": 0,
      "promotion_week": "promotion_week",
      "purchase_price": 0,
      "purchase_unit_barcode": "purchase_unit_barcode",
      "purchase_unit_name": "purchase_unit_name",
      "purchase_unit_product_number": "purchase_unit_product_number",
      "purchase_unit_quantity": 0,
      "referral_product_id": "referral_product_id",
      "reset_store_stock": true,
      "set_product": [
        {
          "set_item_quantity": "set_item_quantity",
          "set_product_number": "set_product_number"
        }
      ],
      "shelf_label": true,
      "shelf_label_barcode": true,
      "shelf_label_layout": 0,
      "shelf_label_price": true,
      "size": "size",
      "size_code": "size_code",
      "smallest_product_number": "smallest_product_number",
      "smallest_quantity": 0,
      "special_price": 0,
      "stores_allowed": [
        "string"
      ],
      "stores_not_allowed": [
        "string"
      ],
      "supplier_id": "supplier_id",
      "supplier_name": "supplier_name",
      "supplier_product_number": "supplier_product_number",
      "units": [
        {
          "unit_quantity": 0,
          "unit_barcode": "unit_barcode",
          "unit_name": "unit_name"
        }
      ],
      "variant_code": "variant_code",
      "variant_factor": 0,
      "variant_family": "variant_family",
      "volume": "volume"
    }
  ]
}
```
