Query
This query requires an API key scoped to your chain in the
Authorization header. Optionally include X-Session-ID for analytics and personalization; you do not need to pass chain or session in the GraphQL query itself.Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
restaurantId | ID | No | If provided, categories are aggregated for this restaurant only. If omitted, categories are aggregated for the chain’s widget (all widget dishes). |
Response
Example
Filtering by Category
Use thecategory parameter in the search query to filter dishes:
Category Counts with Preferences
Category counts returned by
categories represent total dishes, not dishes matching any preference filters. For filtered counts, use the search query with a category filter.Display Recommendations
Use Ordinal for Order
Display categories in
ordinal order to match the restaurant’s intended menu layout.Show Match Counts
Consider showing “X matches” next to each category when filters are active.
Hide Empty Categories
Optionally hide categories with 0 matches when dietary filters are applied.
Sticky Navigation
For long menus, consider a sticky category bar for easy navigation.

