{"title":"METRC remediation transfers in Rhode Island: the outgoing delivery’s ShipmentTypeName is the only sign a package is out, and the incoming transfer is the proof it came back","url":"https://www.seedlink.net/guides/metrc/remediation-transfers","json":"https://www.seedlink.net/guides/metrc/remediation-transfers/data.json","question":"How do I tell that a METRC package is out for remediation, and when it comes back?","answer":"Read the outgoing transfer’s deliveries and test ShipmentTypeName for Remediated Transfer, because every package-level and transfer-level remediation flag reads false while the package is away; then watch GET /transfers/v2/incoming for the same label, and GET /packages/v2/inactive for the case where it came home and was consumed before any list showed it.","environment":"Rhode Island production","observed":"2026-07-25","revised":"2026-09-20","published":"2026-09-20","facts":[{"id":"round_trip","value":"Flower transferred out to a remediation partner and transferred back about a day later, usually under a new package tag; the round trip is routine at that facility","observed":"2026-07-16","source":"Rhode Island production, one cultivator facility, live round trip in July 2026; the record dates the month, and 2026-07-16 is its one dated observation (the same-tag return)"},{"id":"shipment_type_name_signal","value":"ShipmentTypeName of Remediated Transfer on the outgoing transfer’s deliveries is the only reliable signal that a package is out for remediation","observed":"2026-07-16","source":"GET /transfers/v2/outgoing, then GET /transfers/v2/{id}/deliveries, Rhode Island production, one cultivator facility, July 2026 (day as in round_trip)"},{"id":"package_flags_false","value":"ProductRequiresRemediation, ContainsRemediatedProduct and IsOnHold all read false on the package while it sat on the remediation transfer","observed":"2026-07-16","source":"Package reads at the same facility during the trip, July 2026 (day as in round_trip)"},{"id":"onhold_empty","value":"GET /packages/v2/onhold returned an empty list while the package was out","observed":"2026-07-16","source":"GET /packages/v2/onhold at the same facility during the trip, July 2026 (day as in round_trip)"},{"id":"transfer_flags_false","value":"ContainsRemediatedProductPackage and ContainsProductRequiresRemediation read false on the outgoing transfer","observed":"2026-07-16","source":"GET /transfers/v2/outgoing at the same facility during the trip, July 2026 (day as in round_trip)"},{"id":"transferred_lags","value":"A just-dispatched package is absent from GET /packages/v2/transferred until the recipient accepts the manifest; GET /transfers/v2/outgoing lists the transfer immediately","observed":"2026-07-16","source":"GET /packages/v2/transferred and GET /transfers/v2/outgoing at the same facility after a dispatch, July 2026 (day as in round_trip)"},{"id":"transfer_types_by_intent","value":"Wholesale sales ship as Unaffiliated Transfer or Affiliated Transfer, lab samples as Lab Transfer, remediation as Remediated Transfer","observed":"2026-07-16","source":"GET /transfers/v2/types at Rhode Island production cultivator licenses, restated by the July 2026 remediation record (day as in round_trip)"},{"id":"new_tag_return_fields","value":"The returned package surfaces in GET /packages/v2/active with ReceivedFromFacilityName naming the facility it was shipped to and ReceivedFromManifestNumber set","observed":"2026-07-16","source":"GET /packages/v2/active at the same facility after a return, July 2026 (day as in round_trip)"},{"id":"retag_at_home_lineage","value":"One package re-tagged at home after its return: the new package’s SourcePackageLabels named the tag that had left (…754 became …757)","observed":"2026-07-16","source":"GET /packages/v2/active at the same facility, July 2026 (day as in round_trip)"},{"id":"same_tag_return_consumed","value":"Came home under the same tag at 11:28 UTC on 2026-07-16, was ground in full into a different product in a different category by 11:40 UTC, and was finished at 0 g between 2 hourly syncs; it never reappeared in GET /packages/v2/active, no same-strain flower child ever existed, and the record waiting for it sat for 6 days","observed":"2026-07-16","source":"Hourly sync records and package reads at the same facility, Rhode Island production"},{"id":"single_package_get_semantics","value":"GET /packages/v2/{label} answers HTTP 401 for a transferred-out package; HTTP 200 with a finished or zero-quantity package proves it came back and was consumed; HTTP 200 with a live quantity proves only a past return","observed":"2026-07-16","source":"Direct verification pass written after the same-tag return, same facility, Rhode Island production, July 2026 (day as in round_trip)"},{"id":"incoming_pairing_first_cultivator","value":"43 of 43 packages shipped on an outgoing Remediated Transfer reappeared by label on a later incoming transfer","observed":"2026-07-25","source":"GET /transfers/v2/incoming paired with GET /transfers/v2/outgoing by label, one Rhode Island production cultivator, read-only sweep"},{"id":"incoming_pairing_second_cultivator","value":"An incoming manifest carried exactly the 3 labels its outgoing leg had shipped","observed":"2026-07-25","source":"The same pairing at a second Rhode Island production cultivator, read-only sweep"},{"id":"incoming_manifest_names_package","value":"The incoming manifest received on 2026-07-16 at 11:28:31 UTC named the same-tag package directly","observed":"2026-07-25","source":"GET /transfers/v2/incoming at the first cultivator, read-only sweep"},{"id":"inactive_shows_finished_package","value":"That package is in GET /packages/v2/inactive with quantity 0, IsFinished true and FinishedDate 2026-07-16","observed":"2026-07-25","source":"GET /packages/v2/inactive at the first cultivator, read-only sweep"},{"id":"inactive_is_finished_count","value":"153 of the facility’s 169 inactive packages carry IsFinished","observed":"2026-07-25","source":"GET /packages/v2/inactive at the first cultivator, read-only sweep"},{"id":"intransit_exists","value":"GET /packages/v2/intransit exists on Rhode Island production and is the authoritative signal that a package is out again on a second trip; SeedLink does not read it yet","observed":"2026-07-25","source":"Read-only sweep of both Rhode Island production cultivators"},{"id":"sweep_size","value":"49 endpoints read in one read-only sweep","observed":"2026-07-25","source":"Rhode Island production, two cultivator facilities"}],"constants":[{"value":64,"why":"base64, the name of the encoding in the Authorization header example"}],"faq":[{"question":"Is there a package flag that says a package is out for remediation?","answer":"Not one that reads true. ProductRequiresRemediation, ContainsRemediatedProduct and IsOnHold all read false while the package sat on the transfer in July 2026, GET /packages/v2/onhold was empty, and the transfer-level ContainsRemediatedProductPackage and ContainsProductRequiresRemediation read false too. The outgoing delivery’s ShipmentTypeName of Remediated Transfer was the only signal."},{"question":"Can I use GET /packages/v2/transferred to see that a package has left?","answer":"Not for the departure. A just-dispatched package is absent from it until the recipient accepts the manifest. GET /transfers/v2/outgoing lists the transfer immediately; read departures there and treat /transferred as a later confirmation."},{"question":"Does a remediated package come back under the same tag?","answer":"Usually not. The routine observed in July 2026 is a return about a day later under a new tag, surfacing in GET /packages/v2/active with ReceivedFromFacilityName naming the facility it was shipped to and ReceivedFromManifestNumber set. A same-tag return keeps its label, and a package re-tagged at home names the old tag in SourcePackageLabels."},{"question":"How do I tell a remediation transfer from a sale without a list of partner facilities?","answer":"By the transfer type alone. A wholesale sale ships as Unaffiliated Transfer or Affiliated Transfer, a lab sample as Lab Transfer, and remediation as Remediated Transfer. Nothing about the destination needs to be known."},{"question":"What if the package came back and was used up before I looked?","answer":"Then it never reappears in GET /packages/v2/active. On 2026-07-16 one package came home at 11:28 UTC and was finished at 0 g by 11:40 UTC. Two reads answer it: GET /transfers/v2/incoming names the label on the return manifest, and GET /packages/v2/inactive lists the package with quantity 0, IsFinished true and its FinishedDate. A GET /packages/v2/{label} that answers HTTP 200 with a finished or zero-quantity package proves the same thing."},{"question":"What does HTTP 401 on GET /packages/v2/{label} mean during the trip?","answer":"A package that has been transferred out answers 401 on the single-package read, so 401 is the routine answer while it is away. It does not say why the package left; the outgoing delivery’s ShipmentTypeName does. A 200 with a live quantity proves only that the package came back at some point, not that it is home now."},{"question":"Is there an endpoint for a package that is out again on a second trip?","answer":"GET /packages/v2/intransit exists on Rhode Island production; the read-only sweep of 2026-07-25 found it. It is the authoritative signal that a package has left the facility again. SeedLink does not read it yet."}],"sources":["Live remediation round trip at one Rhode Island production cultivator, July 2026: GET /transfers/v2/outgoing and its deliveries, the package flags, GET /packages/v2/onhold and GET /packages/v2/transferred, read-only.","Same-tag return of 2026-07-16 at the same facility, reconstructed from hourly sync records and GET /packages/v2/{label}, Rhode Island production.","Read-only sweep of 49 endpoints at two Rhode Island production cultivators, 2026-07-25: GET /transfers/v2/incoming, GET /transfers/v2/outgoing, GET /packages/v2/inactive, GET /packages/v2/intransit.","SeedLink METRC field guide (docs/METRC.md), sections Remediation transfers and the Menu Hold, and Transfer types."],"citation":"SeedLink, \"METRC remediation transfers in Rhode Island: the outgoing delivery’s ShipmentTypeName is the only sign a package is out, and the incoming transfer is the proof it came back\", observed 2026-07-25, revised 2026-09-20, https://www.seedlink.net/guides/metrc/remediation-transfers","methodology":"https://www.seedlink.net/methodology","publisher":"SeedLink"}