Apply a catalog import
Creates the planned catalog entities and one inactive draft menu.
/v1/restaurants/{restaurantId}/catalog-import/applyCreates the planned catalog entities and one inactive draft menu. The plan hash, explicit confirmation, and idempotency key are required; this operation never publishes the new menu. Organization-boundary tokens also require fiest.organization.read.
Quick request
curl -X POST "https://example.com/v1/restaurants/11111111-1111-4111-8111-111111111111/catalog-import/apply" \ -H "Authorization: Bearer $FIEST_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "target": { "mode": "new_draft" }, "document": { "menu": { "ref": "lunch-menu", "name": "Lunch menu" }, "existingMenuCategories": [], "menuCategories": [ { "ref": "pizzas", "name": "Pizzas", "visible": true, "regulatedProductClass": "standard", "discountPolicy": "allowed" } ], "menuItems": [ { "ref": "margherita", "categoryRef": "pizzas", "name": "Margherita", "priceMinor": 1290, "description": null, "visible": true, "dietaryInfo": { "vegan": false, "vegetarian": true, "gluten-free": false, "dairy-free": false, "lactose-free": false, "low-lactose": false, "egg-free": false, "nut-free": false, "soy-free": false }, "tag": null, "productType": "food", "showInKitchen": true, "trackVolume": false, "openPrice": false, "isAlcohol": false, "volume": null, "unit": null, "alcoholType": null, "alcoholPercentage": null, "regulatedProductClassOverride": null, "discountPolicyOverride": null, "optionGroupAssignments": [] } ], "optionGroups": [], "productCategories": [], "products": [], "combos": [] }, "expectedPlanHash": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "idempotencyKey": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb", "confirmed": true }'{ "data": { "actionId": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa", "restaurantId": "11111111-1111-4111-8111-111111111111", "menu": { "menuPublicId": "43f64da8-4ec2-4900-b137-1c0927c975d2", "name": "Lunch menu", "activeForPos": false, "onlineOrdering": false, "categoryCount": 1, "itemCount": 1 }, "created": { "menus": 1, "newMenus": 1, "menuCategories": 1, "menuItems": 1, "optionGroups": 0, "options": 0, "productCategories": 0, "products": 0, "combos": 0, "comboComponents": 0 }, "ids": { "menu": { "lunch-menu": "33333333-3333-4333-8333-333333333333" }, "menuCategories": { "pizzas": "44444444-4444-4444-8444-444444444444" }, "existingMenuCategories": {}, "menuItems": { "margherita": "55555555-5555-4555-8555-555555555555" }, "optionGroups": {}, "options": {}, "productCategories": {}, "products": {} }, "replayed": false }}Authorization
fiestOAuth fiest.restaurant.read, fiest.menu.read, fiest.catalog.import.writeOAuth 2.1 authorization code with PKCE. Partner clients and redirect URIs must be approved by Fiest before use.
In: header
Scope: fiest.restaurant.read, fiest.menu.read, fiest.catalog.import.write
Path Parameters
A restaurant identifier returned by the authorized restaurant list.
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json