Before you begin
An account owner creates an API key in Developers and stores it on a trusted server.
Operations and integrations
Read published menus from your own server-side tools.
Open in StudioAn account owner creates an API key in Developers and stores it on a trusted server.
API requests are read-only. They cannot edit, publish, expose drafts, or change account state.
VENUE_MENUS_API_KEY. Never put it in a browser, URL, public repository, or analytics.curl --fail-with-body \
--header "Authorization: Bearer $VENUE_MENUS_API_KEY" \
'https://venue-menus.com/api/developer/v1/menus?limit=20'GET /api/developer/v1/menus returns the account’s public, published menus across locations, ordered by menu ID. limit defaults to 20 and accepts up to 50. Pass next_after back as after; a null cursor ends the list.
{
"menus": [{
"id": 42,
"name": "On Tap",
"slug": "on-tap",
"location": {"id": 7, "name": "Riverside", "slug": "riverside"},
"revision": 3
}],
"next_after": null
}GET /api/developer/v1/menus/42 returns the named published menu, location, revision, sections, items, servings, presentation information, and active events available through the public contract. Drafts and private menus are never returned.
{
"menu": {
"menu_id": 42,
"location": "Riverside",
"menu": "On Tap",
"revision": 3,
"sections": [{"name": "Draft Beer", "items": []}],
"promotions": []
},
"promotions_next_change": null,
"checked_at": 1789480800
}Prices inside item variants use integer price_cents; availability is boolean and times are Unix seconds in UTC. Refetch at promotions_next_change and hide expired promotions locally when offline. Send HEAD when only status and headers are needed. All other methods return method-not-allowed.
400: invalid pagination parameters.401: missing, malformed, revoked, or unknown bearer key.403: the account does not permit the request.404: the menu is outside the account or is not public and published.405: an editing method was attempted.429: the account exceeded 60 requests per minute or 10,000 per day; respect Retry-After.500: temporary service failure; retry with backoff.Responses report remaining minute/day requests and reset times in rate-limit headers. Error bodies use an error object with a stable code and human-readable message. Revoke suspected keys immediately and create a replacement.
Read the assistant setup guide →
Add https://venue-menus.com/mcp as a remote MCP server in your assistant. Sign in, choose your organization and grant its permissions. MCP supports menu editing, separate menu and flavor-map publication, screens, schedules, websites, imports and other Studio workflows. Existing API keys remain read-only and cannot authenticate MCP.
Routine changes run directly within your permissions. Spending and sensitive account operations open a separate browser approval page. Menu lists, flavor maps, websites and translations publish independently. Owners and staff can connect; your current role still applies.
Open Connected assistants (MCP) to inspect or disconnect access. Owners can disconnect organization connections; staff can disconnect their own. Disconnecting takes effect immediately.
Accounts can have 10 active keys. Shared quotas are 60 requests per minute and 10,000 per day. List pages default to 20 and allow at most 50 records.
Use the returned error code and HTTP status. Revoke a suspected key, create a replacement, and update the server-side secret.
Still stuck? Email Venue Menus support with the location, menu or screen name and the action you were taking.