APIProduct pos mapping

List product POS mappings

GET
/public/v1/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.

Authorization

Bearer
headerAuthorizationBearer <token>

API token generated in Distru (Settings → Distru API). Send it on every request as Authorization: Bearer YOUR_API_TOKEN.

Query Parameters

product_id?string

Return only mappings for this Distru product, given as its ID. Exact match. Cannot be combined with any retailer filter.

blaze_retailer_id?string

Return 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?string

Return 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?integer

Return 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?string

Filter 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?string

Filter 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.

Response Body

Success

*/*
  1. response
data*array<>

The matching POS mappings. Empty when your company has no mappings (or none match the filter).

next_page?string

URL for the next page of results; null when there is no next page

Example Request
curl -X GET 'https://app.distru.com/public/v1/product-pos-mappings'
Example Response
{  "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}