# Sync menu for an outlet

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://apidocs.cata.sg/pos-integration-service-api/api/v-1/outlets/outlet-id/menu/llms.txt.
> For full documentation content, see https://apidocs.cata.sg/pos-integration-service-api/api/v-1/outlets/outlet-id/menu/llms-full.txt.

POST http://localhost:8080/api/v1/outlets/{outletId}/menu
Content-Type: application/json

Sync a full menu for a specific outlet. The outlet is identified by `{outletId}` (store UUID).
The POS adapter resolves its own store identifier to the outlet UUID
before calling this endpoint.

The request body is a **JSON array** of menu objects (one outlet can have multiple menus,
e.g. delivery menu + pickup menu).

The endpoint processes synchronously within a single transaction:
upserts menus, items, modifiers, bundle sections, operating hours, and store links.

**Idempotent:** calling with the same payload again updates existing records.


Reference: https://apidocs.cata.sg/pos-integration-service-api/api/v-1/outlets/outlet-id/menu/sync-menu-for-an-outlet

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /api/v1/outlets/{outletId}/menu:
    post:
      operationId: sync-menu-for-an-outlet
      summary: Sync menu for an outlet
      description: >
        Sync a full menu for a specific outlet. The outlet is identified by
        `{outletId}` (store UUID).

        The POS adapter resolves its own store identifier to the outlet UUID

        before calling this endpoint.


        The request body is a **JSON array** of menu objects (one outlet can
        have multiple menus,

        e.g. delivery menu + pickup menu).


        The endpoint processes synchronously within a single transaction:

        upserts menus, items, modifiers, bundle sections, operating hours, and
        store links.


        **Idempotent:** calling with the same payload again updates existing
        records.
      tags:
        - >-
          subpackage_api.subpackage_api/v1.subpackage_api/v1/outlets.subpackage_api/v1/outlets/outletId.subpackage_api/v1/outlets/outletId/menu
      parameters:
        - name: outletId
          in: path
          description: Outlet UUID
          required: true
          schema:
            type: string
        - name: X-Api-Key
          in: header
          required: true
          schema:
            type: string
        - name: X-Tenant-ID
          in: header
          description: Tenant identifier
          required: false
          schema:
            type: string
        - name: X-Provider
          in: header
          description: POS provider name (validated against tenant settings)
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/api_v1_outlets_{outletId}_menu_Sync menu
                  for an outlet_Response_200
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PostApiV1OutletsOutletidMenuRequestBadRequestError
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                description: Any type
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                description: Any type
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: >-
                  #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItems
servers:
  - url: http://localhost:8080
components:
  schemas:
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsAvailabilitiesItems:
      type: object
      properties:
        dayOfWeek:
          type: integer
        startTime:
          type: string
        endTime:
          type: string
      required:
        - dayOfWeek
        - startTime
        - endTime
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsAvailabilitiesItems
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsCategoriesItems:
      type: object
      properties:
        name:
          type: string
        subProducts:
          type: array
          items:
            type: string
      required:
        - name
        - subProducts
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsCategoriesItems
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsProductsKey0:
      type: object
      properties:
        _id:
          type: string
        plu:
          type: string
        name:
          type: string
        description:
          type: string
        price:
          type: integer
        imageUrl:
          type: string
        visible:
          type: boolean
        isCombo:
          type: boolean
        isVariant:
          type: boolean
        subProducts:
          type: array
          items:
            type: string
        deliveryTax:
          type: integer
        takeawayTax:
          type: number
          format: double
        eatInTax:
          type: number
          format: double
        productTags:
          type: array
          items:
            type: integer
      required:
        - _id
        - plu
        - name
        - description
        - price
        - imageUrl
        - visible
        - isCombo
        - isVariant
        - subProducts
        - deliveryTax
        - takeawayTax
        - eatInTax
        - productTags
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsProductsKey0
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsProducts:
      type: object
      properties:
        key_0:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsProductsKey0
      required:
        - key_0
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsProducts
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifierGroupsKey0:
      type: object
      properties:
        plu:
          type: string
        name:
          type: string
        min:
          type: number
          format: double
        max:
          type: number
          format: double
        multiMax:
          type: integer
        isUpsell:
          type: boolean
        subProducts:
          type: array
          items:
            type: string
      required:
        - plu
        - name
        - min
        - max
        - multiMax
        - isUpsell
        - subProducts
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifierGroupsKey0
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifierGroups:
      type: object
      properties:
        key_0:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifierGroupsKey0
      required:
        - key_0
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifierGroups
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifiersKey0:
      type: object
      properties:
        _id:
          type: string
        plu:
          type: string
        name:
          type: string
        description:
          type: string
        price:
          type: integer
        imageUrl:
          type: string
        defaultQuantity:
          type: integer
        deliveryTax:
          type: number
          format: double
        takeawayTax:
          type: number
          format: double
        eatInTax:
          type: number
          format: double
        productTags:
          type: array
          items:
            type: integer
        subProducts:
          type: array
          items:
            type: string
      required:
        - _id
        - plu
        - name
        - description
        - price
        - imageUrl
        - defaultQuantity
        - deliveryTax
        - takeawayTax
        - eatInTax
        - productTags
        - subProducts
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifiersKey0
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifiersKey1:
      type: object
      properties:
        _id:
          type: string
        plu:
          type: string
        name:
          type: string
        description:
          type: string
        price:
          type: integer
        imageUrl:
          type: string
        defaultQuantity:
          type: integer
        deliveryTax:
          type: number
          format: double
        takeawayTax:
          type: number
          format: double
        eatInTax:
          type: number
          format: double
        productTags:
          type: array
          items:
            type: integer
        subProducts:
          type: array
          items:
            type: string
      required:
        - _id
        - plu
        - name
        - description
        - price
        - imageUrl
        - defaultQuantity
        - deliveryTax
        - takeawayTax
        - eatInTax
        - productTags
        - subProducts
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifiersKey1
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifiers:
      type: object
      properties:
        key_0:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifiersKey0
        key_1:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifiersKey1
      required:
        - key_0
        - key_1
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifiers
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsSnoozedProductsKey0:
      type: object
      properties:
        plu:
          type: string
        snoozeStart:
          type: string
          format: date-time
        snoozeEnd:
          type: string
          format: date-time
      required:
        - plu
        - snoozeStart
        - snoozeEnd
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsSnoozedProductsKey0
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsSnoozedProductsKey1:
      type: object
      properties:
        plu:
          type: string
        snoozeStart:
          type: string
          format: date-time
        snoozeEnd:
          type: string
          format: date-time
      required:
        - plu
        - snoozeStart
        - snoozeEnd
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsSnoozedProductsKey1
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsSnoozedProducts:
      type: object
      properties:
        key_0:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsSnoozedProductsKey0
        key_1:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsSnoozedProductsKey1
      required:
        - key_0
        - key_1
      title: >-
        ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsSnoozedProducts
    ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItems:
      type: object
      properties:
        menuId:
          type: string
        menu:
          type: string
        menuType:
          type: integer
        availabilities:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsAvailabilitiesItems
        categories:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsCategoriesItems
        products:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsProducts
        modifierGroups:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifierGroups
        modifiers:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsModifiers
        snoozedProducts:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItemsSnoozedProducts
      required:
        - menuId
        - menu
        - menuType
        - availabilities
        - categories
        - products
        - modifierGroups
        - modifiers
        - snoozedProducts
      title: ApiV1OutletsOutletIdMenuPostRequestBodyContentApplicationJsonSchemaItems
    ApiV1OutletsOutletIdMenuPostResponsesContentApplicationJsonSchemaSummary:
      type: object
      properties:
        menusProcessed:
          type: integer
        itemsSynced:
          type: integer
        modifiersSynced:
          type: integer
      required:
        - menusProcessed
        - itemsSynced
        - modifiersSynced
      title: ApiV1OutletsOutletIdMenuPostResponsesContentApplicationJsonSchemaSummary
    ApiV1OutletsOutletIdMenuPostResponsesContentApplicationJsonSchemaMenusItems:
      type: object
      properties:
        menuId:
          type: string
        itemCount:
          type: integer
        categoryCount:
          type: integer
      required:
        - menuId
        - itemCount
        - categoryCount
      title: >-
        ApiV1OutletsOutletIdMenuPostResponsesContentApplicationJsonSchemaMenusItems
    api_v1_outlets_{outletId}_menu_Sync menu for an outlet_Response_200:
      type: object
      properties:
        status:
          type: string
        summary:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostResponsesContentApplicationJsonSchemaSummary
        menus:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1OutletsOutletIdMenuPostResponsesContentApplicationJsonSchemaMenusItems
      required:
        - status
        - summary
        - menus
      title: api_v1_outlets_{outletId}_menu_Sync menu for an outlet_Response_200
    ApiV1OutletsOutletIdMenuPostResponsesContentApplicationJsonSchemaError:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: string
        field:
          type: string
      required:
        - code
        - message
        - details
        - field
      title: ApiV1OutletsOutletIdMenuPostResponsesContentApplicationJsonSchemaError
    PostApiV1OutletsOutletidMenuRequestBadRequestError:
      type: object
      properties:
        error:
          $ref: >-
            #/components/schemas/ApiV1OutletsOutletIdMenuPostResponsesContentApplicationJsonSchemaError
      required:
        - error
      title: PostApiV1OutletsOutletidMenuRequestBadRequestError
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

