Menu

Get menus

List menus for the authenticated company, ordered oldest-first by creation time.

A menu is a shareable product catalog and price list you send to customers. It controls who can view the catalog (visibility), which weekday delivery windows and minimum-order rules apply at checkout, and the status new orders receive when a customer checks out through it. Each returned menu also carries product_count — the number of active products currently on it — and url, its primary public link (null when the menu has no primary URL).

Results are paginated: the response wraps the menus in data and sets next_page to the URL of the following page, or null on the last page. Use active, visibility, and the inserted_datetime / updated_datetime windows to narrow the list; omit them all to return every menu in the company regardless of state. When several filters are supplied a menu must satisfy all of them (AND).

Required permission: products_permissions_view.

get/public/v1/menus

Query parameters

idsstring[]

Restrict the result to specific menus by ID (the same ID returned as each menu's id). Repeat the bracketed key once per ID. Unknown IDs simply match nothing; an empty list is treated as no filter. At most 200 IDs may be given.

activeboolean

Filter by active state. ?active=true returns only active menus, ?active=false only inactive ones. Omit to return menus regardless of active state. Any other value is rejected. DEPRECATED comma form ?active=true,false still works but is equivalent to omitting the filter and will be removed in a future version.

inserted_datetimestring

Filter by creation datetime (the menu's inserted_datetime). Comma-separated from,to range in ISO-8601 UTC; both bounds inclusive and either side may be omitted. 2022-07-10T00:00:00Z, returns menus created on or after that instant, ,2022-07-10T00:00:00Z those created on or before it. Omit to apply no creation-time filter.

updated_datetimestring

Filter by last-modified datetime (the menu's updated_datetime). Same comma-separated from,to ISO-8601 range format as inserted_datetime, with either bound optional.

visibilitiesstring[]

Filter by menu visibility. Repeat the bracketed key with SCREAMING_CASE values: PUBLIC (viewable by anyone, no login required), PRIVATE (only logged-in users from the menu's own company), PASSCODE_PROTECTED (that company's users plus anyone holding the passcode). A subset returns only menus with those visibilities; listing all three, or omitting the param, applies no filter. Any unrecognized value is rejected. At most 200 values may be given.

visibilitystring

DEPRECATED — use visibilities[] instead; the comma form will be removed in a future version. Comma-separated SCREAMING_CASE list of PUBLIC, PRIVATE, PASSCODE_PROTECTED. Same matching as visibilities[]: a subset filters to those visibilities, listing all three (or omitting) applies no filter. Any unrecognized value is rejected.

pagestring

Page selector. Page size is fixed by the server; paginate by following the next_page URL in each response rather than building page selectors yourself — it is null on the last page. next_page uses page[after]=<cursor>, an opaque token marking where the next page resumes; pass it back exactly as given, and only to the endpoint that issued it. This is seek-based, so every page stays fast no matter how deep you page.

Response

Menus index

Changes

No recorded changes to this endpoint across all 1 revision of this API.