External IDs (preventing duplicates)

When creating a menu item, you can optionally provide an external_id. These can be on the menu item itself and/or all of its variants. This value should represent the identifier in your system that's unique to this menu.

📘

Unique By Menu

If you try to create two menu items on the same menu with the same external_id value, the second request will return a 422. An external_id can only be used once on a menu. This then means sending this value will help prevent resending duplicates. These attributes can, however, be shared between variants.

🚧

Used By Orders Integrations

If you're planning on having an orders integration with Weedmaps, it's recommended you provide an external_id value to your menu item and its variants. Please see our Orders Requirements Guide for more information.

curl \
  --request POST \
  --url 'https://api-g.weedmaps.com/wm/v1/menu_items' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer [ACCESS TOKEN HERE]' \
  --header 'content-type: application/json' \
  --data '{
    "type": "menu_item",
    "attributes": {
      "name": "Pineapple Express",
      "body": "The dopest dope you will ever smoke.",
      "published": true,
      "online_orderable": true,
      "external_id": "12345",
      "variants" [
        {
          "external_id: "1234-12",
          "price": {
            "amount": "17.06",
            "currency": "USD"
          },
          "weight": {
            "value": 1,
            "unit": "g"
        }
      ]
    },
    "relationships": {
      "menu": {
        "data": {
          "type": "menu",
          "id": WMID_HERE
        }
      },
      "categories": {
        "data": [
          {
            "type": "category",
            "id": "a780af3d-bdfe-41ce-a782-20f2519fd7be"
          }
        ]
      }
    }
  }'