---
title: "Get products"
method: GET
path: "/public/v1/products"
tags: ["Product"]
---

# Get products

`GET /public/v1/products`

Returns a paginated list of products, oldest first (ascending by creation
time). Soft-deleted products are excluded unless you opt into them with the
`deleted` filter. The response is a `{data, next_page}` envelope; follow
`next_page` (null on the last page) to walk every page.

This endpoint is eventually consistent: a create or update made through the
API can take up to about one second to appear or change here, so a product
you just wrote may briefly be missing or stale in the list.

Required permission: `products_permissions_view`. Results are additionally
limited to the products the authenticated user can see under their team
restrictions, so two API keys at the same company can return different sets.

## Query parameters

- `name` string
- `sku` string
- `upc` string
- `names` string[]
- `skus` string[]
- `upcs` string[]
- `menu_ids` string[]
- `menu_id` string
- `menu_name` string
- `inserted_datetime` string
- `deleted` 'no' | 'include' | 'only'
- `ids` string[]
- `category_ids` string[]
- `subcategory_ids` string[]
- `product_group_ids` string[]
- `brand_ids` string[]
- `strain_ids` string[]
- `tag_ids` string[]
- `vendor_ids` string[]
- `owner_ids` string[]
- `unit_type_ids` string[]
- `strain_types` string[]
- `leaflink_product_ids` integer[]
- `inventory_tracking_method` 'PACKAGE' | 'BATCH' | 'PRODUCT'
- `menu_visibility` 'DO_NOT_INCLUDE' | 'INCLUDE_IN_ALL' | 'INCLUDE_IN_SELECT'
- `is_active` boolean
- `is_featured` boolean
- `has_quantity_active` boolean
- `page` string
- `updated_datetime` string
- `include_bill_of_materials` boolean
- `include_packages_with_active_quantity_by_location` boolean
- `include_batches_with_active_quantity_by_location` boolean
- `custom_data` object

## Response `200`

A list of products

## Other responses

- `400` — Invalid parameters
- `401` — Missing or invalid API token
- `403` — The API token lacks the required permission

---

[API](https://skmtc.dev/distru/apis/distru-api.md) · [All operations](https://skmtc.dev/distru/apis/distru-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/distru/distru-api/revisions/f8930b2c2924/schema)
