List product POS mappings
List the links between your Distru products and their matching products in an external point-of-sale (POS) catalog — Blaze, Dutchie, or Treez. Each row is one product-to-POS-product link; a single Distru product can appear more than once when it is mapped in several POS systems or to several retailers.
Filtering:
• Pass no filter to return every POS mapping for your company, across all POS systems and retailers.
• product_id returns every mapping for one Distru product.
• blaze_retailer_id, dutchie_retailer_id, or treez_retailer_id returns every mapping for one connected retailer of that POS.
At most one of the id selectors (product_id, blaze_retailer_id, dutchie_retailer_id, treez_retailer_id) may be supplied per request — sending more than one returns 400. Each id selector is an exact match on the stored id, not a search. The inserted_datetime and updated_datetime ranges are separate and may be added on top of any (or no) id selector to narrow the result to a creation/last-updated window. The full matching set is returned in one response.
This endpoint returns eventually consistent data, with changes taking up to 1 second to propagate in responses.
Required permission: products_permissions_view.
BearerAuthorizationBearer <token>API token generated in Distru (Settings → Distru API). Send it on every request as Authorization: Bearer YOUR_API_TOKEN.
product_id?stringReturn only mappings for this Distru product, given as its ID. Exact match. Cannot be combined with any retailer filter.
blaze_retailer_id?stringReturn only Blaze mappings for this connected Blaze retailer, given as its Distru ID (the blaze_retailer_id seen on a mapping). Exact match. Cannot be combined with another filter.
dutchie_retailer_id?stringReturn only Dutchie mappings for this connected Dutchie retailer, given as its Distru ID (the dutchie_retailer_id seen on a mapping). Exact match. Cannot be combined with another filter.
treez_retailer_id?integerReturn only Treez mappings for this connected Treez retailer, given as its Distru retailer id (an integer). Exact match. Cannot be combined with another filter.
inserted_datetime?stringFilter to product POS mappings by their creation datetime, given as a comma-separated start,end pair of ISO8601 datetimes (inclusive). Either bound may be omitted for an open-ended range: 2022-07-10T00:00:00Z, matches on or after that instant, ,2022-07-10T00:00:00Z matches on or before it. May be combined with an id selector.
updated_datetime?stringFilter to product POS mappings by their last-updated datetime, given as a comma-separated start,end pair of ISO8601 datetimes (inclusive). Either bound may be omitted for an open-ended range. May be combined with an id selector.
Success
*/*- response
data*array<>The matching POS mappings. Empty when your company has no mappings (or none match the filter).
next_page?stringURL for the next page of results; null when there is no next page
curl -X GET 'https://app.distru.com/public/v1/product-pos-mappings'{ "data": [ { "blaze_asset_id": null, "blaze_product_id": "blaze_123", "blaze_retailer_id": "a335d345-ae77-43e1-b110-8d9a2d9856bf", "id": "00000000-0000-0000-0000-00000000078f", "inserted_datetime": "2026-11-05T11:16:50.787439Z", "pos_type": "BLAZE", "product_id": "12d5bedf-2a7f-48ae-be52-35b06e4a0dd7", "updated_datetime": "2026-11-05T11:16:50.787439Z" }, { "dutchie_product_id": 456, "dutchie_retailer_id": "90bbeebc-e6b9-4c86-8eb8-23759baa279d", "id": "00000000-0000-0000-0000-000000000790", "inserted_datetime": "2026-11-05T11:16:50.799886Z", "pos_type": "DUTCHIE", "product_id": "fce898b5-0f21-4a10-94b9-42115797df97", "updated_datetime": "2026-11-05T11:16:50.799886Z" } ], "next_page": null}