Get menus
Changed onList 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.
Request
- Base URLhttps://app.distru.com
- AuthHTTP bearer
Query parameters
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.
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.
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.
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.
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.
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.
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
- info
added the non-success response with the status
- info