curl --request GET \
--url https://daffodil-staging.getmeadow.com/api/v1/menu \
--header 'X-Client-Key: <api-key>' \
--header 'X-Consumer-Key: <api-key>'import requests
url = "https://daffodil-staging.getmeadow.com/api/v1/menu"
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://daffodil-staging.getmeadow.com/api/v1/menu', 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://daffodil-staging.getmeadow.com/api/v1/menu",
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://daffodil-staging.getmeadow.com/api/v1/menu"
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://daffodil-staging.getmeadow.com/api/v1/menu")
.header("X-Consumer-Key", "<api-key>")
.header("X-Client-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://daffodil-staging.getmeadow.com/api/v1/menu")
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": 398,
"organizationId": 1,
"name": "Blue Dream Pre-roll",
"unit": "item",
"strainType": "sativa",
"strainName": "",
"percentThc": "",
"percentCbd": "",
"thcAmount": null,
"thcAmountEach": null,
"thcUnit": null,
"cbdAmount": null,
"cbdAmountEach": null,
"cbdUnit": null,
"description": "",
"createdAt": "2018-09-16T17:22:10.145Z",
"isActive": true,
"isFeatured": false,
"archivedAt": null,
"inventoryType": "option",
"unitPlural": "items",
"isCompliant": false,
"options": [
{
"id": 1114,
"productId": 398,
"name": "Bliss",
"amount": 1,
"price": 5000,
"salesPrice": null,
"createdAt": "2018-09-16T10:22:10.173-07:00",
"upc": null,
"content": "112.5",
"maxQuantity": 0
},
{
"id": 1110,
"productId": 398,
"name": "Arouse",
"amount": 1,
"price": 5000,
"salesPrice": null,
"createdAt": "2018-09-16T10:22:10.173-07:00",
"upc": null,
"content": "112.5",
"maxQuantity": 50
},
{
"id": 1112,
"productId": 398,
"name": "Calm",
"amount": 1,
"price": 4500,
"salesPrice": null,
"createdAt": "2018-09-16T10:22:10.173-07:00",
"upc": null,
"content": "112.5",
"maxQuantity": 49
},
{
"id": 1113,
"productId": 398,
"name": "Sleep",
"amount": 1,
"price": 5000,
"salesPrice": null,
"createdAt": "2018-09-16T10:22:10.173-07:00",
"upc": null,
"content": "112.5",
"maxQuantity": 27
}
],
"photos": [
{
"id": 259,
"productId": 398,
"path": "2018/8/9d62c632-01a1-488b-b795-267748ff3b4b.jpeg",
"createdAt": "2018-09-16T17:29:16.358Z",
"format": "jpg",
"fullPath": "https://meadow-test.imgix.net/2018/8/9d62c632-01a1-488b-b795-267748ff3b4b.jpeg?auto=format,compress&cs=csrgb&fit=max&h=640&w=640"
}
],
"productGroups": [],
"primaryCategory": {
"id": 56,
"name": "Vape",
"order": 1,
"cannabisType": "concentrated"
},
"brand": {
"id": 37,
"name": "Dosist"
},
"subCategories": [
{
"id": 55,
"name": "Vape Cartridge"
},
{
"id": 95,
"name": "Disposable"
},
{
"id": 165,
"name": "Vapes"
}
],
"inStock": true
},
{
"id": 423,
"organizationId": 1,
"name": "7 Pre-rolled Smokes",
"unit": "item",
"strainType": "mixed",
"strainName": "",
"percentThc": "",
"percentCbd": "",
"thcAmount": null,
"thcAmountEach": null,
"thcUnit": null,
"cbdAmount": null,
"cbdAmountEach": null,
"cbdUnit": null,
"description": "7 pre-rolled smokes\n0.5 grams each\n3.5 grams total",
"createdAt": "2018-09-17T03:08:35.288Z",
"isActive": true,
"isFeatured": false,
"archivedAt": null,
"inventoryType": "option",
"unitPlural": "items",
"isCompliant": false,
"options": [
{
"id": 1184,
"productId": 423,
"name": "Indica",
"amount": 1,
"price": 4000,
"salesPrice": null,
"createdAt": "2018-09-16T20:08:35.31-07:00",
"upc": null,
"content": "3.5",
"maxQuantity": 23
},
{
"id": 2247,
"productId": 423,
"name": "BOGO 50% off",
"amount": 2,
"price": 8000,
"salesPrice": 6000,
"createdAt": "2021-05-14T12:39:41.798852-07:00",
"upc": null,
"content": "7",
"maxQuantity": 11
}
],
"photos": [
{
"id": 284,
"productId": 423,
"path": "2018/8/1b9cb619-b0e6-4d66-b2d2-fcefa98fb4b4.jpeg",
"createdAt": "2018-09-17T03:08:32.509Z",
"format": "jpg",
"fullPath": "https://meadow-test.imgix.net/2018/8/1b9cb619-b0e6-4d66-b2d2-fcefa98fb4b4.jpeg?auto=format,compress&cs=csrgb&fit=max&h=640&w=640"
}
],
"productGroups": [],
"primaryCategory": {
"id": 2,
"name": "Pre-Rolls",
"order": 2,
"cannabisType": "non-concentrated"
},
"brand": {
"id": 88,
"name": "Lowell Herb Co"
},
"subCategories": [
{
"id": 45,
"name": "Top Shelf"
}
],
"inStock": true
}
],
"meta": {
"categories": [
{
"id": 1,
"name": "Flowers",
"order": 0,
"cannabisType": "non-concentrated"
},
{
"id": 56,
"name": "Vape",
"order": 1,
"cannabisType": "concentrated"
},
{
"id": 2,
"name": "Pre-Rolls",
"order": 2,
"cannabisType": "non-concentrated"
},
{
"id": 4,
"name": "Concentrates",
"order": 3,
"cannabisType": "concentrated"
},
{
"id": 3,
"name": "Edibles",
"order": 4,
"cannabisType": "concentrated"
},
{
"id": 5,
"name": "Topicals",
"order": 5,
"cannabisType": "concentrated"
},
{
"id": 17,
"name": "Clones",
"order": 6,
"cannabisType": "immature-plant"
},
{
"id": 7,
"name": "Accessories",
"order": 7,
"cannabisType": "none"
},
{
"id": 138,
"name": "Meadow Select",
"order": 8,
"cannabisType": "none"
},
{
"id": 6,
"name": "Seeds",
"order": 9,
"cannabisType": "none"
}
]
}
}{
"error": {
"message": "A description of the error code",
"code": "CODE_OF_ERROR_WILL_BE_HERE"
}
}List all menu products
Fetch the menu for an organization
curl --request GET \
--url https://daffodil-staging.getmeadow.com/api/v1/menu \
--header 'X-Client-Key: <api-key>' \
--header 'X-Consumer-Key: <api-key>'import requests
url = "https://daffodil-staging.getmeadow.com/api/v1/menu"
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://daffodil-staging.getmeadow.com/api/v1/menu', 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://daffodil-staging.getmeadow.com/api/v1/menu",
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://daffodil-staging.getmeadow.com/api/v1/menu"
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://daffodil-staging.getmeadow.com/api/v1/menu")
.header("X-Consumer-Key", "<api-key>")
.header("X-Client-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://daffodil-staging.getmeadow.com/api/v1/menu")
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": 398,
"organizationId": 1,
"name": "Blue Dream Pre-roll",
"unit": "item",
"strainType": "sativa",
"strainName": "",
"percentThc": "",
"percentCbd": "",
"thcAmount": null,
"thcAmountEach": null,
"thcUnit": null,
"cbdAmount": null,
"cbdAmountEach": null,
"cbdUnit": null,
"description": "",
"createdAt": "2018-09-16T17:22:10.145Z",
"isActive": true,
"isFeatured": false,
"archivedAt": null,
"inventoryType": "option",
"unitPlural": "items",
"isCompliant": false,
"options": [
{
"id": 1114,
"productId": 398,
"name": "Bliss",
"amount": 1,
"price": 5000,
"salesPrice": null,
"createdAt": "2018-09-16T10:22:10.173-07:00",
"upc": null,
"content": "112.5",
"maxQuantity": 0
},
{
"id": 1110,
"productId": 398,
"name": "Arouse",
"amount": 1,
"price": 5000,
"salesPrice": null,
"createdAt": "2018-09-16T10:22:10.173-07:00",
"upc": null,
"content": "112.5",
"maxQuantity": 50
},
{
"id": 1112,
"productId": 398,
"name": "Calm",
"amount": 1,
"price": 4500,
"salesPrice": null,
"createdAt": "2018-09-16T10:22:10.173-07:00",
"upc": null,
"content": "112.5",
"maxQuantity": 49
},
{
"id": 1113,
"productId": 398,
"name": "Sleep",
"amount": 1,
"price": 5000,
"salesPrice": null,
"createdAt": "2018-09-16T10:22:10.173-07:00",
"upc": null,
"content": "112.5",
"maxQuantity": 27
}
],
"photos": [
{
"id": 259,
"productId": 398,
"path": "2018/8/9d62c632-01a1-488b-b795-267748ff3b4b.jpeg",
"createdAt": "2018-09-16T17:29:16.358Z",
"format": "jpg",
"fullPath": "https://meadow-test.imgix.net/2018/8/9d62c632-01a1-488b-b795-267748ff3b4b.jpeg?auto=format,compress&cs=csrgb&fit=max&h=640&w=640"
}
],
"productGroups": [],
"primaryCategory": {
"id": 56,
"name": "Vape",
"order": 1,
"cannabisType": "concentrated"
},
"brand": {
"id": 37,
"name": "Dosist"
},
"subCategories": [
{
"id": 55,
"name": "Vape Cartridge"
},
{
"id": 95,
"name": "Disposable"
},
{
"id": 165,
"name": "Vapes"
}
],
"inStock": true
},
{
"id": 423,
"organizationId": 1,
"name": "7 Pre-rolled Smokes",
"unit": "item",
"strainType": "mixed",
"strainName": "",
"percentThc": "",
"percentCbd": "",
"thcAmount": null,
"thcAmountEach": null,
"thcUnit": null,
"cbdAmount": null,
"cbdAmountEach": null,
"cbdUnit": null,
"description": "7 pre-rolled smokes\n0.5 grams each\n3.5 grams total",
"createdAt": "2018-09-17T03:08:35.288Z",
"isActive": true,
"isFeatured": false,
"archivedAt": null,
"inventoryType": "option",
"unitPlural": "items",
"isCompliant": false,
"options": [
{
"id": 1184,
"productId": 423,
"name": "Indica",
"amount": 1,
"price": 4000,
"salesPrice": null,
"createdAt": "2018-09-16T20:08:35.31-07:00",
"upc": null,
"content": "3.5",
"maxQuantity": 23
},
{
"id": 2247,
"productId": 423,
"name": "BOGO 50% off",
"amount": 2,
"price": 8000,
"salesPrice": 6000,
"createdAt": "2021-05-14T12:39:41.798852-07:00",
"upc": null,
"content": "7",
"maxQuantity": 11
}
],
"photos": [
{
"id": 284,
"productId": 423,
"path": "2018/8/1b9cb619-b0e6-4d66-b2d2-fcefa98fb4b4.jpeg",
"createdAt": "2018-09-17T03:08:32.509Z",
"format": "jpg",
"fullPath": "https://meadow-test.imgix.net/2018/8/1b9cb619-b0e6-4d66-b2d2-fcefa98fb4b4.jpeg?auto=format,compress&cs=csrgb&fit=max&h=640&w=640"
}
],
"productGroups": [],
"primaryCategory": {
"id": 2,
"name": "Pre-Rolls",
"order": 2,
"cannabisType": "non-concentrated"
},
"brand": {
"id": 88,
"name": "Lowell Herb Co"
},
"subCategories": [
{
"id": 45,
"name": "Top Shelf"
}
],
"inStock": true
}
],
"meta": {
"categories": [
{
"id": 1,
"name": "Flowers",
"order": 0,
"cannabisType": "non-concentrated"
},
{
"id": 56,
"name": "Vape",
"order": 1,
"cannabisType": "concentrated"
},
{
"id": 2,
"name": "Pre-Rolls",
"order": 2,
"cannabisType": "non-concentrated"
},
{
"id": 4,
"name": "Concentrates",
"order": 3,
"cannabisType": "concentrated"
},
{
"id": 3,
"name": "Edibles",
"order": 4,
"cannabisType": "concentrated"
},
{
"id": 5,
"name": "Topicals",
"order": 5,
"cannabisType": "concentrated"
},
{
"id": 17,
"name": "Clones",
"order": 6,
"cannabisType": "immature-plant"
},
{
"id": 7,
"name": "Accessories",
"order": 7,
"cannabisType": "none"
},
{
"id": 138,
"name": "Meadow Select",
"order": 8,
"cannabisType": "none"
},
{
"id": 6,
"name": "Seeds",
"order": 9,
"cannabisType": "none"
}
]
}
}{
"error": {
"message": "A description of the error code",
"code": "CODE_OF_ERROR_WILL_BE_HERE"
}
}daffodil.getmeadow.com or daffodil-staging.getmeadow.com (staging sandbox) instead of the api subdomain.Example URL:
https://daffodil.getmeadow.com/api/v1/menuInventory
Please see our Inventory Guide for more information.Authorizations
The key assigned to your company and provided via Meadow
The key generated and provided by our mutual client
Query Parameters
Request a menu for one of three types: delivery, pickup or in-store. If type is not passed in, the menu for delivery will be returned.
Each Meadow client essentially has three different menus. If you intend to support an order flow for more than one type, you should pull each menu by sending in this parameter.
Response
Menu response
The ID of the product
The name of the product
Either gram or item
One of sativa, indica, hybrid, hybrid-sativa, hybrid-indica, cbd, mixed, or none
The amount of THC in the product
The amount of THC per each of the product
Either % or mg
The amount of CBD in the product
The amount of CBD per each of the product
Either % or mg
A text description about the product
Whether the product is featured or not
Whether there is at least one option of this product in stock currently
All of the pricing options for a product
Hide child attributes
Hide child attributes
The ID of this product option. This value will be used for placing orders
The name of this option
The amount of the underlying unit of this product
The price in cents of this option
The sales price if one exists
The UPC code for this option
The maximum number that is purchaseable based on current inventory

