InventoryAssets

Get the Inventory Assets report

Read-only report. Returns one row per on-hand inventory asset — a product held at a location, and when the product is batch- or package-tracked, split further by batch or by package. Each row carries the asset's descriptive attributes (product, SKU, vendor, owner, unit type, category, subcategory, license, location, package number, batch number, expiration date, harvest date, tracking method), its active, assembling, and selling quantities, its unit price, and its actual and default unit and total costs.

Quantities and costs are a point-in-time snapshot. Omit datetime to report the position as of now, or pass a past datetime to reconstruct the position at that instant. A datetime earlier than the earliest supported snapshot (before 2023-08-03T11:00:00Z) is rejected — positions are only reconstructable from the instant the point-in-time inventory history begins. The snapshot counts only inventory that was in an active, selling, or assembling state at that instant; and it drops assets whose product was deleted or whose batch was deleted or whose package was inactivated as of the snapshot, so a deletion made after the snapshot instant still shows in a past-dated report. This is a computed position, not a live table — it does not create, reserve, consume, or otherwise change inventory, and it pushes nothing to Metrc or BioTrack.

Pass style=granular to expand each asset into the individual cost inputs that produced it: each asset's Final row is followed by one Input row per traced cost component. This mode adds the final_input, cost_origin, and cost_quantity columns, and requires permission to view cost details — the request is rejected without it. In the default collapsed style each asset is a single row and those three columns are absent.

The four cost columns (unit_cost_actual, unit_cost_default, total_cost_actual, total_cost_default) are present only for callers with permission to view costs; without it they are dropped from every row and from meta.columns. location_id narrows the report to a single location.

Every value is returned as it appears in the report's CSV export, with numeric cells returned as strings (currency and comma formatting stripped, matching the rest of the API) and enum cells (tracking_method) normalized to their SCREAMING_CASE tokens. Report-level information — the resolved snapshot date and the exact column set for this request — is returned under meta.

Required permission: reports_permissions_inventory_assets (granular style additionally requires permission to view cost details).

get/public/v1/reports/inventory-assets

Query parameters

style'collapsed' | 'granular'

Row granularity. collapsed (the default when omitted) returns one row per asset. granular follows each asset's Final row with one Input row per traced cost component and adds the final_input, cost_origin, and cost_quantity columns; it requires permission to view cost details and is rejected without it. Note these two values are lowercase, unlike the SCREAMING_CASE enums elsewhere in the API.

location_idstring

Narrow the report to a single location by its Distru location ID. Omit to include every location the caller's company can see.

datetimestring

Point-in-time snapshot as an ISO8601 UTC datetime. Defaults to now when omitted; the report then reconstructs on-hand quantities and costs as of this instant. A value earlier than the earliest supported snapshot (before 2023-08-03T11:00:00Z) is rejected.

Response

The Inventory Assets report

Changes

No recorded changes to this endpoint across all 1 revision of this API.