Get a product
distru-get-productReadGets one product with its pricing, costs, stock levels, potency, strain, brand, vendor and menus.
Inputs
Every tool also takes the common inputs.
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Resolve via distru-search-products. |
| includeImages | boolean | No | |
| includeTags | boolean | No | |
| includeActiveQuantitiesByLocation | boolean | No | Active quantity per location, in the product's unit type. |
| includeActiveQuantityCostItems | boolean | No | activeQuantityCostItems: the costs that make up activeQuantityCost, oldest first; null when none is recorded or the caller cannot view cost details. Costs carry over from inputs, so recordedOn can be an upstream package, batch, product, harvest, plant or plant batch rather than this product; MULTIPLE_PLANTS is a cost split over several plants or plant batches, NONE one tied to no inventory. quantity is the share that went into this product, out of costQuantity; both in unitType. totalCost is quantity × costPerUnit; both null when no cost per unit is recorded or the caller cannot see it. costType is null for purchase costs and costs Distru records itself; origin.purchaseOrder and origin.assembly are null when team restrictions hide them. |
| includeBillOfMaterials | boolean | No | What one unit of this product takes; null when none. inputs[].quantity is per unit of this product, in inputs[].unitType. An input is a fixed product or anyProductMatching: any product meeting every listed condition (any entry within a list; absent key sets no condition) whose unit type shares unitType's category (count, volume or weight), its quantity converted to unitType. unitType null only when the input's unit type was deleted; each matching product's quantity is then in its own unit type. costs[].quantity is the cost type's quantity per unit of this product. |
Output
Presence on a nested field assumes its parent exists.
| Field | Type | Presence |
|---|---|---|
| product | object | Null or absent |
| product. | string | Always |
| product. | object[] | Always |
| product. | object | Always |
| product. | string | Always |
| product. | string | Always |
| product. | enumCHECKBOXDATEDROPDOWNTEXT | Always |
| product. | string | Can be null |
| product. | string | Always |
| product. | string | Can be null |
| product. | string | Always |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | boolean | Always |
| product. | boolean | Always |
| product. | number | Can be null |
| product. | enumBATCHPACKAGEPRODUCT | Always |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | string | Always |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | enumMGPERCENT | Can be null |
| product. | string | Always |
| product. | string | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | string | Can be null |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | enumDO_NOT_INCLUDEINCLUDE_IN_ALLINCLUDE_IN_SELECT | Always |
| product. | object[] | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Always |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Null or absent |
| product. | string | Always |
| product. | string | Null or absent |
| product. | object | Null or absent |
| product. | string | Always |
| product. | string | Null or absent |
| product. | object | Can be null |
| product. | string | Always |
| product. | object | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object[] | Can be absent |
| product. | string | Always |
| product. | string | Always |
| product. | number | Always |
| product. | string | Always |
| product. | object[] | Can be absent |
| product. | string | Always |
| product. | string | Always |
| product. | object | Null or absent |
| product. | string | Always |
| product. | string | Can be null |
| product. | object[] | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | string | Can be null |
| product. | object | Can be null |
| product. | object[] | Can be absent |
| product. | string | Always |
| product. | string | Always |
| product. | object[] | Can be absent |
| product. | string | Always |
| product. | string | Always |
| product. | object[] | Can be absent |
| product. | string | Always |
| product. | string | Always |
| product. | object[] | Can be absent |
| product. | string | Always |
| product. | string | Always |
| product. | object[] | Can be absent |
| product. | string | Always |
| product. | string | Always |
| product. | object[] | Always |
| product. | object | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Can be null |
| product. | object[] | Can be absent |
| product. | object | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | object[] | Null or absent |
| product. | string | Always |
| product. | string | Can be null |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | object | Always |
| product. | enumASSEMBLYBIOTRACK_ADJUSTMENTBIOTRACK_MANIFEST_RECEIVEDBREAKDOWNCOST_ENTRYMETRC_ADJUSTMENTMETRC_TRANSFER_RECEIVEDOTHERPACKAGE_IMPORTPLANT_BATCH_PACKAGINGPURCHASE_ORDERSTOCK_ADJUSTMENT | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Can be null |
| product. | object | Always |
| product. | enumPACKAGEBATCHPRODUCTHARVESTPLANTPLANT_BATCHMULTIPLE_PLANTSNONE | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Always |
| product. | object | Can be null |
| product. | string | Can be null |
| product. | string | Can be null |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Can be null |
| product. | object | Can be null |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Always |
| product. | object | Always |
| product. | string | Always |
| product. | string | Always |
| product. | string | Can be null |
| product. | string | Can be null |
What the AI reads
Gets one product by ID with full detail: pricing, costs, inventory quantities and stock levels, potency, weights, classification, unit type, strain, brand, vendor, owner and menu placement. Images, tags, active quantity per location, the cost breakdown and the bill of materials are left out unless you pass includeImages, includeTags, includeActiveQuantitiesByLocation, includeActiveQuantityCostItems or includeBillOfMaterials. Use for a specific product after resolving its ID via distru-search-products; to browse or search products use distru-search-products. unitCost is the default cost per unit; activeQuantityCost is the total cost of the active quantity, not per unit, null when none is recorded or the caller cannot view costs. quantityActivePassedTesting is the part of the active quantity in packages whose lab test passed; null for batch- and product-tracked products. The cost breakdown is null for batch-tracked and package-tracked products; use distru-get-batch or distru-get-package for those. quantityAvailableThresholdMin/Max are the minimum and maximum stock levels, null when unset; an available quantity below the minimum is low inventory. unitNetWeight and unitServingSize are per unit, in unitNetWeightAndServingSizeUnitType. vendor is the company the product is purchased from. menus lists every menu the product is on; menuVisibility INCLUDE_IN_ALL can still be off some menus. quickbooksSalesItem / quickbooksPurchaseItem null = no QuickBooks item of its own: its lines sync through the company's default item. Null if no product matches the ID; a permission error if the caller can't view it.