## Retrieves a paginated list of products.

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

Retrieves a paginated list of products.

### Query Parameters

- `page_size: optional string`

- `page_start: optional string`

- `product_number: optional array of string`

### Returns

- `page_number: number`

  Current page number (1-based).

- `page_size: number`

  Maximum number of records returned per page.

- `total_record_count: number`

  Total number of records matching the query across all pages.

- `records: optional array of ProductItem`

  Collection of records for the current page.

  - `barcode: string`

    Primary barcode for the product.

  - `carrier_item_quantity: number`

  - `edit_min_max_percentage: number`

  - `price_compare_multiplier: number`

  - `product_name: string`

    Display name of the product.

  - `product_number: string`

    Unique product number.

  - `shelf_label_quantity: number`

  - `allow_decimal: optional boolean`

  - `attention_code: optional string`

  - `average_weight: optional number`

  - `barcodes_array: optional string`

  - `base_unit_name: optional string`

  - `brand_code: optional string`

  - `brand_description: optional string`

  - `category_code: optional string`

  - `color: optional string`

  - `color_code: optional string`

  - `countries_allowed: optional array of string`

  - `countries_not_allowed: optional array of string`

  - `country_code: optional string`

  - `deprecation_date: optional string`

  - `expiration_min_range: optional number`

  - `free_fields: optional array of object { sort_order, key, value }`

    - `sort_order: number`

    - `key: optional string`

    - `value: optional string`

  - `general_ledger: optional string`

  - `image_url: optional string`

  - `is_active: optional boolean`

  - `is_counted: optional boolean`

  - `is_edit_min_max: optional boolean`

  - `is_edit_replenishment: optional boolean`

  - `is_expiration: optional boolean`

  - `is_order_manually: optional boolean`

  - `is_promotion: optional boolean`

  - `is_set: optional boolean`

  - `is_stock: optional boolean`

  - `is_store_product: optional boolean`

  - `is_template: optional boolean`

  - `margin_category: optional string`

  - `moq: optional number`

  - `old_price: optional number`

  - `price: optional number`

  - `price_compare_unit: optional string`

  - `price_lines: optional string`

  - `product_details: optional string`

  - `product_type: optional string`

  - `product_url: optional string`

  - `promo_stores_allowed: optional array of string`

  - `promo_stores_not_allowed: optional array of string`

  - `promotion: optional string`

  - `promotion_price: optional number`

  - `promotion_week: optional string`

  - `purchase_price: optional number`

  - `purchase_unit_barcode: optional string`

  - `purchase_unit_name: optional string`

  - `purchase_unit_product_number: optional string`

  - `purchase_unit_quantity: optional number`

  - `referral_product_id: optional string`

  - `reset_store_stock: optional boolean`

  - `set_product: optional array of object { set_item_quantity, set_product_number }`

    - `set_item_quantity: optional string`

    - `set_product_number: optional string`

  - `shelf_label: optional boolean`

  - `shelf_label_barcode: optional boolean`

  - `shelf_label_layout: optional number`

  - `shelf_label_price: optional boolean`

  - `size: optional string`

  - `size_code: optional string`

  - `smallest_product_number: optional string`

  - `smallest_quantity: optional number`

  - `special_price: optional number`

  - `stores_allowed: optional array of string`

  - `stores_not_allowed: optional array of string`

  - `supplier_id: optional string`

  - `supplier_name: optional string`

  - `supplier_product_number: optional string`

  - `units: optional array of object { unit_quantity, unit_barcode, unit_name }`

    - `unit_quantity: number`

    - `unit_barcode: optional string`

    - `unit_name: optional string`

  - `variant_code: optional string`

  - `variant_factor: optional number`

  - `variant_family: optional string`

  - `volume: optional string`

### Example

```http
curl https://api.colleqtive.net/api/v2/public/products \
    -H "Authorization: $COLLEQTIVE_BEARER_TOKEN"
```

#### 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"
    }
  ]
}
```
