Package

Move packages

Move a list of packages to a destination location within a single license.

package_ids is a non-empty list of at most 300 package IDs; they must all resolve and all belong to the same license. All packages must be active and have a positive active quantity. location_id is the destination Distru location and must belong to that same license. Optionally pass metrc_location_id (Metrc's own location id) to also move the packages to a Metrc location.

Each package's on-hand inventory is relocated to location_id via an internal stock transfer (one per distinct source location), so the move is reflected in inventory ledgers at both the source and destination. Packages already stored in location_id are left untouched.

This operation is atomic: if any package or location is invalid the entire request is rejected and nothing is moved. The error message is a single human-readable string, not a per-package structured error.

Not supported for BioTrack licenses. For Metrc licenses, if metrc_location_id is passed, then Metrc is updated asynchronously: a successful response means the moves were applied in Distru and a pending Metrc activity was created for each package. The Metrc path additionally requires that your state has Metrc locations enabled and a Metrc key with permission to move packages.

Required permission: products_permissions_adjust_inventory.

post/public/v1/packages/move

Request body

location_idstring required

ID of the destination Distru location (the location.id string on a package). Must belong to the same license as every package in package_ids; the packages' on-hand inventory is relocated there.

metrc_location_idstring

Metrc's own numeric location id (a foreign Metrc identifier, not a Distru ID). Omit to move the packages only within Distru. When provided, the packages are also moved to this Metrc location; this path is Metrc-only (unavailable for BioTrack licenses) and requires that your state has Metrc locations enabled and a Metrc key with permission to move packages.

package_idsstring[] required

Non-empty list of 1 to 300 package IDs to move, each the id string returned by GET /public/v1/packages. All must resolve to packages in your company, all must belong to the same license, and each must be active with a positive active quantity. The move is all-or-nothing: one invalid id rejects the whole request.

Response

The moved packages

Changes

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