The Cannabis Wholesale API Built for POS integration
Connect your point-of-sale, ERP, or custom application to the Cannabrands wholesale marketplace. LeafLink-compatible endpoints mean Dutchie connects by changing one URL.
Two API surfaces. One platform. Connect any way you need.
Two API surfaces, one catalog
Choose the interface that fits your integration. Both access the same real-time data.
Instant POS Integration
/v1/
Dutchie, Treez, and any LeafLink-compatible POS connects by changing one URL. Same pagination format, same price objects, same field names.
- Products
- Brands
- Batches
- Customers, Licenses, Categories, Strains
Dutchie connects in minutes, not months.
Hub Native API
/v2/
Complete access to every Hub capability. Raw pricing with quantity breaks, full cannabinoid profiles, tier visibility, COA files, and more.
- Everything in V2
- Quantity Breaks & Tier Pricing
- Full COA Data & Terpene Profiles
- Advanced Pricing & Suite Data
The complete platform, fully programmable.
From key generation to first sync in three steps.
How it works
Three steps from zero to syncing your catalog.
Generate API Key
Owner or admin creates a key in Settings > Integrations. Business-scoped and SHA-256 hashed at rest. The plaintext key is shown once.
Make Requests
Standard REST endpoints with Authorization: App cb_... header. JSON responses with cursor pagination.
Sync Your Catalog
Products, brands, batches, and inventory flow into your POS or custom system automatically. Keep your storefront current without manual updates.
Enterprise-grade security
API keys are business-scoped, not user-scoped. Every key is isolated to a single business and can only access that business's data.
-
SHA-256 hashed at rest — plaintext shown once at creation
-
Rate limited: 300 requests per minute per key
-
Business isolation: keys can only access their own data
-
Revocable instantly from the dashboard
https://api.cannabrands.app/v1/products/
"count": 247,
"next": "...?cursor=eyJpZCI6MjV9",
"previous": null,
"results": [
{
"name": "Purple Punch 3.5g",
"listing_state": "Available",
"unit_price": {
"amount": "18.00",
"currency": "USD"
}
}
]
}
Every resource is documented with request and response examples.
Endpoints
Browse available resources for each API surface.
https://api.cannabrands.app/v1/
https://api.cannabrands.app/v2/
Products
Product catalog with LeafLink-format pricing and availability.
/products/
/products/{id}/
Brands
Brand profiles, logos, and company information.
/brands/
/brands/{id}/
Batches
Batch-level inventory with COA data and expiration dates.
/batches/
/batches/{id}/
Customers
Licensed dispensary customer records.
/customers/
/customers/{id}/
Companies
Company entities linked to licenses and contacts.
/companies/
/companies/{id}/
Licenses
State license numbers, types, and verification status.
/licenses/
/licenses/{id}/
Product Categories
Cannabis product category taxonomy.
/product-categories/
/product-categories/{id}/
Product Lines
Brand product line groupings.
/product-lines/
/product-lines/{id}/
Strains
Strain names, genetics, and classification.
/strains/
/strains/{id}/
Products
Full product data with quantity breaks and tier visibility.
/products/
/products/{hashid}/
Brands
Complete brand profiles with analytics metadata.
/brands/
/brands/{hashid}/
Batches
Batches with full cannabinoid panels and terpene profiles.
/batches/
/batches/{hashid}/
Customers
Customer records with pricing tier assignments.
/customers/
/customers/{hashid}/
Pricing
Advanced pricing rules, quantity breaks, and tier overrides.
/pricing/
/pricing/{hashid}/
COA Data
Parsed COA documents with cannabinoid and terpene arrays.
/coa/
/coa/{hashid}/
Inventory
Real-time inventory levels with batch allocation.
/inventory/
/inventory/{hashid}/
Categories
Full category tree with subcategories.
/categories/
/categories/{hashid}/
Strains
Strain data with genetics and effect profiles.
/strains/
/strains/{hashid}/
Response format comparison
Same product, two levels of detail. Pick the format your integration needs.
"id": 42,
"name": "Purple Punch 3.5g",
"listing_state": "Available",
"unit_price": {
"amount": "18.00",
"currency": "USD"
},
"brand": {
"id": 7,
"name": "Emerald Peak"
},
"category": "Flower"
}
"hashid": "78xd4",
"name": "Purple Punch 3.5g",
"unit_price": 18.00,
"quantity_breaks": [
{ "min": 100, "price": 16.50 },
{ "min": 500, "price": 14.75 }
],
"tier_visibility": "all",
"primary_batch": {
"thc": 28.4,
"cbd": 0.8,
"terpenes": ["Myrcene", ...]
}
}
POS systems that connect today
Any POS that supports the LeafLink V2 API can connect to Cannabrands.
Dutchie
ConnectedTreez
Coming SoonMeadow
Coming SoonFlowhub
Coming SoonAny POS that supports the LeafLink V2 API can connect to Cannabrands by pointing to our base URL.
Ready to connect?
Get your API key and start syncing in minutes. Full documentation, sample requests, and a sandbox environment are available.