Gorilla Dash

arrow_back Back to Knowledge Base

Food menu items on the API

download Download PDF

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

ParameterNotes
pagePage number, from 1.
results_per_pageUp 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

FieldNotes
id, organisation_idKey your own records on id — it is stable, the slug is not.
name, slug, descriptionThe item.
default_priceIts 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_toHow many people it serves.
serving_size_quantity, serving_size_measureThe serving size and its unit.
energy_value, energy_unitEnergy per serving, in the unit it was entered in.
calories, kilojoulesThe same energy converted both ways, so you do not have to.
allergy_statementThe allergy text for this item.
photo_descriptionAlternative text for the image.
square_imageThe item image.
ALWAYS RENDER THE ALLERGY STATEMENT
If an item has an allergy_statement, show it wherever you show the item. It is there because someone needs to read it, and dropping it to tidy up a layout is not a design decision you want to have made.

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.