Getting Started

Our documentation is split up into two parts: Guides and API Reference. Links for both can be found in the navigation at the top of every page. Guides, the section you are currently on, provides in-depth detail about our API, its various endpoints, and how to use them. The API Reference section allows you to see how a call to a particular endpoint might look in various languages. You can even test it out right in the browser!


Upgrading From 2023-07 (V1)?

If you're currently using our APIs and looking to upgrade to this version, please see our Upgrading guide.

Added Capabilities

  • Double The Endpoints, Double The Fun: We've added a whole bunch of endpoints that support whatever kind of menu syncing flow you desire
  • Prioritizing Consistency: One of the main goals with this version was to have consistent response object formatting, query parameters, and identifiers; you should then see very similar filtering capabilities across all our endpoints
  • ML-Backed Product Classification: Introduction of a new endpoint that exposes our machine-learning model for classifying products; see more
  • Increased Cannabinoid Support: We've expanded support for cannabinoids beyond just THC and CBD to include over a dozen cannabinoids, including TCHA, CBN, CBG and more
  • Terpene Support: You can now also provide measurements for over 30 terpenes
  • Measurement Ranges: When sending cannabinoid and terpene values, you can now provide a range of values a given consumer can expect; see more
  • Strain Support: If you know the strain of a given menu item, you can now provide that strain during create or update; you can even provide strain_name instead of strain_id and we'll do an exact-match lookup on on your behalf
  • Tags Support: Similar to strain, you can now associate any number of tags to a given menu item by a list of IDs; providing a list of tag_names instead of tag_ids means we'll lookup those tags for you and apply the ones we find
  • Safer Brand & Product Assignment: We will now ignore brand_id and product_id values that are provided that have been removed by the brand, which should reduce the amount of 422 errors you may receive when that brand or product is no longer supported
  • Upsert menu items by external_id: You can now manage menu items with your own external_id, where we'll create the item if it doesn't exist or update it with the provided values if it does; see more

Breaking Changes

  • No More JSON:API Responses: We did away with our semi-compliant JSON:API response objects in favor of simplified flattened objects that are all nested under a data attribute
    • With the dropping of JSON:API formatting, we no longer allow includes params to load extra relationships; all critical relationships on a given entity are included in the response by default
  • Variants Array Instead of Prices Object: We removed support of the legacy pricing fields (prices[price_half_gram], prices[price_gram], prices[price_eight], etc); please use the backwards-compatible variants array instead
  • Removal Of Cursor-Based Pagination:: Pagination has been standardized to favor page and page_size, which means cursor values are no longer supported

What’s Next