GET https://api.gorilladash.com/api/v1/food-menu-items returns your menu, and GET /food-menu-items/{slug} returns one item. Both include the nutrition panel, so a website can show the legally required information without anyone maintaining it twice.
Listing the menu
| Parameter | Notes |
|---|---|
page | Page number, from 1. |
results_per_page | Up to 100. Defaults to 25. |
Items come back in the order you arranged them in Gorilla Dash, then alphabetically — so the menu reads the way you built it rather than by date.
What comes back
| Field | Notes |
|---|---|
id, organisation_id | Key your own records on id — it is stable, the slug is not. |
name, slug, description | The item. |
default_price | Its standard price, as a whole number in your organisation's own currency — dollars, not cents. The payload carries no currency code, so hard-code the symbol your menu is priced in. |
servings_from, servings_to | How many people it serves. |
serving_size_quantity, serving_size_measure | The serving size and its unit. |
energy_value, energy_unit | Energy per serving, in the unit it was entered in. |
calories, kilojoules | The same energy converted both ways, so you do not have to. |
allergy_statement | The allergy text for this item. |
photo_description | Alternative text for the image. |
square_image | The item image. |
Use photo_description as the image alt text. It is written for that purpose, and it is what makes the menu readable to a screen reader.
One item
GET /food-menu-items/{slug} takes the slug or the numeric id and returns the same fields for a single item.
Scoping and caching
The menu belongs to the organisation, so a tribe key sees its parent organisation's menu. Both endpoints are cached and send an ETag; a price change can take a few minutes to appear.