---
title: "Get Metrc packages"
method: GET
path: "/public/v1/metrc/packages"
tags: ["Metrc"]
---

# Get Metrc packages

`GET /public/v1/metrc/packages`

## Request

- Base URL: `https://app.distru.com`
- URL: `https://app.distru.com/public/v1/metrc/packages`
- Auth: HTTP bearer

Get the Metrc packages Distru caches from Metrc across your licenses, filtered by various attributes. Results are ordered by Metrc's package id ascending and scoped to the company that owns the API key. Only the current version of each package is returned.

Each row mirrors a package as it exists in Metrc — label, quantity, item, location, testing and remediation state — plus what Distru knows around it: a derived `status` that reflects the package's real state (Metrc's raw active/inactive buckets don't), the company `unit_type` matching the package's Metrc unit of measure, the full cached Metrc `item`, and `package`, the Distru [package](#model-packagecompact) created when this Metrc package was imported (null when it hasn't been imported). Use `is_importable=true` to list exactly the packages you could import or receive into Distru.

This is a read-only cache: it does not create, move, or adjust packages in Metrc. Data is eventually consistent — changes synced from Metrc can take up to ~1 second to appear here.

## Query parameters

- `license_id` string
- `license_number` string
- `label` string
- `search` string
- `statuses` string[]
- `is_importable` boolean
- `category_names` string[]
- `item_names` string[]
- `strain_names` string[]
- `ids` integer[]
- `fetched_datetime` string
- `page` string

## Response `200`

A list of Metrc packages

- MetrcPackages: A collection of Metrc packages. Note: This endpoint returns eventually consistent data, with changes taking up to 1 second to propagate in responses.
  - `data` MetrcPackage[]: Metrc Packages
    - `archived_date` string: The date the package was discontinued in Metrc (`YYYY-MM-DD`), or null when not discontinued
    - `contains_remediated_product` boolean: True when the package contains remediated product. Null when Metrc reports nothing.
    - `expiration_date` string: The package's expiration date (`YYYY-MM-DD`), or null when Metrc reports none
    - `fetched_datetime` string, required: The datetime Distru last fetched this package from Metrc
    - `finished_date` string: The date the package was finished in Metrc (`YYYY-MM-DD`), or null while unfinished
    - `id` integer, required: The package's identifier in Metrc — Metrc's own integer id, not a Distru ID.
    - `is_finished_good` boolean: True when the package is flagged as a finished good in Metrc. Null when Metrc reports nothing.
    - `is_production_batch` boolean: True when the package is a production batch. Null when Metrc reports nothing.
    - `is_testing_sample` boolean: True when the package is a lab test sample. Null when Metrc reports nothing.
    - `is_trade_sample` boolean: True when the package is a trade sample. Null when Metrc reports nothing.
    - `item` MetrcItem: A Metrc item: an item definition synced from Metrc, scoped to one of your licenses.
      - `category_name` string, required: The Metrc product category name
      - `category_type` string, required: The Metrc product category type
      - `fetched_datetime` string, required: The datetime Distru last fetched this item from Metrc
      - `id` integer, required: The item's identifier in Metrc — Metrc's own integer id, not a Distru ID.
      - `inserted_datetime` string, required: ISO 8601 datetime this item was created in Metrc
      - `is_deleted` boolean, required: True when the item has been deleted in Metrc.
      - `license` License, required: A cannabis license held by a company or tied to a location, identifying it to the state and its compliance system.
        - `active` boolean, required: Whether this license is currently active
        - `expiry_datetime` string, required: ISO 8601 datetime this license expires (e.g. "2026-08-20T00:00:00Z")
        - `id` string, required: ID for this license
        - `inserted_datetime` string, required: ISO 8601 datetime this license was created at
        - `issue_datetime` string: ISO 8601 datetime this license was issued, or null when not set
        - `license_number` string, required: License number
        - `license_type` string, required: The license type as configured in Distru. A state-specific free-form value, e.g. "Distributor" or "Type 11 Distributor-Transport"
      - `name` string, required: The item name as reported by Metrc
      - `quantity_type` 'COUNT_BASED' | 'VOLUME_BASED' | 'WEIGHT_BASED', required: How the item's quantity is measured
      - `strain` MetrcItemStrain: The Metrc strain an item is defined for.
        - `id` integer, required: The strain's identifier in Metrc — Metrc's own integer id, the same `id` returned by the Metrc strains endpoint.
        - `name` string, required: The strain name as reported by Metrc
      - `unit_type` UnitType, required: A unit of measure used for quantities and pricing (e.g. Gram, Each, Pound). This is the compact reference carrying just id and name; the full unit type (its measurement category and conversion factor) is available from the unit types endpoint.
        - `id` string, required: ID for this unit type
        - `name` string, required: Human readable name for this unit type
      - `updated_datetime` string, required: ISO 8601 datetime this item was last modified in Metrc
    - `lab_testing_state` string: The package's lab testing state as reported by Metrc (e.g. "NotSubmitted", "SubmittedForTesting", "TestPassed"), or null when none is reported
    - `lab_testing_state_date` string: The date the lab testing state last changed (`YYYY-MM-DD`), or null when Metrc reports none
    - `label` string: The package's full 24-character Metrc tag label, or null when Metrc reports none
    - `license` License: A cannabis license held by a company or tied to a location, identifying it to the state and its compliance system.
      - `active` boolean, required: Whether this license is currently active
      - `expiry_datetime` string, required: ISO 8601 datetime this license expires (e.g. "2026-08-20T00:00:00Z")
      - `id` string, required: ID for this license
      - `inserted_datetime` string, required: ISO 8601 datetime this license was created at
      - `issue_datetime` string: ISO 8601 datetime this license was issued, or null when not set
      - `license_number` string, required: License number
      - `license_type` string, required: The license type as configured in Distru. A state-specific free-form value, e.g. "Distributor" or "Type 11 Distributor-Transport"
    - `location` MetrcPackageLocation: The Metrc location holding a package.
      - `id` integer: The location's identifier in Metrc — Metrc's own integer id, the same `id` returned by [GET /public/v1/metrc/locations](#get-metrc-locations). Null when Metrc reports only a name.
      - `name` string: The location name as reported by Metrc, or null when Metrc reports none
    - `note` string: The free-text note on the package in Metrc, or null when there is none
    - `package` PackageCompact: A compact reference to a Distru package — the id plus the fields needed to recognize it. The full package (costs, product, custom fields, ...) is available from [GET /public/v1/packages](#get-packages), filtered by `ids`.
      - `batch_number` string: The batch number of the package's batch, or null when it has none
      - `compliance_label` string: The compliance tag on the package (its Metrc label), or null when not compliance-tracked
      - `distru_status` string, required: The package's status in Distru (e.g. `ACTIVE`, `SELLING`, `SOLD`, `FINISHED`) — the same values as the packages endpoint's `distru_statuses` filter
      - `id` string, required: The package ID, usable with the packages endpoints
      - `license_id` string: The ID of the license the package belongs to, or null when it has none
      - `location_id` string: The ID of the location holding the package, or null when it has none
      - `metrc_id` integer: The Metrc package id this Distru package mirrors — Metrc's own integer id. Null when not Metrc-tracked.
      - `quantity` string, required: The package's total quantity in Distru
      - `quantity_active` string, required: The portion of `quantity` not reserved by sales orders or assemblies
    - `packaged_date` string: The date the package was created in Metrc (`YYYY-MM-DD`), or null when Metrc reports none
    - `product_requires_remediation` boolean: True when the product requires remediation. Null when Metrc reports nothing.
    - `production_batch_number` string: The production batch number, or null when the package has none
    - `quantity` string: The package's current quantity as reported by Metrc, rendered as a decimal string (e.g. "12.5"), or null when Metrc reports none
    - `received_datetime` string: ISO 8601 datetime the package was received on an incoming transfer, or null when it wasn't received on a transfer
    - `received_from_facility_license_number` string: The license number of the facility that shipped this package to you, or null when it wasn't received on a transfer
    - `received_from_facility_name` string: The name of the facility that shipped this package to you, or null when it wasn't received on a transfer
    - `received_from_manifest_number` string: The manifest number of the incoming transfer that delivered this package, or null when it wasn't received on a transfer
    - `remediation_date` string: The date the product was remediated (`YYYY-MM-DD`), or null when it wasn't
    - `source_harvest_names` string: The comma-separated Metrc harvest names this package traces back to, or null when it has no source harvests
    - `source_package_labels` string: The comma-separated Metrc tag labels of the packages this one was created from, or null when it has no source packages
    - `status` 'ACTIVE' | 'DISCONTINUED' | 'FINISHED' | 'ONHOLD' | 'TRANSFERRED', required: The package's derived state: • `ACTIVE` — live at the facility • `ONHOLD` — on administrative hold in Metrc • `TRANSFERRED` — shipped away on a transfer • `FINISHED` — zeroed out and finished • `DISCONTINUED` — discontinued in Metrc The `statuses` filter accepts the same values.
    - `transferred_datetime` string: ISO 8601 datetime Distru observed the package leave on an outgoing transfer, or null while it hasn't been transferred away
    - `unit_type` UnitType: A unit of measure used for quantities and pricing (e.g. Gram, Each, Pound). This is the compact reference carrying just id and name; the full unit type (its measurement category and conversion factor) is available from the unit types endpoint.
      - `id` string, required: ID for this unit type
      - `name` string, required: Human readable name for this unit type
    - `updated_datetime` string: ISO 8601 datetime this package was last modified in Metrc, or null when Metrc reports none
  - `next_page` string: URL for the next page of results; null when there is no next page

## Other responses

- `400`: Invalid parameters
- `401`: Missing or invalid API token
- `403`: The API token lacks the required permission, or team restrictions hide the record

## Changes

- **2026-09-04** `f8930b2c2924`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/distru/apis/distru-api/changes/public/v1/metrc/packages/get.md)

---

[API](https://skmtc.dev/distru/apis/distru-api.md) - [All operations](https://skmtc.dev/distru/apis/distru-api/llms.txt) - [OpenAPI document](https://skmtc.dev/distru/apis/distru-api/revisions/9d851a88e82f?raw)