```

## SDK Code Examples

```python api_v1_outlets_{outletId}_menu_Sync menu for an outlet_example
import requests

url = "http://localhost:8080/api/v1/outlets/string/menu"

payload = [
    {
        "menuId": "menu-golden-dragon-main",
        "menu": "Golden Dragon Main Menu",
        "menuType": 0,
        "availabilities": [
            {
                "dayOfWeek": 1,
                "startTime": "11:00",
                "endTime": "22:00"
            },
            {
                "dayOfWeek": 1,
                "startTime": "11:00",
                "endTime": "22:00"
            }
        ],
        "categories": [
            {
                "name": "Dim Sum",
                "subProducts": ["string", "string"]
            },
            {
                "name": "Dim Sum",
                "subProducts": ["string", "string"]
            }
        ],
        "products": { "key_0": {
                "_id": "string",
                "plu": "DIM-001",
                "name": "Har Gow (Shrimp Dumpling)",
                "description": "string",
                "price": 1250,
                "imageUrl": "string",
                "visible": True,
                "isCombo": True,
                "isVariant": True,
                "subProducts": ["string", "string"],
                "deliveryTax": 10000,
                "takeawayTax": 2892.661374725021,
                "eatInTax": 6735.138740712719,
                "productTags": [4022, 7792]
            } },
        "modifierGroups": { "key_0": {
                "plu": "string",
                "name": "Spice Level",
                "min": 7273.818019270171,
                "max": 8853.58519730965,
                "multiMax": 3213,
                "isUpsell": False,
                "subProducts": ["string", "string"]
            } },
        "modifiers": {
            "key_0": {
                "_id": "string",
                "plu": "MOD-MILD",
                "name": "Mild",
                "description": "string",
                "price": 0,
                "imageUrl": "string",
                "defaultQuantity": 1279,
                "deliveryTax": 6065.568393779801,
                "takeawayTax": 1702.1974084327885,
                "eatInTax": 6871.748973105587,
                "productTags": [8809, 654],
                "subProducts": ["string", "string"]
            },
            "key_1": {
                "_id": "string",
                "plu": "MOD-MILD",
                "name": "Mild",
                "description": "string",
                "price": 0,
                "imageUrl": "string",
                "defaultQuantity": 6230,
                "deliveryTax": 1981.3402436030358,
                "takeawayTax": 15.837828252966979,
                "eatInTax": 3247.6482725454425,
                "productTags": [9053, 7762],
                "subProducts": ["string", "string"]
            }
        },
        "snoozedProducts": {
            "key_0": {
                "plu": "string",
                "snoozeStart": "2026-03-09T00:00:00Z",
                "snoozeEnd": "2026-03-10T00:00:00Z"
            },
            "key_1": {
                "plu": "string",
                "snoozeStart": "2026-03-09T00:00:00Z",
                "snoozeEnd": "2026-03-10T00:00:00Z"
            }
        }
    },
    {
        "menuId": "menu-golden-dragon-main",
        "menu": "Golden Dragon Main Menu",
        "menuType": 0,
        "availabilities": [
            {
                "dayOfWeek": 1,
                "startTime": "11:00",
                "endTime": "22:00"
            },
            {
                "dayOfWeek": 1,
                "startTime": "11:00",
                "endTime": "22:00"
            }
        ],
        "categories": [
            {
                "name": "Dim Sum",
                "subProducts": ["string", "string"]
            },
            {
                "name": "Dim Sum",
                "subProducts": ["string", "string"]
            }
        ],
        "products": { "key_0": {
                "_id": "string",
                "plu": "DIM-001",
                "name": "Har Gow (Shrimp Dumpling)",
                "description": "string",
                "price": 1250,
                "imageUrl": "string",
                "visible": True,
                "isCombo": True,
                "isVariant": False,
                "subProducts": ["string", "string"],
                "deliveryTax": 10000,
                "takeawayTax": 6926.084339030969,
                "eatInTax": 9102.586678708589,
                "productTags": [4593, 9904]
            } },
        "modifierGroups": {
            "key_0": {
                "plu": "string",
                "name": "Spice Level",
                "min": 6769.446609178771,
                "max": 1868.153445764924,
                "multiMax": 3854,
                "isUpsell": False,
                "subProducts": ["string", "string"]
            },
            "key_1": {
                "plu": "string",
                "name": "Spice Level",
                "min": 288.64808104787977,
                "max": 9213.40308076754,
                "multiMax": 470,
                "isUpsell": False,
                "subProducts": ["string", "string"]
            },
            "key_2": {
                "plu": "string",
                "name": "Spice Level",
                "min": 2551.7430500984183,
                "max": 4061.422386674731,
                "multiMax": 6051,
                "isUpsell": True,
                "subProducts": ["string", "string"]
            }
        },
        "modifiers": {
            "key_0": {
                "_id": "string",
                "plu": "MOD-MILD",
                "name": "Mild",
                "description": "string",
                "price": 0,
                "imageUrl": "string",
                "defaultQuantity": 6477,
                "deliveryTax": 687.7752352188371,
                "takeawayTax": 870.272126256737,
                "eatInTax": 9906.502522431841,
                "productTags": [6663, 3502],
                "subProducts": ["string", "string"]
            },
            "key_1": {
                "_id": "string",
                "plu": "MOD-MILD",
                "name": "Mild",
                "description": "string",
                "price": 0,
                "imageUrl": "string",
                "defaultQuantity": 6362,
                "deliveryTax": 7648.226607957873,
                "takeawayTax": 2638.27970386896,
                "eatInTax": 1804.3777697554942,
                "productTags": [2672, 4816],
                "subProducts": ["string", "string"]
            }
        },
        "snoozedProducts": {
            "key_0": {
                "plu": "string",
                "snoozeStart": "2026-03-09T00:00:00Z",
                "snoozeEnd": "2026-03-10T00:00:00Z"
            },
            "key_1": {
                "plu": "string",
                "snoozeStart": "2026-03-09T00:00:00Z",
                "snoozeEnd": "2026-03-10T00:00:00Z"
            }
        }
    }
]
headers = {
    "X-Tenant-ID": "string",
    "X-Provider": "cata",
    "X-Api-Key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript api_v1_outlets_{outletId}_menu_Sync menu for an outlet_example
const url = 'http://localhost:8080/api/v1/outlets/string/menu';
const options = {
  method: 'POST',
  headers: {
    'X-Tenant-ID': 'string',
    'X-Provider': 'cata',
    'X-Api-Key': '<apiKey>',
    'Content-Type': 'application/json'
  },
  body: '[{"menuId":"menu-golden-dragon-main","menu":"Golden Dragon Main Menu","menuType":0,"availabilities":[{"dayOfWeek":1,"startTime":"11:00","endTime":"22:00"},{"dayOfWeek":1,"startTime":"11:00","endTime":"22:00"}],"categories":[{"name":"Dim Sum","subProducts":["string","string"]},{"name":"Dim Sum","subProducts":["string","string"]}],"products":{"key_0":{"_id":"string","plu":"DIM-001","name":"Har Gow (Shrimp Dumpling)","description":"string","price":1250,"imageUrl":"string","visible":true,"isCombo":true,"isVariant":true,"subProducts":["string","string"],"deliveryTax":10000,"takeawayTax":2892.661374725021,"eatInTax":6735.138740712719,"productTags":[4022,7792]}},"modifierGroups":{"key_0":{"plu":"string","name":"Spice Level","min":7273.818019270171,"max":8853.58519730965,"multiMax":3213,"isUpsell":false,"subProducts":["string","string"]}},"modifiers":{"key_0":{"_id":"string","plu":"MOD-MILD","name":"Mild","description":"string","price":0,"imageUrl":"string","defaultQuantity":1279,"deliveryTax":6065.568393779801,"takeawayTax":1702.1974084327885,"eatInTax":6871.748973105587,"productTags":[8809,654],"subProducts":["string","string"]},"key_1":{"_id":"string","plu":"MOD-MILD","name":"Mild","description":"string","price":0,"imageUrl":"string","defaultQuantity":6230,"deliveryTax":1981.3402436030358,"takeawayTax":15.837828252966979,"eatInTax":3247.6482725454425,"productTags":[9053,7762],"subProducts":["string","string"]}},"snoozedProducts":{"key_0":{"plu":"string","snoozeStart":"2026-03-09T00:00:00Z","snoozeEnd":"2026-03-10T00:00:00Z"},"key_1":{"plu":"string","snoozeStart":"2026-03-09T00:00:00Z","snoozeEnd":"2026-03-10T00:00:00Z"}}},{"menuId":"menu-golden-dragon-main","menu":"Golden Dragon Main Menu","menuType":0,"availabilities":[{"dayOfWeek":1,"startTime":"11:00","endTime":"22:00"},{"dayOfWeek":1,"startTime":"11:00","endTime":"22:00"}],"categories":[{"name":"Dim Sum","subProducts":["string","string"]},{"name":"Dim Sum","subProducts":["string","string"]}],"products":{"key_0":{"_id":"string","plu":"DIM-001","name":"Har Gow (Shrimp Dumpling)","description":"string","price":1250,"imageUrl":"string","visible":true,"isCombo":true,"isVariant":false,"subProducts":["string","string"],"deliveryTax":10000,"takeawayTax":6926.084339030969,"eatInTax":9102.586678708589,"productTags":[4593,9904]}},"modifierGroups":{"key_0":{"plu":"string","name":"Spice Level","min":6769.446609178771,"max":1868.153445764924,"multiMax":3854,"isUpsell":false,"subProducts":["string","string"]},"key_1":{"plu":"string","name":"Spice Level","min":288.64808104787977,"max":9213.40308076754,"multiMax":470,"isUpsell":false,"subProducts":["string","string"]},"key_2":{"plu":"string","name":"Spice Level","min":2551.7430500984183,"max":4061.422386674731,"multiMax":6051,"isUpsell":true,"subProducts":["string","string"]}},"modifiers":{"key_0":{"_id":"string","plu":"MOD-MILD","name":"Mild","description":"string","price":0,"imageUrl":"string","defaultQuantity":6477,"deliveryTax":687.7752352188371,"takeawayTax":870.272126256737,"eatInTax":9906.502522431841,"productTags":[6663,3502],"subProducts":["string","string"]},"key_1":{"_id":"string","plu":"MOD-MILD","name":"Mild","description":"string","price":0,"imageUrl":"string","defaultQuantity":6362,"deliveryTax":7648.226607957873,"takeawayTax":2638.27970386896,"eatInTax":1804.3777697554942,"productTags":[2672,4816],"subProducts":["string","string"]}},"snoozedProducts":{"key_0":{"plu":"string","snoozeStart":"2026-03-09T00:00:00Z","snoozeEnd":"2026-03-10T00:00:00Z"},"key_1":{"plu":"string","snoozeStart":"2026-03-09T00:00:00Z","snoozeEnd":"2026-03-10T00:00:00Z"}}}]'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go api_v1_outlets_{outletId}_menu_Sync menu for an outlet_example
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "http://localhost:8080/api/v1/outlets/string/menu"

	payload := strings.NewReader("[\n  {\n    \"menuId\": \"menu-golden-dragon-main\",\n    \"menu\": \"Golden Dragon Main Menu\",\n    \"menuType\": 0,\n    \"availabilities\": [\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      },\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      }\n    ],\n    \"categories\": [\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    ],\n    \"products\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"DIM-001\",\n        \"name\": \"Har Gow (Shrimp Dumpling)\",\n        \"description\": \"string\",\n        \"price\": 1250,\n        \"imageUrl\": \"string\",\n        \"visible\": true,\n        \"isCombo\": true,\n        \"isVariant\": true,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ],\n        \"deliveryTax\": 10000,\n        \"takeawayTax\": 2892.661374725021,\n        \"eatInTax\": 6735.138740712719,\n        \"productTags\": [\n          4022,\n          7792\n        ]\n      }\n    },\n    \"modifierGroups\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 7273.818019270171,\n        \"max\": 8853.58519730965,\n        \"multiMax\": 3213,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"modifiers\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 1279,\n        \"deliveryTax\": 6065.568393779801,\n        \"takeawayTax\": 1702.1974084327885,\n        \"eatInTax\": 6871.748973105587,\n        \"productTags\": [\n          8809,\n          654\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6230,\n        \"deliveryTax\": 1981.3402436030358,\n        \"takeawayTax\": 15.837828252966979,\n        \"eatInTax\": 3247.6482725454425,\n        \"productTags\": [\n          9053,\n          7762\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"snoozedProducts\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      }\n    }\n  },\n  {\n    \"menuId\": \"menu-golden-dragon-main\",\n    \"menu\": \"Golden Dragon Main Menu\",\n    \"menuType\": 0,\n    \"availabilities\": [\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      },\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      }\n    ],\n    \"categories\": [\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    ],\n    \"products\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"DIM-001\",\n        \"name\": \"Har Gow (Shrimp Dumpling)\",\n        \"description\": \"string\",\n        \"price\": 1250,\n        \"imageUrl\": \"string\",\n        \"visible\": true,\n        \"isCombo\": true,\n        \"isVariant\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ],\n        \"deliveryTax\": 10000,\n        \"takeawayTax\": 6926.084339030969,\n        \"eatInTax\": 9102.586678708589,\n        \"productTags\": [\n          4593,\n          9904\n        ]\n      }\n    },\n    \"modifierGroups\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 6769.446609178771,\n        \"max\": 1868.153445764924,\n        \"multiMax\": 3854,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 288.64808104787977,\n        \"max\": 9213.40308076754,\n        \"multiMax\": 470,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_2\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 2551.7430500984183,\n        \"max\": 4061.422386674731,\n        \"multiMax\": 6051,\n        \"isUpsell\": true,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"modifiers\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6477,\n        \"deliveryTax\": 687.7752352188371,\n        \"takeawayTax\": 870.272126256737,\n        \"eatInTax\": 9906.502522431841,\n        \"productTags\": [\n          6663,\n          3502\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6362,\n        \"deliveryTax\": 7648.226607957873,\n        \"takeawayTax\": 2638.27970386896,\n        \"eatInTax\": 1804.3777697554942,\n        \"productTags\": [\n          2672,\n          4816\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"snoozedProducts\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      }\n    }\n  }\n]")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-Tenant-ID", "string")
	req.Header.Add("X-Provider", "cata")
	req.Header.Add("X-Api-Key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby api_v1_outlets_{outletId}_menu_Sync menu for an outlet_example
require 'uri'
require 'net/http'

url = URI("http://localhost:8080/api/v1/outlets/string/menu")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["X-Tenant-ID"] = 'string'
request["X-Provider"] = 'cata'
request["X-Api-Key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"menuId\": \"menu-golden-dragon-main\",\n    \"menu\": \"Golden Dragon Main Menu\",\n    \"menuType\": 0,\n    \"availabilities\": [\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      },\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      }\n    ],\n    \"categories\": [\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    ],\n    \"products\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"DIM-001\",\n        \"name\": \"Har Gow (Shrimp Dumpling)\",\n        \"description\": \"string\",\n        \"price\": 1250,\n        \"imageUrl\": \"string\",\n        \"visible\": true,\n        \"isCombo\": true,\n        \"isVariant\": true,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ],\n        \"deliveryTax\": 10000,\n        \"takeawayTax\": 2892.661374725021,\n        \"eatInTax\": 6735.138740712719,\n        \"productTags\": [\n          4022,\n          7792\n        ]\n      }\n    },\n    \"modifierGroups\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 7273.818019270171,\n        \"max\": 8853.58519730965,\n        \"multiMax\": 3213,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"modifiers\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 1279,\n        \"deliveryTax\": 6065.568393779801,\n        \"takeawayTax\": 1702.1974084327885,\n        \"eatInTax\": 6871.748973105587,\n        \"productTags\": [\n          8809,\n          654\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6230,\n        \"deliveryTax\": 1981.3402436030358,\n        \"takeawayTax\": 15.837828252966979,\n        \"eatInTax\": 3247.6482725454425,\n        \"productTags\": [\n          9053,\n          7762\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"snoozedProducts\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      }\n    }\n  },\n  {\n    \"menuId\": \"menu-golden-dragon-main\",\n    \"menu\": \"Golden Dragon Main Menu\",\n    \"menuType\": 0,\n    \"availabilities\": [\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      },\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      }\n    ],\n    \"categories\": [\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    ],\n    \"products\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"DIM-001\",\n        \"name\": \"Har Gow (Shrimp Dumpling)\",\n        \"description\": \"string\",\n        \"price\": 1250,\n        \"imageUrl\": \"string\",\n        \"visible\": true,\n        \"isCombo\": true,\n        \"isVariant\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ],\n        \"deliveryTax\": 10000,\n        \"takeawayTax\": 6926.084339030969,\n        \"eatInTax\": 9102.586678708589,\n        \"productTags\": [\n          4593,\n          9904\n        ]\n      }\n    },\n    \"modifierGroups\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 6769.446609178771,\n        \"max\": 1868.153445764924,\n        \"multiMax\": 3854,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 288.64808104787977,\n        \"max\": 9213.40308076754,\n        \"multiMax\": 470,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_2\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 2551.7430500984183,\n        \"max\": 4061.422386674731,\n        \"multiMax\": 6051,\n        \"isUpsell\": true,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"modifiers\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6477,\n        \"deliveryTax\": 687.7752352188371,\n        \"takeawayTax\": 870.272126256737,\n        \"eatInTax\": 9906.502522431841,\n        \"productTags\": [\n          6663,\n          3502\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6362,\n        \"deliveryTax\": 7648.226607957873,\n        \"takeawayTax\": 2638.27970386896,\n        \"eatInTax\": 1804.3777697554942,\n        \"productTags\": [\n          2672,\n          4816\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"snoozedProducts\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      }\n    }\n  }\n]"

