Apply a catalog import
Creates the planned catalog entities in a new inactive draft, or adds them to the exact existing inactive draft selected in the plan.
/v1/restaurants/{restaurantId}/catalog-import/applyCreates the planned catalog entities in a new inactive draft, or adds them to the exact existing inactive draft selected in the plan. The plan hash, explicit confirmation, and idempotency key are required. This operation never publishes or selects a POS or online menu. Organization-boundary tokens also require fiest.organization.read; when a token covers several organizations, organization_id must identify an exact organization returned by listOrganizations.
Quick request
curl -X POST "https://example.com/v1/restaurants/11111111-1111-4111-8111-111111111111/catalog-import/apply?organization_id=33333333-3333-4333-8333-333333333333" \ -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", "basePriceMinor": 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": { "menuId": "43f64da8-4ec2-4900-b137-1c0927c975d2", "name": "Lunch menu", "isPosMenu": false, "isOnlineMenu": 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.
uuidQuery Parameters
An organizationId returned by GET /v1/organizations. Required for restaurant-scoped calls when a Management portfolio authorization covers more than one organization; omitted for a single-restaurant authorization and optional for a one-organization grant.
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