🍽️ Menu Designer API

Integrate live menu data with your PMS, website, or mobile app

Getting Started

Use the Menu Designer API to read live menus, venues, and related data. All requests require an API key.

Base URL: https://menudesigner.ai/api/v1

Authentication

Send X-API-Key in every request.

curl -H "X-API-Key: md_your_api_key" \
  https://menudesigner.ai/api/v1/menus
Security: Never expose keys in client-side code.

Endpoints

GET /menus — List accessible menus
GET /menus/{menuName} — Get a specific menu
GET /venues — List accessible venues
GET /webhooks — List webhooks
POST /webhooks — Create webhook
POST /webhooks/test — Send signed test event

Webhooks

Receive real-time notifications when key events occur.

Events (defaults)

Create

POST /api/v1/webhooks
Headers:
  X-API-Key: md_your_key
Body:
{
  "url": "https://yourapp.com/webhooks/menudesigner",
  "events": ["menu.published", "menu.updated"],
  "active": true
}

Test

POST /api/v1/webhooks/test
Headers:
  X-API-Key: md_your_key
Body (optional):
{
  "url": "https://webhook.site/your-id",
  "event": "menu.published"
}

Payload

{
  "id": "evt_123",
  "type": "menu.published",
  "createdAt": "2025-12-26T12:00:00Z",
  "companyID": "COMPANY_123",
  "brand": "BRAND_1",
  "venueID": "VENUE_1",
  "data": {
    "message": "Test webhook from Menu Designer AI"
  }
}

Verification

Retries: 3 attempts (30s → 2m → 10m) on non-2xx/3xx.

Common Use Cases

PMS Integration

fetch('https://menudesigner.ai/api/v1/menus?venueID=VENUE-001', {
  headers: { 'X-API-Key': 'md_key' }
}).then(res => res.json());

Website

await fetch('https://menudesigner.ai/api/v1/menus/Dinner?venueID=REST-01&brand=Restaurants', {
  headers: { 'X-API-Key': process.env.MENU_API_KEY }
});

Mobile

const res = await fetch('https://menudesigner.ai/api/v1/venues', {
  headers: { 'X-API-Key': API_KEY }
});

Errors & Rate Limits

StatusDescription
401Missing or invalid API key
403Forbidden — key not allowed
404Not found
500Server error

Rate limits: 1,000/hour and 10,000/day per key. Contact support for higher limits.

Support

Email: support@menudesigner.ai

Docs: api.menudesigner.ai/api-docs.html