response = http.request(request)
puts response.read_body
```

```java api_v1_outlets_{outletId}_menu_Sync menu for an outlet_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("http://localhost:8080/api/v1/outlets/string/menu")
  .header("X-Tenant-ID", "string")
  .header("X-Provider", "cata")
  .header("X-Api-Key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"menuId\": \"menu-golden-dragon-main\",\n    \"menu\": \"Golden Dragon Main Menu\",\n    \"menuType\": 0,\n    \"availabilities\": [\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      },\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      }\n    ],\n    \"categories\": [\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    ],\n    \"products\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"DIM-001\",\n        \"name\": \"Har Gow (Shrimp Dumpling)\",\n        \"description\": \"string\",\n        \"price\": 1250,\n        \"imageUrl\": \"string\",\n        \"visible\": true,\n        \"isCombo\": true,\n        \"isVariant\": true,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ],\n        \"deliveryTax\": 10000,\n        \"takeawayTax\": 2892.661374725021,\n        \"eatInTax\": 6735.138740712719,\n        \"productTags\": [\n          4022,\n          7792\n        ]\n      }\n    },\n    \"modifierGroups\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 7273.818019270171,\n        \"max\": 8853.58519730965,\n        \"multiMax\": 3213,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"modifiers\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 1279,\n        \"deliveryTax\": 6065.568393779801,\n        \"takeawayTax\": 1702.1974084327885,\n        \"eatInTax\": 6871.748973105587,\n        \"productTags\": [\n          8809,\n          654\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6230,\n        \"deliveryTax\": 1981.3402436030358,\n        \"takeawayTax\": 15.837828252966979,\n        \"eatInTax\": 3247.6482725454425,\n        \"productTags\": [\n          9053,\n          7762\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"snoozedProducts\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      }\n    }\n  },\n  {\n    \"menuId\": \"menu-golden-dragon-main\",\n    \"menu\": \"Golden Dragon Main Menu\",\n    \"menuType\": 0,\n    \"availabilities\": [\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      },\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      }\n    ],\n    \"categories\": [\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    ],\n    \"products\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"DIM-001\",\n        \"name\": \"Har Gow (Shrimp Dumpling)\",\n        \"description\": \"string\",\n        \"price\": 1250,\n        \"imageUrl\": \"string\",\n        \"visible\": true,\n        \"isCombo\": true,\n        \"isVariant\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ],\n        \"deliveryTax\": 10000,\n        \"takeawayTax\": 6926.084339030969,\n        \"eatInTax\": 9102.586678708589,\n        \"productTags\": [\n          4593,\n          9904\n        ]\n      }\n    },\n    \"modifierGroups\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 6769.446609178771,\n        \"max\": 1868.153445764924,\n        \"multiMax\": 3854,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 288.64808104787977,\n        \"max\": 9213.40308076754,\n        \"multiMax\": 470,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_2\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 2551.7430500984183,\n        \"max\": 4061.422386674731,\n        \"multiMax\": 6051,\n        \"isUpsell\": true,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"modifiers\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6477,\n        \"deliveryTax\": 687.7752352188371,\n        \"takeawayTax\": 870.272126256737,\n        \"eatInTax\": 9906.502522431841,\n        \"productTags\": [\n          6663,\n          3502\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6362,\n        \"deliveryTax\": 7648.226607957873,\n        \"takeawayTax\": 2638.27970386896,\n        \"eatInTax\": 1804.3777697554942,\n        \"productTags\": [\n          2672,\n          4816\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"snoozedProducts\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      }\n    }\n  }\n]")
  .asString();
