Field guide for cannabis seed-to-sale tracking
A single-page reference for the entire Metrc Web API — every endpoint organized by license type, every method labeled, every required permission listed. Built for integrators who want to find the right call in under fifteen seconds.
Combine your integrator API key (username) and user API key (password) with a colon, base64-encode, then send via the Authorization header using HTTP Basic.
Basic base64(integrator:user)
GET reads. POST creates. PUT performs idempotent updates. DELETE discontinues. Object body limit per request: 10. Larger payloads return 413.
GET POST PUT DELETE
All date and date/time fields use YYYY-MM-DD or full ISO 8601. URL-encode the plus sign in time-zone offsets as %2B or your filter is silently misread.
2026-05-04T08:00:00%2B02:00
Per-facility rate limits return 429 with Retry-After. v2 list endpoints support pageNumber and pageSize (max 20). Receive IDs in the order you POSTed objects.
?pageNumber=1&pageSize=20
Tracks the cannabis plant from seed or clone through vegetative growth, flowering, and harvest. Manages plant batches, individual plants, growth phases, harvests, waste, additives, and strains for the licensed cultivation facility.
Transforms harvested material into finished goods. Defines product items and brands, runs processing jobs, creates derived packages, and reports adjustments throughout production for an infused-products or manufacturing facility.
Sells finished product to consumers, patients, and caregivers. Records sales receipts, deliveries, patient check-ins, caregiver lookups, and retail ID staging for a licensed dispensary or retail facility.
Submits lab test results for packages, manages testing types and batches, releases or discards results, and uploads test documents on behalf of the regulator for a licensed testing facility.
Moves packages between facilities. Manages outgoing, incoming, hub, and rejected transfers, deliveries, transporter wayfinding, drivers, vehicles, and templates for a licensed distribution or transport operator.
Cross-cutting endpoints used by every license type. Facility records, employees, locations and sublocations, package-level inventory, tags, units of measure, waste methods, and the sandbox for safe experimentation.
Reusable recipes for fertilizers and other plant additives.
Lookup status of medical caregivers by license number.
Roster and per-facility permissions for employees.
Facilities the authenticated user can access and their capabilities.
Drying batches, waste, packaging from harvest, finish/unfinish.
Product items, categories, brands, photos, and files.
Submit and release lab test results, manage types and batches.
Top-level locations within a facility, by type.
The core inventory unit. Create, adjust, finish, transfer, flag, remediate.
Daily patient check-ins for medical retail.
Active patient roster and CRUD for medical facilities.
Look up a patient by license number.
Batches of immature plants — clones, seeds, opening balances.
Veg/flower/mother plants, growth phases, additives, harvest.
Convert source packages into finished goods via job types.
Stage packages and orders for retail-ID third-party vendors.
Sales receipts, deliveries, retailer delivery, returns.
Tools to seed and clear sandbox data while developing.
Cultivar definitions: indica/sativa/hybrid, THC/CBD ranges.
Finer-grained locations nested under top-level locations.
RFID-style identifiers ordered for plants and packages.
Outgoing, incoming, hub, rejected transfers and deliveries.
Drivers and vehicles registered to transport product.
Allowed units (Grams, Ounces, Each, etc).
Approved methods for destroying or rendering waste.