Associating a menu item to at least one category is and continues to be a requirement for managing menu items. What's new in this API version, however, is the ability to manage the strain and tags associated with that menu item as well.

There are two ways you can do this. The first of which is to provide the singular strain_id (received from our strains endpoint) and/or list of tag_ids (received from our tags endpoint). You should go with this option if you want full control of what tags and strain gets assigned.

Your other option would be to send a strain_name and or list of tag_names (array of strings) and we'll do the lookups for you. We're pretty good at finding matches if they exist and we'll ignore any value/s that don't exist in our system. So this this a good option if don't need that fine-grained control.

We also expanded our cannabinoid support and are now accepting terpene measurements. These work slightly differently than how they did in the previous version but still don't require you to know the exact ID for a given cannabinoid or terpene.

Previous Version

{
  "cannabinoids": {
    "cbd": {
      "percentage": 1.2
    },
    "thc": {
      "milligrams": 1000,
      "percentage": 87.4
    }
  }

This Version

{
  "cannabinoids": [
    {
      "slug": "cbd",
      "percent": {
        "min": 1.2,
        "max": 1.2
      }
    },
    {
      "slug": "thca",
      "milligrams": {
        "min": 997,
        "max": 1000
      },
      "percent": {
        "min": 87.4,
        "max": 87.4
      }
    }
  ],
  "terpenes": [
    {
      "slug": "limonene",
      "percent": {
        "min": 2,
        "max": 2.5
      }
    }
  ]
}

As you can see, the slug field for each cannabinoid or terpene can be an all-lowercase slug that represents that measurement. You could alternatively provide us with our actual ID in that field if that's what you prefer. You can then send as many measurements as you have on file and we'll try and process each one we can.