# 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.