```

```php api_v1_outlets_{outletId}_menu_Sync menu for an outlet_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'http://localhost:8080/api/v1/outlets/string/menu', [
  'body' => '[
  {
    "menuId": "menu-golden-dragon-main",
    "menu": "Golden Dragon Main Menu",
    "menuType": 0,
    "availabilities": [
      {
        "dayOfWeek": 1,
        "startTime": "11:00",
        "endTime": "22:00"
      },
      {
        "dayOfWeek": 1,
        "startTime": "11:00",
        "endTime": "22:00"
      }
    ],
    "categories": [
      {
        "name": "Dim Sum",
        "subProducts": [
          "string",
          "string"
        ]
      },
      {
        "name": "Dim Sum",
        "subProducts": [
          "string",
          "string"
        ]
      }
    ],
    "products": {
      "key_0": {
        "_id": "string",
        "plu": "DIM-001",
        "name": "Har Gow (Shrimp Dumpling)",
        "description": "string",
        "price": 1250,
        "imageUrl": "string",
        "visible": true,
        "isCombo": true,
        "isVariant": true,
        "subProducts": [
          "string",
          "string"
        ],
        "deliveryTax": 10000,
        "takeawayTax": 2892.661374725021,
        "eatInTax": 6735.138740712719,
        "productTags": [
          4022,
          7792
        ]
      }
    },
    "modifierGroups": {
      "key_0": {
        "plu": "string",
        "name": "Spice Level",
        "min": 7273.818019270171,
        "max": 8853.58519730965,
        "multiMax": 3213,
        "isUpsell": false,
        "subProducts": [
          "string",
          "string"
        ]
      }
    },
    "modifiers": {
      "key_0": {
        "_id": "string",
        "plu": "MOD-MILD",
        "name": "Mild",
        "description": "string",
        "price": 0,
        "imageUrl": "string",
        "defaultQuantity": 1279,
        "deliveryTax": 6065.568393779801,
        "takeawayTax": 1702.1974084327885,
        "eatInTax": 6871.748973105587,
        "productTags": [
          8809,
          654
        ],
        "subProducts": [
          "string",
          "string"
        ]
      },
      "key_1": {
        "_id": "string",
        "plu": "MOD-MILD",
        "name": "Mild",
        "description": "string",
        "price": 0,
        "imageUrl": "string",
        "defaultQuantity": 6230,
        "deliveryTax": 1981.3402436030358,
        "takeawayTax": 15.837828252966979,
        "eatInTax": 3247.6482725454425,
        "productTags": [
          9053,
          7762
        ],
        "subProducts": [
          "string",
          "string"
        ]
      }
    },
    "snoozedProducts": {
      "key_0": {
        "plu": "string",
        "snoozeStart": "2026-03-09T00:00:00Z",
        "snoozeEnd": "2026-03-10T00:00:00Z"
      },
      "key_1": {
        "plu": "string",
        "snoozeStart": "2026-03-09T00:00:00Z",
        "snoozeEnd": "2026-03-10T00:00:00Z"
      }
    }
  },
  {
    "menuId": "menu-golden-dragon-main",
    "menu": "Golden Dragon Main Menu",
    "menuType": 0,
    "availabilities": [
      {
        "dayOfWeek": 1,
        "startTime": "11:00",
        "endTime": "22:00"
      },
      {
        "dayOfWeek": 1,
        "startTime": "11:00",
        "endTime": "22:00"
      }
    ],
    "categories": [
      {
        "name": "Dim Sum",
        "subProducts": [
          "string",
          "string"
        ]
      },
      {
        "name": "Dim Sum",
        "subProducts": [
          "string",
          "string"
        ]
      }
    ],
    "products": {
      "key_0": {
        "_id": "string",
        "plu": "DIM-001",
        "name": "Har Gow (Shrimp Dumpling)",
        "description": "string",
        "price": 1250,
        "imageUrl": "string",
        "visible": true,
        "isCombo": true,
        "isVariant": false,
        "subProducts": [
          "string",
          "string"
        ],
        "deliveryTax": 10000,
        "takeawayTax": 6926.084339030969,
        "eatInTax": 9102.586678708589,
        "productTags": [
          4593,
          9904
        ]
      }
    },
    "modifierGroups": {
      "key_0": {
        "plu": "string",
        "name": "Spice Level",
        "min": 6769.446609178771,
        "max": 1868.153445764924,
        "multiMax": 3854,
        "isUpsell": false,
        "subProducts": [
          "string",
          "string"
        ]
      },
      "key_1": {
        "plu": "string",
        "name": "Spice Level",
        "min": 288.64808104787977,
        "max": 9213.40308076754,
        "multiMax": 470,
        "isUpsell": false,
        "subProducts": [
          "string",
          "string"
        ]
      },
      "key_2": {
        "plu": "string",
        "name": "Spice Level",
        "min": 2551.7430500984183,
        "max": 4061.422386674731,
        "multiMax": 6051,
        "isUpsell": true,
        "subProducts": [
          "string",
          "string"
        ]
      }
    },
    "modifiers": {
      "key_0": {
        "_id": "string",
        "plu": "MOD-MILD",
        "name": "Mild",
        "description": "string",
        "price": 0,
        "imageUrl": "string",
        "defaultQuantity": 6477,
        "deliveryTax": 687.7752352188371,
        "takeawayTax": 870.272126256737,
        "eatInTax": 9906.502522431841,
        "productTags": [
          6663,
          3502
        ],
        "subProducts": [
          "string",
          "string"
        ]
      },
      "key_1": {
        "_id": "string",
        "plu": "MOD-MILD",
        "name": "Mild",
        "description": "string",
        "price": 0,
        "imageUrl": "string",
        "defaultQuantity": 6362,
        "deliveryTax": 7648.226607957873,
        "takeawayTax": 2638.27970386896,
        "eatInTax": 1804.3777697554942,
        "productTags": [
          2672,
          4816
        ],
        "subProducts": [
          "string",
          "string"
        ]
      }
    },
    "snoozedProducts": {
      "key_0": {
        "plu": "string",
        "snoozeStart": "2026-03-09T00:00:00Z",
        "snoozeEnd": "2026-03-10T00:00:00Z"
      },
      "key_1": {
        "plu": "string",
        "snoozeStart": "2026-03-09T00:00:00Z",
        "snoozeEnd": "2026-03-10T00:00:00Z"
      }
    }
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
    'X-Api-Key' => '<apiKey>',
    'X-Provider' => 'cata',
    'X-Tenant-ID' => 'string',
  ],
]);

