# List All Wholesale Products

This API handles fetching wholesale and non-wholesale products.

{% tabs %}
{% tab title="Request" %}

| Method | Endpoint                       |
| ------ | ------------------------------ |
| GET    | /wp-json/wholesale/v1/products |

| Query Parameters            | Required | Type    | Description                                                                                                                       |
| --------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------- |
| wholesale\_role             | no       | string  | The wholesale role key.                                                                                                           |
| return\_wholesale\_products | no       | boolean | Return only products with wholesale price. This parameter is dependent on the `wholesale_role` parameter. Default value is false. |
| show\_categories            | no       | boolean | Whether show or hide wc `categories` property from the response. The prop is hidden by default using this api.                    |
| show\_meta\_data            | no       | boolean | Whether show or hide wc `meta_data` property from the response. The prop is hidden by default using this api.                     |
| {% endtab %}                |          |         |                                                                                                                                   |

{% tab title="Request Example" %}

#### Postman

List all products:

```javascript
GET: /wp-json/wholesale/v1/products
```

With wholesale role:

```
GET: /wp-json/wholesale/v1/products?wholesale_role=wholesale_customer
```

Return only wholesale products that belongs to a wholesale role

```
GET: /wp-json/wholesale/v1/products?wholesale_role=wholesale_customer&return_wholesale_products=true
```

{% endtab %}

{% tab title="Response Example" %}

#### Status: 200 OK

Lists all wholesale products that belongs to the specific wholesale role:

```
GET: /wp-json/wholesale/v1/products?wholesale_role=wholesale_customer&return_wholesale_products=true

Response:
[
    {
        "id": 4291,
        "name": "Premium Quality",
        "slug": "premium-quality",
        "permalink": "https://example.com/product/premium-quality/",
        "date_created": "2021-03-14T16:12:15",
        "date_created_gmt": "2021-03-14T16:12:15",
        "date_modified": "2021-03-14T16:13:46",
        "date_modified_gmt": "2021-03-14T16:13:46",
        "type": "simple",
        "status": "publish",
        "featured": false,
        "catalog_visibility": "visible",
        "description": "",
        "short_description": "",
        "sku": "",
        "price": "21.99",
        "regular_price": "21.99",
        "sale_price": "",
        "date_on_sale_from": null,
        "date_on_sale_from_gmt": null,
        "date_on_sale_to": null,
        "date_on_sale_to_gmt": null,
        "on_sale": false,
        "purchasable": true,
        "total_sales": 0,
        "virtual": false,
        "downloadable": false,
        "downloads": [],
        "download_limit": -1,
        "download_expiry": -1,
        "external_url": "",
        "button_text": "",
        "tax_status": "taxable",
        "tax_class": "",
        "manage_stock": false,
        "stock_quantity": null,
        "backorders": "no",
        "backorders_allowed": false,
        "backordered": false,
        "sold_individually": false,
        "weight": "",
        "dimensions": {
            "length": "",
            "width": "",
            "height": ""
        },
        "shipping_required": true,
        "shipping_taxable": true,
        "shipping_class": "",
        "shipping_class_id": 0,
        "reviews_allowed": true,
        "average_rating": "0.00",
        "rating_count": 0,
        "upsell_ids": [],
        "cross_sell_ids": [],
        "parent_id": 0,
        "purchase_note": "",
        "tags": [],
        "images": [],
        "attributes": [],
        "default_attributes": [],
        "variations": [],
        "grouped_products": [],
        "menu_order": 0,
        "price_html": "<span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;</span>21.99</bdi></span>",
        "related_ids": [
            4207,
            4276,
            4214,
            4221,
            4279
        ],
        "stock_status": "instock",
        "tax_amount": "2.20",
        "regular_display_price": "21.99",
        "sales_display_price": "21.99",
        "barcode": "",
        "wholesale_data": {
            "wholesale_price": {
                "wholesale_customer": "12"
            }
        }
    },
    [...more results]
]
```

#### Status: 400 Bad Request

The wholesale role key is invalid.

```
GET: /wp-json/wholesale/v1/products?wholesale_role=invalid_role

Response:
{
    "code": "wholesale_rest_product_cannot_view",
    "message": "Invalid wholesale role.",
    "data": {
        "status": 400
    }
}
```

{% endtab %}
{% endtabs %}

#### Note:

* The parameter `return_wholesale_products` is the equivalent of **Only Show Wholesale Products To Wholesale Customers** which is a feature in Premium.
