Trace a package's chain of custody
Compliance reporting and buyer-facing provenance both come down to the same question: where did this package come from, and everywhere has it been? SeedLink's resources link together so you can walk that chain without provider-specific logic.
Start from the plant
GET /v1/connections/{connection_id}/facilities/{facility_id}/plants/{plant_id} gives you the plant's strain and growth phase. Every harvest references its source plants.
Follow the harvest
GET /v1/connections/{connection_id}/facilities/{facility_id}/harvests/{harvest_id} returns the harvest batch: plant count, harvest type, and date. Packages reference the harvest they were derived from.
Resolve the package
GET /v1/connections/{connection_id}/facilities/{facility_id}/packages/{package_id} gives you the package's current state: tag, item, quantity, and status (including whether it's on hold).
Check lab results
GET /v1/connections/{connection_id}/facilities/{facility_id}/lab_results filtered to the package's ID shows every test result: potency, pesticides, microbials. A failed result is usually why a package is on hold.
Follow transfers
GET /v1/connections/{connection_id}/facilities/{facility_id}/transfers shows manifests that moved the package between facilities, with origin, destination, and status (pending, in_transit, received).
Close the loop at sale
If the package reached a retail facility, GET /v1/connections/{connection_id}/facilities/{facility_id}/sales shows the transaction it was sold in.