echo $response->getBody();
```

```csharp api_v1_outlets_{outletId}_menu_Sync menu for an outlet_example
using RestSharp;

var client = new RestClient("http://localhost:8080/api/v1/outlets/string/menu");
var request = new RestRequest(Method.POST);
request.AddHeader("X-Tenant-ID", "string");
request.AddHeader("X-Provider", "cata");
request.AddHeader("X-Api-Key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"menuId\": \"menu-golden-dragon-main\",\n    \"menu\": \"Golden Dragon Main Menu\",\n    \"menuType\": 0,\n    \"availabilities\": [\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      },\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      }\n    ],\n    \"categories\": [\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    ],\n    \"products\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"DIM-001\",\n        \"name\": \"Har Gow (Shrimp Dumpling)\",\n        \"description\": \"string\",\n        \"price\": 1250,\n        \"imageUrl\": \"string\",\n        \"visible\": true,\n        \"isCombo\": true,\n        \"isVariant\": true,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ],\n        \"deliveryTax\": 10000,\n        \"takeawayTax\": 2892.661374725021,\n        \"eatInTax\": 6735.138740712719,\n        \"productTags\": [\n          4022,\n          7792\n        ]\n      }\n    },\n    \"modifierGroups\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 7273.818019270171,\n        \"max\": 8853.58519730965,\n        \"multiMax\": 3213,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"modifiers\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 1279,\n        \"deliveryTax\": 6065.568393779801,\n        \"takeawayTax\": 1702.1974084327885,\n        \"eatInTax\": 6871.748973105587,\n        \"productTags\": [\n          8809,\n          654\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6230,\n        \"deliveryTax\": 1981.3402436030358,\n        \"takeawayTax\": 15.837828252966979,\n        \"eatInTax\": 3247.6482725454425,\n        \"productTags\": [\n          9053,\n          7762\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"snoozedProducts\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      }\n    }\n  },\n  {\n    \"menuId\": \"menu-golden-dragon-main\",\n    \"menu\": \"Golden Dragon Main Menu\",\n    \"menuType\": 0,\n    \"availabilities\": [\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      },\n      {\n        \"dayOfWeek\": 1,\n        \"startTime\": \"11:00\",\n        \"endTime\": \"22:00\"\n      }\n    ],\n    \"categories\": [\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      {\n        \"name\": \"Dim Sum\",\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    ],\n    \"products\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"DIM-001\",\n        \"name\": \"Har Gow (Shrimp Dumpling)\",\n        \"description\": \"string\",\n        \"price\": 1250,\n        \"imageUrl\": \"string\",\n        \"visible\": true,\n        \"isCombo\": true,\n        \"isVariant\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ],\n        \"deliveryTax\": 10000,\n        \"takeawayTax\": 6926.084339030969,\n        \"eatInTax\": 9102.586678708589,\n        \"productTags\": [\n          4593,\n          9904\n        ]\n      }\n    },\n    \"modifierGroups\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 6769.446609178771,\n        \"max\": 1868.153445764924,\n        \"multiMax\": 3854,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 288.64808104787977,\n        \"max\": 9213.40308076754,\n        \"multiMax\": 470,\n        \"isUpsell\": false,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_2\": {\n        \"plu\": \"string\",\n        \"name\": \"Spice Level\",\n        \"min\": 2551.7430500984183,\n        \"max\": 4061.422386674731,\n        \"multiMax\": 6051,\n        \"isUpsell\": true,\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"modifiers\": {\n      \"key_0\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6477,\n        \"deliveryTax\": 687.7752352188371,\n        \"takeawayTax\": 870.272126256737,\n        \"eatInTax\": 9906.502522431841,\n        \"productTags\": [\n          6663,\n          3502\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      },\n      \"key_1\": {\n        \"_id\": \"string\",\n        \"plu\": \"MOD-MILD\",\n        \"name\": \"Mild\",\n        \"description\": \"string\",\n        \"price\": 0,\n        \"imageUrl\": \"string\",\n        \"defaultQuantity\": 6362,\n        \"deliveryTax\": 7648.226607957873,\n        \"takeawayTax\": 2638.27970386896,\n        \"eatInTax\": 1804.3777697554942,\n        \"productTags\": [\n          2672,\n          4816\n        ],\n        \"subProducts\": [\n          \"string\",\n          \"string\"\n        ]\n      }\n    },\n    \"snoozedProducts\": {\n      \"key_0\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      },\n      \"key_1\": {\n        \"plu\": \"string\",\n        \"snoozeStart\": \"2026-03-09T00:00:00Z\",\n        \"snoozeEnd\": \"2026-03-10T00:00:00Z\"\n      }\n    }\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift api_v1_outlets_{outletId}_menu_Sync menu for an outlet_example
import Foundation

let headers = [
  "X-Tenant-ID": "string",
  "X-Provider": "cata",
  "X-Api-Key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  [
    "menuId": "menu-golden-dragon-main",
    "menu": "Golden Dragon Main Menu",
    "menuType": 0,
    "availabilities": [
      [
        "dayOfWeek": 1,
        "startTime": "11:00",
        "endTime": "22:00"
      ],
      [
        "dayOfWeek": 1,
        "startTime": "11:00",
        "endTime": "22:00"
      ]
    ],
    "categories": [
      [
        "name": "Dim Sum",
        "subProducts": ["string", "string"]
      ],
      [
        "name": "Dim Sum",
        "subProducts": ["string", "string"]
      ]
    ],
    "products": ["key_0": [
        "_id": "string",
        "plu": "DIM-001",
        "name": "Har Gow (Shrimp Dumpling)",
        "description": "string",
        "price": 1250,
        "imageUrl": "string",
        "visible": true,
        "isCombo": true,
        "isVariant": true,
        "subProducts": ["string", "string"],
        "deliveryTax": 10000,
        "takeawayTax": 2892.661374725021,
        "eatInTax": 6735.138740712719,
        "productTags": [4022, 7792]
      ]],
    "modifierGroups": ["key_0": [
        "plu": "string",
        "name": "Spice Level",
        "min": 7273.818019270171,
        "max": 8853.58519730965,
        "multiMax": 3213,
        "isUpsell": false,
        "subProducts": ["string", "string"]
      ]],
    "modifiers": [
      "key_0": [
        "_id": "string",
        "plu": "MOD-MILD",
        "name": "Mild",
        "description": "string",
        "price": 0,
        "imageUrl": "string",
        "defaultQuantity": 1279,
        "deliveryTax": 6065.568393779801,
        "takeawayTax": 1702.1974084327885,
        "eatInTax": 6871.748973105587,
        "productTags": [8809, 654],
        "subProducts": ["string", "string"]
      ],
      "key_1": [
        "_id": "string",
        "plu": "MOD-MILD",
        "name": "Mild",
        "description": "string",
        "price": 0,
        "imageUrl": "string",
        "defaultQuantity": 6230,
        "deliveryTax": 1981.3402436030358,
        "takeawayTax": 15.837828252966979,
        "eatInTax": 3247.6482725454425,
        "productTags": [9053, 7762],
        "subProducts": ["string", "string"]
      ]
    ],
    "snoozedProducts": [
      "key_0": [
        "plu": "string",
        "snoozeStart": "2026-03-09T00:00:00Z",
        "snoozeEnd": "2026-03-10T00:00:00Z"
      ],
      "key_1": [
        "plu": "string",
        "snoozeStart": "2026-03-09T00:00:00Z",
        "snoozeEnd": "2026-03-10T00:00:00Z"
      ]
    ]
  ],
  [
    "menuId": "menu-golden-dragon-main",
    "menu": "Golden Dragon Main Menu",
    "menuType": 0,
    "availabilities": [
      [
        "dayOfWeek": 1,
        "startTime": "11:00",
        "endTime": "22:00"
      ],
      [
        "dayOfWeek": 1,
        "startTime": "11:00",
        "endTime": "22:00"
      ]
    ],
    "categories": [
      [
        "name": "Dim Sum",
        "subProducts": ["string", "string"]
      ],
      [
        "name": "Dim Sum",
        "subProducts": ["string", "string"]
      ]
    ],
    "products": ["key_0": [
        "_id": "string",
        "plu": "DIM-001",
        "name": "Har Gow (Shrimp Dumpling)",
        "description": "string",
        "price": 1250,
        "imageUrl": "string",
        "visible": true,
        "isCombo": true,
        "isVariant": false,
        "subProducts": ["string", "string"],
        "deliveryTax": 10000,
        "takeawayTax": 6926.084339030969,
        "eatInTax": 9102.586678708589,
        "productTags": [4593, 9904]
      ]],
    "modifierGroups": [
      "key_0": [
        "plu": "string",
        "name": "Spice Level",
        "min": 6769.446609178771,
        "max": 1868.153445764924,
        "multiMax": 3854,
        "isUpsell": false,
        "subProducts": ["string", "string"]
      ],
      "key_1": [
        "plu": "string",
        "name": "Spice Level",
        "min": 288.64808104787977,
        "max": 9213.40308076754,
        "multiMax": 470,
        "isUpsell": false,
        "subProducts": ["string", "string"]
      ],
      "key_2": [
        "plu": "string",
        "name": "Spice Level",
        "min": 2551.7430500984183,
        "max": 4061.422386674731,
        "multiMax": 6051,
        "isUpsell": true,
        "subProducts": ["string", "string"]
      ]
    ],
    "modifiers": [
      "key_0": [
        "_id": "string",
        "plu": "MOD-MILD",
        "name": "Mild",
        "description": "string",
        "price": 0,
        "imageUrl": "string",
        "defaultQuantity": 6477,
        "deliveryTax": 687.7752352188371,
        "takeawayTax": 870.272126256737,
        "eatInTax": 9906.502522431841,
        "productTags": [6663, 3502],
        "subProducts": ["string", "string"]
      ],
      "key_1": [
        "_id": "string",
        "plu": "MOD-MILD",
        "name": "Mild",
        "description": "string",
        "price": 0,
        "imageUrl": "string",
        "defaultQuantity": 6362,
        "deliveryTax": 7648.226607957873,
        "takeawayTax": 2638.27970386896,
        "eatInTax": 1804.3777697554942,
        "productTags": [2672, 4816],
        "subProducts": ["string", "string"]
      ]
    ],
    "snoozedProducts": [
      "key_0": [
        "plu": "string",
        "snoozeStart": "2026-03-09T00:00:00Z",
        "snoozeEnd": "2026-03-10T00:00:00Z"
      ],
      "key_1": [
        "plu": "string",
        "snoozeStart": "2026-03-09T00:00:00Z",
        "snoozeEnd": "2026-03-10T00:00:00Z"
      ]
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:8080/api/v1/outlets/string/menu")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```