Home / API
Developers

MenuFly API

Sync menu items and prices with your POS. REST, JSON, and predictable status codes.

API access is available on the Pro plan

Authentication

Every request needs a bearer token. Create one under Settings → API keys in your dashboard.

curl https://api.menufly.app/v1/menus \
  -H "Authorization: Bearer mf_live_xxxxxxxxxxxx"

List menus

GET /v1/menus

{
  "data": [
    {
      "id": "menu_9f2a",
      "name": "Dinner",
      "branch_id": "br_01",
      "items": 84,
      "updated_at": "2026-08-12T18:04:00Z"
    }
  ]
}

Update an item price

PATCH /v1/items/item_4c81
Content-Type: application/json

{ "price": 349, "available": true }

Endpoints

MethodPathDescription
GET/v1/menusList all menus
GET/v1/menus/:idRetrieve one menu with items
POST/v1/itemsCreate an item
PATCH/v1/items/:idUpdate price or availability
DELETE/v1/items/:idRemove an item
GET/v1/analytics/scansScan counts by day
POST/v1/exports/pdfQueue a print-ready PDF export

Rate limits

120 requests per minute per key. Exceeding it returns 429 with a Retry-After header.

Webhooks

Subscribe to menu.published, item.updated and export.completed to keep your POS in sync.

Errors

Errors return a JSON body with a stable code and a human-readable message. 4xx means fix the request; 5xx is safe to retry with backoff.

Need API access?

API keys are included on Pro. Tell us which POS you run and we will help with the integration.

Pro plan · REST + webhooks · Integration support included