## Retrieves a paginated list of product lists for a specific store, optionally including line items.

`ProductListListProductListsResponse ProductLists.ListProductLists(ProductListListProductListsParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v2/public/stores/{store_number}/productlists`

Retrieves a paginated list of product lists for a specific store, optionally including line items.

### Parameters

- `ProductListListProductListsParams parameters`

  - `required string storeNumber`

    The store number.

  - `DateTimeOffset lastUpdatedOn`

    Filter product lists modified on or after this date.

  - `string name`

    Optional product list name filter.

  - `Long productListID`

    Optional product list identifier to filter by.

  - `Boolean showLines`

    When true, includes the line items for each product list.

  - `Int type`

    Optional product list type filter.

### Returns

- `class ProductListListProductListsResponse:`

  Generic paginated response wrapper.

  - `required Int PageSize`

    Maximum number of items returned per page.

  - `required Int PageStart`

    Current page number (1-based).

  - `required Long TotalCount`

    Total number of records matching the query across all pages.

  - `IReadOnlyList<List>? List`

    Collection of items for the current page.

    - `required Long ID`

      Unique identifier of the product list.

    - `required Int LineCount`

      Number of line items on the product list.

    - `required Int Type`

      Numeric product list type identifier.

    - `string? AppUsername`

      Name of the app user associated with the product list. Separate from the audit `created_by` / `modified_by` fields; this is the in-store app user the list belongs to.

    - `IReadOnlyList<FreeField>? FreeFields`

      Custom free-field key/value pairs associated with the product list.

      - `string? Key`

        Free-field key.

      - `string? Value`

        Free-field value.

    - `IReadOnlyList<Line>? Lines`

      Line items belonging to the product list. Only populated when `show_lines=true` is passed on the request.

      - `required Double Quantity`

        Quantity on the line.

      - `string? Barcode`

        The product barcode.

      - `string? CategoryCode`

        Category code of the product.

      - `Double? Colli`

        Number of items per colli (case pack).

      - `Boolean? IsDecimal`

        Whether decimal quantities are allowed for the product.

      - `string? ParentCategoryCode`

        Parent category code of the product.

      - `string? ProductName`

        Display name of the product.

      - `string? ProductNumber`

        The product number.

      - `string? StockPool`

        Stock pool the line targets.

      - `Int? StoreWalkingOrder`

        Order in which the product appears in the store walking sequence.

    - `DateTimeOffset? ModifiedOn`

      Date and time the product list was last modified.

    - `string? Name`

      Name of the product list.

    - `string? TypeDescription`

      Human-readable description of the product list type.

  - `IReadOnlyDictionary<string, JsonElement>? ListBody`

    Additional body-level metadata for the list.

  - `IReadOnlyDictionary<string, IReadOnlyList<string>>? ListFilters`

    Active filter criteria applied to the result set, keyed by field name.

  - `Int? NextPage`

    Next page number, or null when on the last page.

  - `Long? PreviousPage`

    Previous page number, or null when on the first page.

  - `string? ProjectLastModifiedDate`

    Last modified date/time of the project.

  - `string? ScrollID`

    Opaque scroll identifier for deep-pagination scenarios.

  - `string? ServerTime`

    Server UTC date/time when the response was generated.

  - `string? SortColumn`

    Column name the results are sorted by.

  - `string? SortOrder`

    Sort direction (asc or desc).

  - `string? TaskLastModifiedDate`

    Last modified date/time of the task.

### Example

```csharp
ProductListListProductListsParams parameters = new()
{
    StoreNumber = "store_number"
};

var response = await client.ProductLists.ListProductLists(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "page_size": 0,
  "page_start": 0,
  "total_count": 0,
  "list": [
    {
      "id": 0,
      "line_count": 0,
      "type": 0,
      "app_username": "app_username",
      "free_fields": [
        {
          "key": "key",
          "value": "value"
        }
      ],
      "lines": [
        {
          "quantity": 0,
          "barcode": "barcode",
          "category_code": "category_code",
          "colli": 0,
          "is_decimal": true,
          "parent_category_code": "parent_category_code",
          "product_name": "product_name",
          "product_number": "product_number",
          "stock_pool": "stock_pool",
          "store_walking_order": 0
        }
      ],
      "modified_on": "2019-12-27T18:11:19.117Z",
      "name": "name",
      "type_description": "type_description"
    }
  ],
  "list_body": {
    "foo": "bar"
  },
  "list_filters": {
    "foo": [
      "string"
    ]
  },
  "next_page": 0,
  "previous_page": 0,
  "project_last_modified_date": "project_last_modified_date",
  "scroll_id": "scroll_id",
  "server_time": "server_time",
  "sort_column": "sort_column",
  "sort_order": "sort_order",
  "task_last_modified_date": "task_last_modified_date"
}
```
