Metrc Web API Documentation

REST Vendor API Key User API Key Authentication Authorization Working with the API Dates and Times Making Calls with Timestamps Last Modified Filter Range Server Responses Postman
Maintaining Inventory in Sync Requesting Multiple Days' Data
Rate Limiting Object Limiting Returning Object Ids Changed Endpoints Pagination Paginated Endpoints Webhooks
Additives Templates
GET /additivestemplates/v2/{id}GET /additivestemplates/v2/activeGET /additivestemplates/v2/inactivePOST /additivestemplates/v2/PUT /additivestemplates/v2/
Caregivers Status
GET /caregivers/v2/status/{caregiverLicenseNumber}
Employees
GET /employees/v2/
Facilities
GET /facilities/v2/
Harvests
GET /harvests/v2/{id}GET /harvests/v2/activeGET /harvests/v2/onholdGET /harvests/v2/inactiveGET /harvests/v2/wasteGET /harvests/v2/waste/typesPOST /harvests/v2/packages/testingPOST /harvests/v2/packagesPUT /harvests/v2/locationPOST /harvests/v2/wastePUT /harvests/v2/renamePUT /harvests/v2/finishPUT /harvests/v2/unfinishPUT /harvests/v2/restore/harvestedplantsDELETE /harvests/v2/waste/{id}
Items
GET /items/v2/{id}GET /items/v2/activeGET /items/v2/inactiveGET /items/v2/categoriesGET /items/v2/brandsGET /items/v2/photo/{id}GET /items/v2/file/{id}POST /items/v2/PUT /items/v2/POST /items/v2/photoPOST /items/v2/fileDELETE /items/v2/{id}DELETE /items/v2/brand/{id}POST /items/v2/brandPUT /items/v2/brand
Lab Tests
GET /labtests/v2/statesGET /labtests/v2/batchesGET /labtests/v2/typesGET /labtests/v2/resultsPOST /labtests/v2/recordPUT /labtests/v2/labtestdocumentPUT /labtests/v2/results/releaseGET /labtests/v2/labtestdocument/{id}
Locations
GET /locations/v2/{id}GET /locations/v2/activeGET /locations/v2/inactiveGET /locations/v2/typesPOST /locations/v2/PUT /locations/v2/DELETE /locations/v2/{id}
Packages
GET /packages/v2/{id}GET /packages/v2/{id}/source/harvestsGET /packages/v2/{label}GET /packages/v2/activeGET /packages/v2/onholdGET /packages/v2/inactiveGET /packages/v2/intransitGET /packages/v2/labsamplesGET /packages/v2/typesGET /packages/v2/adjust/reasonsPOST /packages/v2/POST /packages/v2/testingPOST /packages/v2/plantingsPUT /packages/v2/donation/flagPUT /packages/v2/donation/unflagPUT /packages/v2/usebydatePUT /packages/v2/itemPUT /packages/v2/notePUT /packages/v2/locationPUT /packages/v2/labtests/requiredPUT /packages/v2/externalidPUT /packages/v2/tradesample/flagPUT /packages/v2/tradesample/unflagPUT /packages/v2/adjustPOST /packages/v2/adjustPUT /packages/v2/remediatePUT /packages/v2/finishPUT /packages/v2/unfinishDELETE /packages/v2/{id}PUT /packages/v2/decontaminateGET /packages/v2/transferred
Patient Check Ins
GET /patient-checkins/v2/locationsGET /patient-checkins/v2/POST /patient-checkins/v2/PUT /patient-checkins/v2/DELETE /patient-checkins/v2/{id}
Patients
GET /patients/v2/{id}GET /patients/v2/activePOST /patients/v2/PUT /patients/v2/DELETE /patients/v2/{id}
Patients Status
GET /patients/v2/statuses/{patientLicenseNumber}
Plant Batches
GET /plantbatches/v2/{id}GET /plantbatches/v2/activeGET /plantbatches/v2/inactiveGET /plantbatches/v2/typesDELETE /plantbatches/v2/GET /plantbatches/v2/waste/reasonsPOST /plantbatches/v2/wastePOST /plantbatches/v2/adjustPOST /plantbatches/v2/additivesPOST /plantbatches/v2/additives/usingtemplatePOST /plantbatches/v2/plantingsPOST /plantbatches/v2/packagesPOST /plantbatches/v2/packages/frommotherplantPOST /plantbatches/v2/splitPOST /plantbatches/v2/growthphasePUT /plantbatches/v2/tagPUT /plantbatches/v2/strainPUT /plantbatches/v2/locationGET /plantbatches/v2/waste
Plants
GET /plants/v2/additives/typesGET /plants/v2/{id}GET /plants/v2/{label}GET /plants/v2/vegetativeGET /plants/v2/floweringGET /plants/v2/onholdGET /plants/v2/inactiveGET /plants/v2/additivesGET /plants/v2/growthphasesGET /plants/v2/waste/reasonsPOST /plants/v2/additivesPOST /plants/v2/additives/usingtemplatePOST /plants/v2/additives/bylocationPOST /plants/v2/additives/bylocation/usingtemplatePOST /plants/v2/plantingsPOST /plants/v2/plantbatch/packagesPOST /plants/v2/manicurePUT /plants/v2/locationPUT /plants/v2/growthphasePUT /plants/v2/tagPUT /plants/v2/strainPUT /plants/v2/harvestPUT /plants/v2/mergeDELETE /plants/v2/POST /plants/v2/wasteGET /plants/v2/waste/methods/allPUT /plants/v2/splitGET /plants/v2/waste
Processing Job
GET /processing/v2/{id}GET /processing/v2/activeGET /processing/v2/inactiveGET /processing/v2/jobtypes/activeGET /processing/v2/jobtypes/inactiveGET /processing/v2/jobtypes/attributesGET /processing/v2/jobtypes/categoriesPOST /processing/v2/createpackagesPOST /processing/v2/startPOST /processing/v2/adjustPOST /processing/v2/jobtypesPUT /processing/v2/finishPUT /processing/v2/unfinishPUT /processing/v2/jobtypesDELETE /processing/v2/jobtypes/{id}DELETE /processing/v2/{id}
Retail Id
POST /retailid/v2/associatePOST /retailid/v2/generatePOST /retailid/v2/mergePOST /retailid/v2/packages/infoGET /retailid/v2/receive/{label}GET /retailid/v2/receive/qr/{shortCode}
Sales
GET /sales/v2/customertypesGET /sales/v2/patientregistration/locationsGET /sales/v2/deliveries/{id}GET /sales/v2/deliveries/activeGET /sales/v2/deliveries/inactiveGET /sales/v2/deliveries/returnreasonsGET /sales/v2/countiesGET /sales/v2/paymenttypesGET /sales/v2/receipts/{id}GET /sales/v2/receipts/external/{externalNumber}GET /sales/v2/receipts/activeGET /sales/v2/receipts/inactivePOST /sales/v2/deliveriesPOST /sales/v2/receiptsPUT /sales/v2/deliveries/hubPUT /sales/v2/deliveries/hub/acceptPUT /sales/v2/deliveries/completePUT /sales/v2/deliveries/hub/departPUT /sales/v2/deliveries/hub/verifyIDPUT /sales/v2/deliveriesPUT /sales/v2/receiptsPUT /sales/v2/receipts/finalizePUT /sales/v2/receipts/unfinalizeDELETE /sales/v2/deliveries/{id}DELETE /sales/v2/receipts/{id}GET /sales/v2/deliveries/retailer/activeGET /sales/v2/deliveries/retailer/inactiveGET /sales/v2/deliveries/retailer/{id}POST /sales/v2/deliveries/retailerPUT /sales/v2/deliveries/retailerDELETE /sales/v2/deliveries/retailer/{id}POST /sales/v2/deliveries/retailer/departPOST /sales/v2/deliveries/retailer/restockPOST /sales/v2/deliveries/retailer/salePOST /sales/v2/deliveries/retailer/end
Strains
GET /strains/v2/{id}GET /strains/v2/activeGET /strains/v2/inactivePOST /strains/v2/PUT /strains/v2/DELETE /strains/v2/{id}
Sublocations
GET /sublocations/v2/{id}GET /sublocations/v2/activeGET /sublocations/v2/inactivePOST /sublocations/v2/PUT /sublocations/v2/DELETE /sublocations/v2/{id}
Tags
GET /tags/v2/plant/availableGET /tags/v2/package/available
Transfers
GET /transfers/v2/hubGET /transfers/v2/incomingGET /transfers/v2/outgoingGET /transfers/v2/rejectedGET /transfers/v2/{id}/deliveriesGET /transfers/v2/deliveries/{id}/transportersGET /transfers/v2/deliveries/{id}/transporters/detailsGET /transfers/v2/deliveries/{id}/packagesGET /transfers/v2/deliveries/{id}/packages/wholesaleGET /transfers/v2/deliveries/package/{id}/requiredlabtestbatchesGET /transfers/v2/deliveries/packages/statesGET /transfers/v2/templates/outgoingGET /transfers/v2/templates/outgoing/{id}/deliveriesGET /transfers/v2/templates/outgoing/deliveries/{id}/transportersGET /transfers/v2/templates/outgoing/deliveries/{id}/transporters/detailsGET /transfers/v2/templates/outgoing/deliveries/{id}/packagesGET /transfers/v2/typesPOST /transfers/v2/external/incomingPOST /transfers/v2/templates/outgoingPUT /transfers/v2/external/incomingPUT /transfers/v2/templates/outgoingDELETE /transfers/v2/external/incoming/{id}DELETE /transfers/v2/templates/outgoing/{id}
Transporters
GET /transporters/v2/driversGET /transporters/v2/drivers/{id}POST /transporters/v2/driversPUT /transporters/v2/driversDELETE /transporters/v2/drivers/{id}GET /transporters/v2/vehiclesGET /transporters/v2/vehicles/{id}POST /transporters/v2/vehiclesPUT /transporters/v2/vehiclesDELETE /transporters/v2/vehicles/{id}
Trips
GET /trips/v2/activeGET /trips/v2/inactiveGET /trips/v2/intransit
Units Of Measure
GET /unitsofmeasure/v2/activeGET /unitsofmeasure/v2/inactive
Waste Methods
GET /wastemethods/v2/
Caregivers Status
GET /caregivers/v1/status/{caregiverLicenseNumber}
Employees
GET /employees/v1/
Facilities
GET /facilities/v1/
Harvests
GET /harvests/v1/{id}GET /harvests/v1/activeGET /harvests/v1/onholdGET /harvests/v1/inactiveGET /harvests/v1/waste/typesPOST /harvests/v1/create/packagesPOST /harvests/v1/create/packages/testingPUT /harvests/v1/movePOST /harvests/v1/removewastePUT /harvests/v1/renamePOST /harvests/v1/finishPOST /harvests/v1/unfinish
Items
GET /items/v1/{id}GET /items/v1/activeGET /items/v1/inactiveGET /items/v1/categoriesGET /items/v1/brandsGET /items/v1/photo/{id}POST /items/v1/createPOST /items/v1/updatePOST /items/v1/photoDELETE /items/v1/{id}
Lab Tests
GET /labtests/v1/statesGET /labtests/v1/typesGET /labtests/v1/resultsPOST /labtests/v1/recordPUT /labtests/v1/labtestdocumentPUT /labtests/v1/results/releaseGET /labtests/v1/labtestdocument/{id}
Locations
GET /locations/v1/{id}GET /locations/v1/activeGET /locations/v1/typesPOST /locations/v1/createPOST /locations/v1/updateDELETE /locations/v1/{id}
Packages
GET /packages/v1/{id}GET /packages/v1/{label}GET /packages/v1/activeGET /packages/v1/onholdGET /packages/v1/inactiveGET /packages/v1/typesGET /packages/v1/adjust/reasonsPOST /packages/v1/createPOST /packages/v1/create/testingPOST /packages/v1/create/plantingsPOST /packages/v1/change/itemPUT /packages/v1/change/notePOST /packages/v1/change/locationsPOST /packages/v1/adjustPOST /packages/v1/finishPOST /packages/v1/unfinishPOST /packages/v1/remediate
Patient Check Ins
GET /patient-checkins/v1/locationsGET /patient-checkins/v1/POST /patient-checkins/v1/PUT /patient-checkins/v1/DELETE /patient-checkins/v1/{id}
Patients Status
GET /patients/v1/statuses/{patientLicenseNumber}
Patients
GET /patients/v1/{id}GET /patients/v1/activePOST /patients/v1/addPOST /patients/v1/updateDELETE /patients/v1/{id}
Plant Batches
GET /plantbatches/v1/{id}GET /plantbatches/v1/activeGET /plantbatches/v1/inactiveGET /plantbatches/v1/typesPOST /plantbatches/v1/adjustPOST /plantbatches/v1/createplantingsPOST /plantbatches/v1/createpackagesPOST /plantbatches/v1/splitPOST /plantbatches/v1/create/packages/frommotherplantPOST /plantbatches/v1/changegrowthphasePUT /plantbatches/v1/moveplantbatchesPOST /plantbatches/v1/additivesPOST /plantbatches/v1/wasteDELETE /plantbatches/v1/GET /plantbatches/v1/waste/reasons
Plants
GET /plants/v1/{id}GET /plants/v1/{label}GET /plants/v1/vegetativeGET /plants/v1/floweringGET /plants/v1/onholdGET /plants/v1/inactiveGET /plants/v1/additivesGET /plants/v1/growthphasesGET /plants/v1/additives/typesGET /plants/v1/waste/methods/allGET /plants/v1/waste/reasonsPOST /plants/v1/moveplantsPOST /plants/v1/changegrowthphasesDELETE /plants/v1/POST /plants/v1/additivesPOST /plants/v1/wastePOST /plants/v1/additives/bylocationPOST /plants/v1/create/plantingsPOST /plants/v1/create/plantbatch/packagesPOST /plants/v1/manicureplantsPOST /plants/v1/harvestplants
Processing Job
GET /processing/v1/{id}GET /processing/v1/activeGET /processing/v1/inactivePOST /processing/v1/createpackagesPOST /processing/v1/startPOST /processing/v1/adjustPUT /processing/v1/finishPUT /processing/v1/unfinishDELETE /processing/v1/{id}GET /processing/v1/jobtypes/activeGET /processing/v1/jobtypes/inactivePOST /processing/v1/jobtypesPUT /processing/v1/jobtypesDELETE /processing/v1/jobtypes/{id}GET /processing/v1/jobtypes/attributesGET /processing/v1/jobtypes/categories
Sales
GET /sales/v1/customertypesGET /sales/v1/patientregistration/locationsGET /sales/v1/deliveries/activeGET /sales/v1/deliveries/inactiveGET /sales/v1/deliveries/{id}GET /sales/v1/deliveries/returnreasonsPOST /sales/v1/deliveriesPUT /sales/v1/deliveriesPUT /sales/v1/deliveries/hubPUT /sales/v1/deliveries/hub/acceptPUT /sales/v1/deliveries/completePUT /sales/v1/deliveries/hub/departPUT /sales/v1/deliveries/hub/verifyIDDELETE /sales/v1/deliveries/{id}GET /sales/v1/countiesGET /sales/v1/paymenttypesGET /sales/v1/receipts/activeGET /sales/v1/receipts/inactiveGET /sales/v1/receipts/{id}POST /sales/v1/receiptsPUT /sales/v1/receiptsDELETE /sales/v1/receipts/{id}GET /sales/v1/transactionsGET /sales/v1/transactions/{salesDateStart}/{salesDateEnd}POST /sales/v1/transactions/{date}PUT /sales/v1/transactions/{date}GET /sales/v1/deliveries/retailer/activeGET /sales/v1/deliveries/retailer/inactiveGET /sales/v1/deliveries/retailer/{id}POST /sales/v1/deliveries/retailerPUT /sales/v1/deliveries/retailerDELETE /sales/v1/deliveries/retailer/{id}POST /sales/v1/deliveries/retailer/departPOST /sales/v1/deliveries/retailer/restockPOST /sales/v1/deliveries/retailer/salePOST /sales/v1/deliveries/retailer/end
Strains
GET /strains/v1/{id}GET /strains/v1/activePOST /strains/v1/createPOST /strains/v1/updateDELETE /strains/v1/{id}
Transfers
GET /transfers/v1/incomingGET /transfers/v1/outgoingGET /transfers/v1/rejectedGET /transfers/v1/{id}/deliveriesGET /transfers/v1/deliveries/{id}/transportersGET /transfers/v1/deliveries/{id}/transporters/detailsGET /transfers/v1/deliveries/{id}/packagesGET /transfers/v1/deliveries/{id}/packages/wholesaleGET /transfers/v1/deliveries/package/{id}/requiredlabtestbatchesGET /transfers/v1/deliveries/packages/statesPOST /transfers/v1/external/incomingPUT /transfers/v1/external/incomingDELETE /transfers/v1/external/incoming/{id}GET /transfers/v1/templatesGET /transfers/v1/templates/{id}/deliveriesGET /transfers/v1/templates/deliveries/{id}/transportersGET /transfers/v1/templates/deliveries/{id}/transporters/detailsGET /transfers/v1/templates/deliveries/{id}/packagesPOST /transfers/v1/templatesPUT /transfers/v1/templatesDELETE /transfers/v1/templates/{id}GET /transfers/v1/types
Trips
GET /trips/v1/activeGET /trips/v1/inactiveGET /trips/v1/intransit
Units Of Measure
GET /unitsofmeasure/v1/active