Menu

3 operations. Every schema and example on this page is generated from the platform contract.

Delete a curated menu row.

Removes the row and its membership list. The FOOD is untouched, a row is a shelf, not a product. To hide a row without losing the work, set `is_active` false instead.

Parameters

idstring · uuidqueryrequired

Response, 200

deletedbooleanrequired
curl -X DELETE "https://www.membber.com/api/v1/menu/collections?id=00000d1b-0000-4000-8000-d0c500000000" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678"
Response, 200
{
  "deleted": true
}

A store's curated menu rows.

Every row the merchant has made for her shop page ("Just baked", "Movie night"), with the items in each and the weekday or date window she set. Inactive rows are included so she can switch one back on.

Response, 200

collectionsarray of objectrequired
9 child fields
idstring · uuidrequired
titlestringrequired
subtitlestring, nullablerequired
sort_orderintegerrequired
is_activebooleanrequired
days_of_weekarray of integerrequired

null = every day.

starts_onstring, nullablerequired

YYYY-MM-DD, inclusive. null = no start.

ends_onstring, nullablerequired

YYYY-MM-DD, inclusive. null = it never retires.

itemsarray of objectrequired
2 child fields
menu_item_idstring · uuidrequired
sort_orderintegerrequired
curl -G "https://www.membber.com/api/v1/menu/collections" \
  -H "Authorization: Bearer $MEMBBER_TOKEN"
Response, 200
{
  "collections": [
    {
      "id": "00000d1b-0000-4000-8000-d0c500000000",
      "title": "Morning class",
      "subtitle": "<subtitle>",
      "sort_order": -9007199254740991,
      "is_active": true,
      "days_of_week": [
        0
      ],
      "starts_on": "<starts_on>",
      "ends_on": "<ends_on>",
      "items": [
        {
          "menu_item_id": "ca65a6e7-0000-4000-8000-d0c5000000ca",
          "sort_order": 0
        }
      ]
    }
  ]
}

Create or update a curated menu row.

Creates a row when `id` is absent, updates it when present. `item_ids` REPLACES the row's contents in the order given, so a reorder and a removal are the same call. Items must belong to this store, the database refuses anything else.

Request body

idstring · uuidoptional

Omit to create, send to update.

titlestringrequired

The merchant's own words. Shown verbatim as the heading.

subtitlestring, nullableoptional
sort_orderintegeroptional
is_activebooleanoptional
days_of_weekarray of integeroptional

null or omitted = every day.

starts_onstring, nullableoptional
ends_onstring, nullableoptional
item_idsarray of string · uuidrequired

The items in the row, IN HER ORDER. Replaces the whole list, send it complete.

Response, 200

collectionobjectrequired
9 child fields
idstring · uuidrequired
titlestringrequired
subtitlestring, nullablerequired
sort_orderintegerrequired
is_activebooleanrequired
days_of_weekarray of integerrequired

null = every day.

starts_onstring, nullablerequired

YYYY-MM-DD, inclusive. null = no start.

ends_onstring, nullablerequired

YYYY-MM-DD, inclusive. null = it never retires.

itemsarray of objectrequired
2 child fields
menu_item_idstring · uuidrequired
sort_orderintegerrequired
curl -X POST "https://www.membber.com/api/v1/menu/collections" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Morning class",
    "item_ids": [
      "7e22b9c7-0000-4000-8000-d0c50000007e"
    ]
  }'
Response, 200
{
  "collection": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "title": "Morning class",
    "subtitle": "<subtitle>",
    "sort_order": -9007199254740991,
    "is_active": true,
    "days_of_week": [
      0
    ],
    "starts_on": "<starts_on>",
    "ends_on": "<ends_on>",
    "items": [
      {
        "menu_item_id": "ca65a6e7-0000-4000-8000-d0c5000000ca",
        "sort_order": 0
      }
    ]
  }
}
WhatsApp
Book a Call
Start Free