curl --request GET \
--url https://api-staging.getmeadow.com/api/v1/packages/{label} \
--header 'X-Client-Key: <api-key>' \
--header 'X-Consumer-Key: <api-key>'import requests
url = "https://api-staging.getmeadow.com/api/v1/packages/{label}"
headers = {
"X-Consumer-Key": "<api-key>",
"X-Client-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Consumer-Key': '<api-key>', 'X-Client-Key': '<api-key>'}
};
fetch('https://api-staging.getmeadow.com/api/v1/packages/{label}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.getmeadow.com/api/v1/packages/{label}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Client-Key: <api-key>",
"X-Consumer-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.getmeadow.com/api/v1/packages/{label}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Consumer-Key", "<api-key>")
req.Header.Add("X-Client-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-staging.getmeadow.com/api/v1/packages/{label}")
.header("X-Consumer-Key", "<api-key>")
.header("X-Client-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.getmeadow.com/api/v1/packages/{label}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Consumer-Key"] = '<api-key>'
request["X-Client-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"id": 150,
"organizationId": 1,
"type": "metrc",
"externalId": null,
"externalProductName": "OG Kush - Eighth",
"label": "STAGING01234567200000001",
"status": "received",
"initialAmount": "150",
"unit": "Each",
"createdAt": "2023-01-10T21:35:10.732Z",
"updatedAt": "2023-05-05 10:17:56.561-07",
"receivedAt": "2023-05-05T17:17:56.561Z",
"finishedAt": null,
"multiplier": "1",
"expirationDate": "2024-03-07",
"transferredAt": null,
"transferReturnedAt": null,
"shippedAt": null,
"costPerUnit": "24.9567",
"voidReason": null,
"thcPercent": "24.5",
"thcMg": null,
"cbdPercent": "2.7",
"cbdMg": null,
"producerName": null,
"producerLicense": null,
"harvestDate": null,
"harvestFacilityName": null,
"harvestFacilityLicense": null,
"labName": null,
"labLicense": null,
"labDate": null,
"onHold": false,
"tradeSample": false,
"originalSourceLabel": null,
"productOptionId": 1250,
"locationInventory": [
{
"inventoryLocationId": 3,
"amount": "90"
},
{
"inventoryLocationId": 41,
"amount": "9"
}
],
"product": {
"id": 798,
"name": "OG Kush",
"unit": "item",
"strainType": "hybrid-indica",
"isActive": true,
"isFeatured": false,
"inventoryType": "option",
"movingAverageCostPerUnit": null,
"brandName": "Meadow Farms",
"primaryCategory": {
"id": 8,
"name": "Flower",
"cannabisType": "non-concentrated"
},
"options": [
{
"id": 1250,
"name": "",
"amount": 1,
"price": 2400,
"salesPrice": null,
"content": 3.5,
"movingAverageCostPerUnit": 0
}
]
}
}
}{
"error": {
"message": "A description of the error code",
"code": "CODE_OF_ERROR_WILL_BE_HERE"
}
}Retrieve a package
Retrieve package information for a specific label/tag
curl --request GET \
--url https://api-staging.getmeadow.com/api/v1/packages/{label} \
--header 'X-Client-Key: <api-key>' \
--header 'X-Consumer-Key: <api-key>'import requests
url = "https://api-staging.getmeadow.com/api/v1/packages/{label}"
headers = {
"X-Consumer-Key": "<api-key>",
"X-Client-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Consumer-Key': '<api-key>', 'X-Client-Key': '<api-key>'}
};
fetch('https://api-staging.getmeadow.com/api/v1/packages/{label}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.getmeadow.com/api/v1/packages/{label}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Client-Key: <api-key>",
"X-Consumer-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.getmeadow.com/api/v1/packages/{label}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Consumer-Key", "<api-key>")
req.Header.Add("X-Client-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-staging.getmeadow.com/api/v1/packages/{label}")
.header("X-Consumer-Key", "<api-key>")
.header("X-Client-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.getmeadow.com/api/v1/packages/{label}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Consumer-Key"] = '<api-key>'
request["X-Client-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"id": 150,
"organizationId": 1,
"type": "metrc",
"externalId": null,
"externalProductName": "OG Kush - Eighth",
"label": "STAGING01234567200000001",
"status": "received",
"initialAmount": "150",
"unit": "Each",
"createdAt": "2023-01-10T21:35:10.732Z",
"updatedAt": "2023-05-05 10:17:56.561-07",
"receivedAt": "2023-05-05T17:17:56.561Z",
"finishedAt": null,
"multiplier": "1",
"expirationDate": "2024-03-07",
"transferredAt": null,
"transferReturnedAt": null,
"shippedAt": null,
"costPerUnit": "24.9567",
"voidReason": null,
"thcPercent": "24.5",
"thcMg": null,
"cbdPercent": "2.7",
"cbdMg": null,
"producerName": null,
"producerLicense": null,
"harvestDate": null,
"harvestFacilityName": null,
"harvestFacilityLicense": null,
"labName": null,
"labLicense": null,
"labDate": null,
"onHold": false,
"tradeSample": false,
"originalSourceLabel": null,
"productOptionId": 1250,
"locationInventory": [
{
"inventoryLocationId": 3,
"amount": "90"
},
{
"inventoryLocationId": 41,
"amount": "9"
}
],
"product": {
"id": 798,
"name": "OG Kush",
"unit": "item",
"strainType": "hybrid-indica",
"isActive": true,
"isFeatured": false,
"inventoryType": "option",
"movingAverageCostPerUnit": null,
"brandName": "Meadow Farms",
"primaryCategory": {
"id": 8,
"name": "Flower",
"cannabisType": "non-concentrated"
},
"options": [
{
"id": 1250,
"name": "",
"amount": 1,
"price": 2400,
"salesPrice": null,
"content": 3.5,
"movingAverageCostPerUnit": 0
}
]
}
}
}{
"error": {
"message": "A description of the error code",
"code": "CODE_OF_ERROR_WILL_BE_HERE"
}
}Authorizations
The key assigned to your company and provided via Meadow
The key generated and provided by our mutual client
Path Parameters
The label of the package to retrieve
Response
Packages detail response
The id for the package
If this package is for an option tracking product, this value will be set. You can lookup which product option has inventory for this package in product.options[].id of this response.
The compliance system for this package. Only metrc is supported currently.
metrc The ID of the package in the external compliance system (Metrc)
The name of the product for this package in the external compliance system (Metrc)
The tag/label identifier for the package
The status of the package
readyis a package that has not been received into inventory yet.receivedis a package that has been accepted into inventory for salefinishedis a package with 0 inventory and has been marked as finishedshippedis a package that is currently being shipped to another license and not available for saletransferredis a package that was transferred out of this license and no longer has inventorytransfer-returnedis a package that has been transferred back, but has not been received into inventory yetsyncingis a package that has been created, but not synced to Metrc yet
ready, received, finished, shipped, transferred, transfer-returned, syncing The amount of inventory this package had in Metrc when it was first imported into Meadow. This does not reflect how much inventory is currently available in Meadow.
The Metrc unit of the package. (Example: Each or Grams)
When this package was first created in Meadow
The last time this package had a modification made to it or an inventory transaction associated with it
When this package was received into inventory
When this package was set as finished
This number represents the relationship between 1 unit of inventory in Meadow and how many units that represents in the Metrc package. For example, if a Metrc package has a unit of Grams, then the multiplier may be something like 3.5 to represent that one pre-packed eighth in Meadow will use 3.5g of the Metrc package. This is only applicable for option tracking products. product tracking will always have a value of 1. Please refer to the Inventory Guide for information on option and product tracking.
The expiration date of the package
When this package was transferred out of this organization
When this package was transferred back to this organization
When this package was shipped out of this organization
The cost per unit for this package
If this package has been voided, it will always have a reason
The THC percent of this package
The THC contents in mg of this package
The CBD percent of this package
The CBD contents in mg of this package
The name of the producer of this package
The state license # of the producer
The harvest date of this package
The name of the facility that harvested this package
The state license # of the harvest facility
The name of the lab testing facility
The state license # of the lab testing facility
The date of the lab testing results for this package
Whether this package is on "administrative hold" in Metrc
Whether this package is designated as a trade sample
The original source label for this package's root parent. Provided by Metrc for use in Retail ID context
The Meadow inventory for this package broken out by inventory location. An empty array [] means that this package does not have any inventory.
Information about the product this package has inventory for. This will be null if the package has not had its inventory received to a Meadow product yet.
Hide child attributes
Hide child attributes
The ID of the product
The name of the product
Either gram or item
The strain type of the product
sativa, indica, hybrid, hybrid-sativa, hybrid-indica, cbd, mixed, none Whether the product is active on menus or not
Whether the product is featured or not
Either option or product. Please refer to the Inventory Guide for more information.
The moving average cost per unit for this product if this products inventoryType is product
The brand name of this product
The category for this product
Hide child attributes
Hide child attributes
ID of the category
The name of the category
One of the following values:
non-concentrated - Flower or other non-concentrated THC products
concentrated - Concentrated THC products (Example: Edibles, Concentrates)
immature-plant - Cannabis plants
none - This product does not contain cannabis
mi-infused-solids - Cannabis infused solids (only in Michigan) (Example: edibles)
mi-infused-fluids - Cannabis infused fluids (only in Michigan) (Example: drinks)
edibles - Edible product (only used in New Jersey & Massachusetts)
All of the pricing options for this product
Hide child attributes
Hide child attributes
The ID of this option
The name of this option
The amount of the underlying unit of this product
The price in cents of this option
The sales price in cents if one exists
The cannabis content of this option
The moving average cost per unit for this product option

