# Sync products

> 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/products/sync/llms.txt.
> For full documentation content, see https://apidocs.cata.sg/pos-integration-service-api/api/v-1/products/sync/llms-full.txt.

POST http://localhost:8080/api/v1/products/sync
Content-Type: application/json

Full-replace product sync. Receives a list of products from a POS adapter and performs
a full replace: creates new products, updates existing ones (matched by itemCode),
and soft-deletes products not in the payload.

Supports single items with modifier groups, bundles with sections, per-store price overrides,
and variant items.


Reference: https://apidocs.cata.sg/pos-integration-service-api/api/v-1/products/sync/sync-products

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /api/v1/products/sync:
    post:
      operationId: sync-products
      summary: Sync products
      description: >
        Full-replace product sync. Receives a list of products from a POS
        adapter and performs

        a full replace: creates new products, updates existing ones (matched by
        itemCode),

        and soft-deletes products not in the payload.


        Supports single items with modifier groups, bundles with sections,
        per-store price overrides,

        and variant items.
      tags:
        - >-
          subpackage_api.subpackage_api/v1.subpackage_api/v1/products.subpackage_api/v1/products/sync
      parameters:
        - 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 identifier. Defaults to "cata" if omitted.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/api_v1_products_sync_Sync
                  products_Response_200
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PostApiV1ProductsSyncRequestBadRequestError
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PostApiV1ProductsSyncRequestUnauthorizedError
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                products:
                  type: array
                  items:
                    $ref: >-
                      #/components/schemas/ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItems
              required:
                - products
servers:
  - url: http://localhost:8080
components:
  schemas:
    ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsModifierGroupsItemsOptionsItems:
      type: object
      properties:
        itemCode:
          type: string
        name:
          type: string
        additionalPrice:
          type: number
          format: double
        sortNum:
          type: integer
        asDefault:
          type: boolean
        visible:
          type: boolean
        taxOverride:
          type: number
          format: double
      required:
        - itemCode
        - name
        - additionalPrice
        - sortNum
        - asDefault
        - visible
        - taxOverride
      title: >-
        ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsModifierGroupsItemsOptionsItems
    ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsModifierGroupsItems:
      type: object
      properties:
        itemCode:
          type: string
        name:
          type: string
        inputType:
          type: string
        sortNum:
          type: integer
        minSelect:
          type: integer
        maxSelect:
          type: integer
        allowMultipleQty:
          type: boolean
        options:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsModifierGroupsItemsOptionsItems
      required:
        - itemCode
        - name
        - inputType
        - sortNum
        - minSelect
        - maxSelect
        - allowMultipleQty
        - options
      title: >-
        ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsModifierGroupsItems
    ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsBundleSectionsItemsItemsItems:
      type: object
      properties:
        itemCode:
          type: string
        price:
          type: number
          format: double
        sortNum:
          type: integer
      required:
        - itemCode
        - price
        - sortNum
      title: >-
        ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsBundleSectionsItemsItemsItems
    ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsBundleSectionsItems:
      type: object
      properties:
        itemCode:
          type: string
        name:
          type: string
        sortNum:
          type: integer
        minSelection:
          type: integer
        maxSelection:
          type: integer
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsBundleSectionsItemsItemsItems
      required:
        - itemCode
        - name
        - sortNum
        - minSelection
        - maxSelection
        - items
      title: >-
        ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsBundleSectionsItems
    ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsStorePricesItems:
      type: object
      properties:
        outletId:
          type: string
        basePrice:
          type: number
          format: double
        specialPrice:
          type: number
          format: double
        sellAvailable:
          type: boolean
      required:
        - outletId
        - basePrice
        - specialPrice
        - sellAvailable
      title: >-
        ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsStorePricesItems
    ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItems:
      type: object
      properties:
        itemCode:
          type: string
        name:
          type: string
        basePrice:
          type: number
          format: double
        internalName:
          type: string
        shortDescription:
          type: string
        description:
          type: string
        slug:
          type: string
        mainImageUrl:
          type: string
          format: uri
        externalImageUrl:
          type: string
          format: uri
        specialPrice:
          type: number
          format: double
        visible:
          type: boolean
        pickupAvailable:
          type: boolean
        deliveryAvailable:
          type: boolean
        eatInAvailable:
          type: boolean
        sortNum:
          type: integer
        publishStatus:
          type: string
        productType:
          type: integer
        isBundle:
          type: boolean
        isVariant:
          type: boolean
        taxOverride:
          type: number
          format: double
        taxOverrideDelivery:
          type: number
          format: double
        taxOverrideEatIn:
          type: number
          format: double
        showStartDatetime:
          type: string
          format: date-time
        posCategory:
          type: string
        modifierGroups:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsModifierGroupsItems
        bundleSections:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsBundleSectionsItems
        storePrices:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItemsStorePricesItems
      required:
        - itemCode
        - name
        - basePrice
        - internalName
        - shortDescription
        - description
        - slug
        - mainImageUrl
        - externalImageUrl
        - specialPrice
        - visible
        - pickupAvailable
        - deliveryAvailable
        - eatInAvailable
        - sortNum
        - publishStatus
        - productType
        - isBundle
        - isVariant
        - taxOverride
        - taxOverrideDelivery
        - taxOverrideEatIn
        - showStartDatetime
        - posCategory
        - modifierGroups
        - bundleSections
        - storePrices
      title: >-
        ApiV1ProductsSyncPostRequestBodyContentApplicationJsonSchemaProductsItems
    ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaSummary:
      type: object
      properties:
        created:
          type: integer
        updated:
          type: integer
        deleted:
          type: integer
        total:
          type: integer
      required:
        - created
        - updated
        - deleted
        - total
      title: ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaSummary
    ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsModifierGroupsItemsOptionsItems:
      type: object
      properties:
        id:
          type: string
        itemCode:
          type: string
        name:
          type: string
        additionalPrice:
          type: number
          format: double
        sortNum:
          type: integer
        asDefault:
          type: boolean
        visible:
          type: boolean
        taxOverride:
          type: number
          format: double
      required:
        - id
        - itemCode
        - name
        - additionalPrice
        - sortNum
        - asDefault
        - visible
        - taxOverride
      title: >-
        ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsModifierGroupsItemsOptionsItems
    ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsModifierGroupsItems:
      type: object
      properties:
        id:
          type: string
        itemCode:
          type: string
        name:
          type: string
        inputType:
          type: string
        sortNum:
          type: integer
        minSelect:
          type: integer
        maxSelect:
          type: integer
        allowMultipleQty:
          type: boolean
        options:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsModifierGroupsItemsOptionsItems
      required:
        - id
        - itemCode
        - name
        - inputType
        - sortNum
        - minSelect
        - maxSelect
        - allowMultipleQty
        - options
      title: >-
        ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsModifierGroupsItems
    ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsBundleSectionsItemsItemsItems:
      type: object
      properties:
        itemCode:
          type: string
        price:
          type: number
          format: double
        sortNum:
          type: integer
      required:
        - itemCode
        - price
        - sortNum
      title: >-
        ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsBundleSectionsItemsItemsItems
    ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsBundleSectionsItems:
      type: object
      properties:
        id:
          type: string
        itemCode:
          type: string
        name:
          type: string
        sortNum:
          type: integer
        minSelection:
          type: integer
        maxSelection:
          type: integer
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsBundleSectionsItemsItemsItems
      required:
        - id
        - itemCode
        - name
        - sortNum
        - minSelection
        - maxSelection
        - items
      title: >-
        ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsBundleSectionsItems
    ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItems:
      type: object
      properties:
        id:
          type: string
        itemCode:
          type: string
        name:
          type: string
        originalName:
          type: string
        internalName:
          type: string
        shortDescription:
          type: string
        originalShortDescription:
          type: string
        description:
          type: string
        originalDescription:
          type: string
        slug:
          type: string
        mainImageUrl:
          type: string
        externalImageUrl:
          type: string
        basePrice:
          type: number
          format: double
        specialPrice:
          type: number
          format: double
        visible:
          type: boolean
        pickupAvailable:
          type: boolean
        deliveryAvailable:
          type: boolean
        eatInAvailable:
          type: boolean
        sortNum:
          type: integer
        publishStatus:
          type: string
        productType:
          type: integer
        isBundle:
          type: boolean
        isVariant:
          type: boolean
        taxOverride:
          type: number
          format: double
        taxOverrideDelivery:
          type: number
          format: double
        taxOverrideEatIn:
          type: number
          format: double
        provider:
          type: string
        posCategory:
          type: string
        modifierGroups:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsModifierGroupsItems
        bundleSections:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItemsBundleSectionsItems
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - id
        - itemCode
        - name
        - originalName
        - internalName
        - shortDescription
        - originalShortDescription
        - description
        - originalDescription
        - slug
        - mainImageUrl
        - externalImageUrl
        - basePrice
        - specialPrice
        - visible
        - pickupAvailable
        - deliveryAvailable
        - eatInAvailable
        - sortNum
        - publishStatus
        - productType
        - isBundle
        - isVariant
        - taxOverride
        - taxOverrideDelivery
        - taxOverrideEatIn
        - provider
        - posCategory
        - modifierGroups
        - bundleSections
        - createdAt
        - updatedAt
      title: ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItems
    api_v1_products_sync_Sync products_Response_200:
      type: object
      properties:
        summary:
          $ref: >-
            #/components/schemas/ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaSummary
        products:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaProductsItems
      required:
        - summary
        - products
      title: api_v1_products_sync_Sync products_Response_200
    ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaError:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: string
        field:
          type: string
      required:
        - code
        - message
        - details
        - field
      title: ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaError
    PostApiV1ProductsSyncRequestBadRequestError:
      type: object
      properties:
        error:
          $ref: >-
            #/components/schemas/ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaError
      required:
        - error
      title: PostApiV1ProductsSyncRequestBadRequestError
    PostApiV1ProductsSyncRequestUnauthorizedError:
      type: object
      properties:
        error:
          $ref: >-
            #/components/schemas/ApiV1ProductsSyncPostResponsesContentApplicationJsonSchemaError
      required:
        - error
      title: PostApiV1ProductsSyncRequestUnauthorizedError
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

```

## SDK Code Examples

```python api_v1_products_sync_Sync products_example
import requests

url = "http://localhost:8080/api/v1/products/sync"

payload = { "products": [
        {
            "itemCode": "PROD-001",
            "name": "Margherita Pizza",
            "basePrice": 12.5,
            "internalName": "string",
            "shortDescription": "string",
            "description": "string",
            "slug": "string",
            "mainImageUrl": "http://VRLXTRfbzFVOwejp.bxnIKg2M,rs0wEgaTaDOzOgl8b1LWtZDEL5S1TlRT",
            "externalImageUrl": "https://JgfydrZiYRcLbkVSlxHocQxewG.lssscbgAEL6oNl4CUuWxUaA4amPmZf3LfczFIg7oWf4ESo5k",
            "specialPrice": 7548.007286127645,
            "visible": True,
            "pickupAvailable": True,
            "deliveryAvailable": True,
            "eatInAvailable": True,
            "sortNum": 839,
            "publishStatus": "string",
            "productType": 2493,
            "isBundle": False,
            "isVariant": False,
            "taxOverride": 1100.2022189287209,
            "taxOverrideDelivery": 4015.9119760258345,
            "taxOverrideEatIn": 687.695367386707,
            "showStartDatetime": "1965-12-17T12:57:37.874Z",
            "posCategory": "string",
            "modifierGroups": [
                {
                    "itemCode": "string",
                    "name": "string",
                    "inputType": "string",
                    "sortNum": 9462,
                    "minSelect": 3284,
                    "maxSelect": 2001,
                    "allowMultipleQty": True,
                    "options": [
                        {
                            "itemCode": "string",
                            "name": "string",
                            "additionalPrice": 7334.272827633257,
                            "sortNum": 19,
                            "asDefault": False,
                            "visible": True,
                            "taxOverride": 3913.9164388736503
                        },
                        {
                            "itemCode": "string",
                            "name": "string",
                            "additionalPrice": 410.56103835139135,
                            "sortNum": 7957,
                            "asDefault": True,
                            "visible": True,
                            "taxOverride": 3368.1486964031506
                        }
                    ]
                },
                {
                    "itemCode": "string",
                    "name": "string",
                    "inputType": "string",
                    "sortNum": 7246,
                    "minSelect": 7300,
                    "maxSelect": 7252,
                    "allowMultipleQty": True,
                    "options": [
                        {
                            "itemCode": "string",
                            "name": "string",
                            "additionalPrice": 6251.149452662439,
                            "sortNum": 9474,
                            "asDefault": True,
                            "visible": True,
                            "taxOverride": 5244.246848055738
                        },
                        {
                            "itemCode": "string",
                            "name": "string",
                            "additionalPrice": 4733.559872440632,
                            "sortNum": 9111,
                            "asDefault": False,
                            "visible": True,
                            "taxOverride": 9552.192762334953
                        }
                    ]
                }
            ],
            "bundleSections": [
                {
                    "itemCode": "string",
                    "name": "string",
                    "sortNum": 3360,
                    "minSelection": 773,
                    "maxSelection": 6068,
                    "items": [
                        {
                            "itemCode": "string",
                            "price": 6898.883235326874,
                            "sortNum": 8825
                        },
                        {
                            "itemCode": "string",
                            "price": 1518.724224819672,
                            "sortNum": 3041
                        }
                    ]
                },
                {
                    "itemCode": "string",
                    "name": "string",
                    "sortNum": 5808,
                    "minSelection": 374,
                    "maxSelection": 218,
                    "items": [
                        {
                            "itemCode": "string",
                            "price": 3796.7997334349925,
                            "sortNum": 3521
                        },
                        {
                            "itemCode": "string",
                            "price": 8451.087394422879,
                            "sortNum": 3994
                        }
                    ]
                }
            ],
            "storePrices": [
                {
                    "outletId": "string",
                    "basePrice": 5782.3484900378035,
                    "specialPrice": 8208.458459226651,
                    "sellAvailable": True
                },
                {
                    "outletId": "string",
                    "basePrice": 7289.5797393302855,
                    "specialPrice": 2736.1081555386036,
                    "sellAvailable": True
                }
            ]
        },
        {
            "itemCode": "PROD-001",
            "name": "Margherita Pizza",
            "basePrice": 12.5,
            "internalName": "string",
            "shortDescription": "string",
            "description": "string",
            "slug": "string",
            "mainImageUrl": "https://WqEbHiVfJiJgTyeHflYiAKEfJn.cspYJPf3VkHTs+ehVwK",
            "externalImageUrl": "https://LbOjhymKMHAdxMdjjtfvclDYk.sePYUyAdCKSrcJzY",
            "specialPrice": 8283.503163170737,
            "visible": True,
            "pickupAvailable": True,
            "deliveryAvailable": True,
            "eatInAvailable": True,
            "sortNum": 2356,
            "publishStatus": "string",
            "productType": 5079,
            "isBundle": False,
            "isVariant": False,
            "taxOverride": 3474.599486427523,
            "taxOverrideDelivery": 7769.339098516779,
            "taxOverrideEatIn": 4340.204363105949,
            "showStartDatetime": "2016-02-20T04:53:49.609Z",
            "posCategory": "string",
            "modifierGroups": [
                {
                    "itemCode": "string",
                    "name": "string",
                    "inputType": "string",
                    "sortNum": 1442,
                    "minSelect": 3846,
                    "maxSelect": 9077,
                    "allowMultipleQty": False,
                    "options": [
                        {
                            "itemCode": "string",
                            "name": "string",
                            "additionalPrice": 1644.0944932033053,
                            "sortNum": 3705,
                            "asDefault": True,
                            "visible": True,
                            "taxOverride": 2053.5831857778076
                        },
                        {
                            "itemCode": "string",
                            "name": "string",
                            "additionalPrice": 4330.1633246404945,
                            "sortNum": 1589,
                            "asDefault": True,
                            "visible": True,
                            "taxOverride": 5918.278447445704
                        }
                    ]
                },
                {
                    "itemCode": "string",
                    "name": "string",
                    "inputType": "string",
                    "sortNum": 1526,
                    "minSelect": 7884,
                    "maxSelect": 7170,
                    "allowMultipleQty": True,
                    "options": [
                        {
                            "itemCode": "string",
                            "name": "string",
                            "additionalPrice": 1282.3023741421703,
                            "sortNum": 7695,
                            "asDefault": True,
                            "visible": True,
                            "taxOverride": 7609.790730580774
                        },
                        {
                            "itemCode": "string",
                            "name": "string",
                            "additionalPrice": 3174.9245998302777,
                            "sortNum": 1964,
                            "asDefault": True,
                            "visible": True,
                            "taxOverride": 1032.8492845799065
                        }
                    ]
                }
            ],
            "bundleSections": [
                {
                    "itemCode": "string",
                    "name": "string",
                    "sortNum": 2117,
                    "minSelection": 4103,
                    "maxSelection": 909,
                    "items": [
                        {
                            "itemCode": "string",
                            "price": 2471.359837520377,
                            "sortNum": 4032
                        },
                        {
                            "itemCode": "string",
                            "price": 9348.318957088624,
                            "sortNum": 5617
                        }
                    ]
                },
                {
                    "itemCode": "string",
                    "name": "string",
                    "sortNum": 8507,
                    "minSelection": 3300,
                    "maxSelection": 4610,
                    "items": [
                        {
                            "itemCode": "string",
                            "price": 2522.166340548082,
                            "sortNum": 8318
                        },
                        {
                            "itemCode": "string",
                            "price": 8703.163223561889,
                            "sortNum": 1044
                        }
                    ]
                }
            ],
            "storePrices": [
                {
                    "outletId": "string",
                    "basePrice": 6464.373966534305,
                    "specialPrice": 4908.25460479771,
                    "sellAvailable": True
                },
                {
                    "outletId": "string",
                    "basePrice": 8088.649989226003,
                    "specialPrice": 1794.7088577110826,
                    "sellAvailable": True
                }
            ]
        }
    ] }
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_products_sync_Sync products_example
const url = 'http://localhost:8080/api/v1/products/sync';
const options = {
  method: 'POST',
  headers: {
    'X-Tenant-ID': 'string',
    'X-Provider': 'cata',
    'X-Api-Key': '<apiKey>',
    'Content-Type': 'application/json'
  },
  body: '{"products":[{"itemCode":"PROD-001","name":"Margherita Pizza","basePrice":12.5,"internalName":"string","shortDescription":"string","description":"string","slug":"string","mainImageUrl":"http://VRLXTRfbzFVOwejp.bxnIKg2M,rs0wEgaTaDOzOgl8b1LWtZDEL5S1TlRT","externalImageUrl":"https://JgfydrZiYRcLbkVSlxHocQxewG.lssscbgAEL6oNl4CUuWxUaA4amPmZf3LfczFIg7oWf4ESo5k","specialPrice":7548.007286127645,"visible":true,"pickupAvailable":true,"deliveryAvailable":true,"eatInAvailable":true,"sortNum":839,"publishStatus":"string","productType":2493,"isBundle":false,"isVariant":false,"taxOverride":1100.2022189287209,"taxOverrideDelivery":4015.9119760258345,"taxOverrideEatIn":687.695367386707,"showStartDatetime":"1965-12-17T12:57:37.874Z","posCategory":"string","modifierGroups":[{"itemCode":"string","name":"string","inputType":"string","sortNum":9462,"minSelect":3284,"maxSelect":2001,"allowMultipleQty":true,"options":[{"itemCode":"string","name":"string","additionalPrice":7334.272827633257,"sortNum":19,"asDefault":false,"visible":true,"taxOverride":3913.9164388736503},{"itemCode":"string","name":"string","additionalPrice":410.56103835139135,"sortNum":7957,"asDefault":true,"visible":true,"taxOverride":3368.1486964031506}]},{"itemCode":"string","name":"string","inputType":"string","sortNum":7246,"minSelect":7300,"maxSelect":7252,"allowMultipleQty":true,"options":[{"itemCode":"string","name":"string","additionalPrice":6251.149452662439,"sortNum":9474,"asDefault":true,"visible":true,"taxOverride":5244.246848055738},{"itemCode":"string","name":"string","additionalPrice":4733.559872440632,"sortNum":9111,"asDefault":false,"visible":true,"taxOverride":9552.192762334953}]}],"bundleSections":[{"itemCode":"string","name":"string","sortNum":3360,"minSelection":773,"maxSelection":6068,"items":[{"itemCode":"string","price":6898.883235326874,"sortNum":8825},{"itemCode":"string","price":1518.724224819672,"sortNum":3041}]},{"itemCode":"string","name":"string","sortNum":5808,"minSelection":374,"maxSelection":218,"items":[{"itemCode":"string","price":3796.7997334349925,"sortNum":3521},{"itemCode":"string","price":8451.087394422879,"sortNum":3994}]}],"storePrices":[{"outletId":"string","basePrice":5782.3484900378035,"specialPrice":8208.458459226651,"sellAvailable":true},{"outletId":"string","basePrice":7289.5797393302855,"specialPrice":2736.1081555386036,"sellAvailable":true}]},{"itemCode":"PROD-001","name":"Margherita Pizza","basePrice":12.5,"internalName":"string","shortDescription":"string","description":"string","slug":"string","mainImageUrl":"https://WqEbHiVfJiJgTyeHflYiAKEfJn.cspYJPf3VkHTs+ehVwK","externalImageUrl":"https://LbOjhymKMHAdxMdjjtfvclDYk.sePYUyAdCKSrcJzY","specialPrice":8283.503163170737,"visible":true,"pickupAvailable":true,"deliveryAvailable":true,"eatInAvailable":true,"sortNum":2356,"publishStatus":"string","productType":5079,"isBundle":false,"isVariant":false,"taxOverride":3474.599486427523,"taxOverrideDelivery":7769.339098516779,"taxOverrideEatIn":4340.204363105949,"showStartDatetime":"2016-02-20T04:53:49.609Z","posCategory":"string","modifierGroups":[{"itemCode":"string","name":"string","inputType":"string","sortNum":1442,"minSelect":3846,"maxSelect":9077,"allowMultipleQty":false,"options":[{"itemCode":"string","name":"string","additionalPrice":1644.0944932033053,"sortNum":3705,"asDefault":true,"visible":true,"taxOverride":2053.5831857778076},{"itemCode":"string","name":"string","additionalPrice":4330.1633246404945,"sortNum":1589,"asDefault":true,"visible":true,"taxOverride":5918.278447445704}]},{"itemCode":"string","name":"string","inputType":"string","sortNum":1526,"minSelect":7884,"maxSelect":7170,"allowMultipleQty":true,"options":[{"itemCode":"string","name":"string","additionalPrice":1282.3023741421703,"sortNum":7695,"asDefault":true,"visible":true,"taxOverride":7609.790730580774},{"itemCode":"string","name":"string","additionalPrice":3174.9245998302777,"sortNum":1964,"asDefault":true,"visible":true,"taxOverride":1032.8492845799065}]}],"bundleSections":[{"itemCode":"string","name":"string","sortNum":2117,"minSelection":4103,"maxSelection":909,"items":[{"itemCode":"string","price":2471.359837520377,"sortNum":4032},{"itemCode":"string","price":9348.318957088624,"sortNum":5617}]},{"itemCode":"string","name":"string","sortNum":8507,"minSelection":3300,"maxSelection":4610,"items":[{"itemCode":"string","price":2522.166340548082,"sortNum":8318},{"itemCode":"string","price":8703.163223561889,"sortNum":1044}]}],"storePrices":[{"outletId":"string","basePrice":6464.373966534305,"specialPrice":4908.25460479771,"sellAvailable":true},{"outletId":"string","basePrice":8088.649989226003,"specialPrice":1794.7088577110826,"sellAvailable":true}]}]}'
};

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

```go api_v1_products_sync_Sync products_example
package main

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

func main() {

	url := "http://localhost:8080/api/v1/products/sync"

	payload := strings.NewReader("{\n  \"products\": [\n    {\n      \"itemCode\": \"PROD-001\",\n      \"name\": \"Margherita Pizza\",\n      \"basePrice\": 12.5,\n      \"internalName\": \"string\",\n      \"shortDescription\": \"string\",\n      \"description\": \"string\",\n      \"slug\": \"string\",\n      \"mainImageUrl\": \"http://VRLXTRfbzFVOwejp.bxnIKg2M,rs0wEgaTaDOzOgl8b1LWtZDEL5S1TlRT\",\n      \"externalImageUrl\": \"https://JgfydrZiYRcLbkVSlxHocQxewG.lssscbgAEL6oNl4CUuWxUaA4amPmZf3LfczFIg7oWf4ESo5k\",\n      \"specialPrice\": 7548.007286127645,\n      \"visible\": true,\n      \"pickupAvailable\": true,\n      \"deliveryAvailable\": true,\n      \"eatInAvailable\": true,\n      \"sortNum\": 839,\n      \"publishStatus\": \"string\",\n      \"productType\": 2493,\n      \"isBundle\": false,\n      \"isVariant\": false,\n      \"taxOverride\": 1100.2022189287209,\n      \"taxOverrideDelivery\": 4015.9119760258345,\n      \"taxOverrideEatIn\": 687.695367386707,\n      \"showStartDatetime\": \"1965-12-17T12:57:37.874Z\",\n      \"posCategory\": \"string\",\n      \"modifierGroups\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 9462,\n          \"minSelect\": 3284,\n          \"maxSelect\": 2001,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 7334.272827633257,\n              \"sortNum\": 19,\n              \"asDefault\": false,\n              \"visible\": true,\n              \"taxOverride\": 3913.9164388736503\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 410.56103835139135,\n              \"sortNum\": 7957,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 3368.1486964031506\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 7246,\n          \"minSelect\": 7300,\n          \"maxSelect\": 7252,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 6251.149452662439,\n              \"sortNum\": 9474,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 5244.246848055738\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 4733.559872440632,\n              \"sortNum\": 9111,\n              \"asDefault\": false,\n              \"visible\": true,\n              \"taxOverride\": 9552.192762334953\n            }\n          ]\n        }\n      ],\n      \"bundleSections\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 3360,\n          \"minSelection\": 773,\n          \"maxSelection\": 6068,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 6898.883235326874,\n              \"sortNum\": 8825\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 1518.724224819672,\n              \"sortNum\": 3041\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 5808,\n          \"minSelection\": 374,\n          \"maxSelection\": 218,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 3796.7997334349925,\n              \"sortNum\": 3521\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 8451.087394422879,\n              \"sortNum\": 3994\n            }\n          ]\n        }\n      ],\n      \"storePrices\": [\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 5782.3484900378035,\n          \"specialPrice\": 8208.458459226651,\n          \"sellAvailable\": true\n        },\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 7289.5797393302855,\n          \"specialPrice\": 2736.1081555386036,\n          \"sellAvailable\": true\n        }\n      ]\n    },\n    {\n      \"itemCode\": \"PROD-001\",\n      \"name\": \"Margherita Pizza\",\n      \"basePrice\": 12.5,\n      \"internalName\": \"string\",\n      \"shortDescription\": \"string\",\n      \"description\": \"string\",\n      \"slug\": \"string\",\n      \"mainImageUrl\": \"https://WqEbHiVfJiJgTyeHflYiAKEfJn.cspYJPf3VkHTs+ehVwK\",\n      \"externalImageUrl\": \"https://LbOjhymKMHAdxMdjjtfvclDYk.sePYUyAdCKSrcJzY\",\n      \"specialPrice\": 8283.503163170737,\n      \"visible\": true,\n      \"pickupAvailable\": true,\n      \"deliveryAvailable\": true,\n      \"eatInAvailable\": true,\n      \"sortNum\": 2356,\n      \"publishStatus\": \"string\",\n      \"productType\": 5079,\n      \"isBundle\": false,\n      \"isVariant\": false,\n      \"taxOverride\": 3474.599486427523,\n      \"taxOverrideDelivery\": 7769.339098516779,\n      \"taxOverrideEatIn\": 4340.204363105949,\n      \"showStartDatetime\": \"2016-02-20T04:53:49.609Z\",\n      \"posCategory\": \"string\",\n      \"modifierGroups\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 1442,\n          \"minSelect\": 3846,\n          \"maxSelect\": 9077,\n          \"allowMultipleQty\": false,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 1644.0944932033053,\n              \"sortNum\": 3705,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 2053.5831857778076\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 4330.1633246404945,\n              \"sortNum\": 1589,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 5918.278447445704\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 1526,\n          \"minSelect\": 7884,\n          \"maxSelect\": 7170,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 1282.3023741421703,\n              \"sortNum\": 7695,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 7609.790730580774\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 3174.9245998302777,\n              \"sortNum\": 1964,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 1032.8492845799065\n            }\n          ]\n        }\n      ],\n      \"bundleSections\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 2117,\n          \"minSelection\": 4103,\n          \"maxSelection\": 909,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 2471.359837520377,\n              \"sortNum\": 4032\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 9348.318957088624,\n              \"sortNum\": 5617\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 8507,\n          \"minSelection\": 3300,\n          \"maxSelection\": 4610,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 2522.166340548082,\n              \"sortNum\": 8318\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 8703.163223561889,\n              \"sortNum\": 1044\n            }\n          ]\n        }\n      ],\n      \"storePrices\": [\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 6464.373966534305,\n          \"specialPrice\": 4908.25460479771,\n          \"sellAvailable\": true\n        },\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 8088.649989226003,\n          \"specialPrice\": 1794.7088577110826,\n          \"sellAvailable\": true\n        }\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_products_sync_Sync products_example
require 'uri'
require 'net/http'

url = URI("http://localhost:8080/api/v1/products/sync")

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  \"products\": [\n    {\n      \"itemCode\": \"PROD-001\",\n      \"name\": \"Margherita Pizza\",\n      \"basePrice\": 12.5,\n      \"internalName\": \"string\",\n      \"shortDescription\": \"string\",\n      \"description\": \"string\",\n      \"slug\": \"string\",\n      \"mainImageUrl\": \"http://VRLXTRfbzFVOwejp.bxnIKg2M,rs0wEgaTaDOzOgl8b1LWtZDEL5S1TlRT\",\n      \"externalImageUrl\": \"https://JgfydrZiYRcLbkVSlxHocQxewG.lssscbgAEL6oNl4CUuWxUaA4amPmZf3LfczFIg7oWf4ESo5k\",\n      \"specialPrice\": 7548.007286127645,\n      \"visible\": true,\n      \"pickupAvailable\": true,\n      \"deliveryAvailable\": true,\n      \"eatInAvailable\": true,\n      \"sortNum\": 839,\n      \"publishStatus\": \"string\",\n      \"productType\": 2493,\n      \"isBundle\": false,\n      \"isVariant\": false,\n      \"taxOverride\": 1100.2022189287209,\n      \"taxOverrideDelivery\": 4015.9119760258345,\n      \"taxOverrideEatIn\": 687.695367386707,\n      \"showStartDatetime\": \"1965-12-17T12:57:37.874Z\",\n      \"posCategory\": \"string\",\n      \"modifierGroups\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 9462,\n          \"minSelect\": 3284,\n          \"maxSelect\": 2001,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 7334.272827633257,\n              \"sortNum\": 19,\n              \"asDefault\": false,\n              \"visible\": true,\n              \"taxOverride\": 3913.9164388736503\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 410.56103835139135,\n              \"sortNum\": 7957,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 3368.1486964031506\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 7246,\n          \"minSelect\": 7300,\n          \"maxSelect\": 7252,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 6251.149452662439,\n              \"sortNum\": 9474,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 5244.246848055738\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 4733.559872440632,\n              \"sortNum\": 9111,\n              \"asDefault\": false,\n              \"visible\": true,\n              \"taxOverride\": 9552.192762334953\n            }\n          ]\n        }\n      ],\n      \"bundleSections\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 3360,\n          \"minSelection\": 773,\n          \"maxSelection\": 6068,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 6898.883235326874,\n              \"sortNum\": 8825\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 1518.724224819672,\n              \"sortNum\": 3041\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 5808,\n          \"minSelection\": 374,\n          \"maxSelection\": 218,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 3796.7997334349925,\n              \"sortNum\": 3521\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 8451.087394422879,\n              \"sortNum\": 3994\n            }\n          ]\n        }\n      ],\n      \"storePrices\": [\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 5782.3484900378035,\n          \"specialPrice\": 8208.458459226651,\n          \"sellAvailable\": true\n        },\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 7289.5797393302855,\n          \"specialPrice\": 2736.1081555386036,\n          \"sellAvailable\": true\n        }\n      ]\n    },\n    {\n      \"itemCode\": \"PROD-001\",\n      \"name\": \"Margherita Pizza\",\n      \"basePrice\": 12.5,\n      \"internalName\": \"string\",\n      \"shortDescription\": \"string\",\n      \"description\": \"string\",\n      \"slug\": \"string\",\n      \"mainImageUrl\": \"https://WqEbHiVfJiJgTyeHflYiAKEfJn.cspYJPf3VkHTs+ehVwK\",\n      \"externalImageUrl\": \"https://LbOjhymKMHAdxMdjjtfvclDYk.sePYUyAdCKSrcJzY\",\n      \"specialPrice\": 8283.503163170737,\n      \"visible\": true,\n      \"pickupAvailable\": true,\n      \"deliveryAvailable\": true,\n      \"eatInAvailable\": true,\n      \"sortNum\": 2356,\n      \"publishStatus\": \"string\",\n      \"productType\": 5079,\n      \"isBundle\": false,\n      \"isVariant\": false,\n      \"taxOverride\": 3474.599486427523,\n      \"taxOverrideDelivery\": 7769.339098516779,\n      \"taxOverrideEatIn\": 4340.204363105949,\n      \"showStartDatetime\": \"2016-02-20T04:53:49.609Z\",\n      \"posCategory\": \"string\",\n      \"modifierGroups\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 1442,\n          \"minSelect\": 3846,\n          \"maxSelect\": 9077,\n          \"allowMultipleQty\": false,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 1644.0944932033053,\n              \"sortNum\": 3705,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 2053.5831857778076\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 4330.1633246404945,\n              \"sortNum\": 1589,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 5918.278447445704\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 1526,\n          \"minSelect\": 7884,\n          \"maxSelect\": 7170,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 1282.3023741421703,\n              \"sortNum\": 7695,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 7609.790730580774\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 3174.9245998302777,\n              \"sortNum\": 1964,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 1032.8492845799065\n            }\n          ]\n        }\n      ],\n      \"bundleSections\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 2117,\n          \"minSelection\": 4103,\n          \"maxSelection\": 909,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 2471.359837520377,\n              \"sortNum\": 4032\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 9348.318957088624,\n              \"sortNum\": 5617\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 8507,\n          \"minSelection\": 3300,\n          \"maxSelection\": 4610,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 2522.166340548082,\n              \"sortNum\": 8318\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 8703.163223561889,\n              \"sortNum\": 1044\n            }\n          ]\n        }\n      ],\n      \"storePrices\": [\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 6464.373966534305,\n          \"specialPrice\": 4908.25460479771,\n          \"sellAvailable\": true\n        },\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 8088.649989226003,\n          \"specialPrice\": 1794.7088577110826,\n          \"sellAvailable\": true\n        }\n      ]\n    }\n  ]\n}"

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

```java api_v1_products_sync_Sync products_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("http://localhost:8080/api/v1/products/sync")
  .header("X-Tenant-ID", "string")
  .header("X-Provider", "cata")
  .header("X-Api-Key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"products\": [\n    {\n      \"itemCode\": \"PROD-001\",\n      \"name\": \"Margherita Pizza\",\n      \"basePrice\": 12.5,\n      \"internalName\": \"string\",\n      \"shortDescription\": \"string\",\n      \"description\": \"string\",\n      \"slug\": \"string\",\n      \"mainImageUrl\": \"http://VRLXTRfbzFVOwejp.bxnIKg2M,rs0wEgaTaDOzOgl8b1LWtZDEL5S1TlRT\",\n      \"externalImageUrl\": \"https://JgfydrZiYRcLbkVSlxHocQxewG.lssscbgAEL6oNl4CUuWxUaA4amPmZf3LfczFIg7oWf4ESo5k\",\n      \"specialPrice\": 7548.007286127645,\n      \"visible\": true,\n      \"pickupAvailable\": true,\n      \"deliveryAvailable\": true,\n      \"eatInAvailable\": true,\n      \"sortNum\": 839,\n      \"publishStatus\": \"string\",\n      \"productType\": 2493,\n      \"isBundle\": false,\n      \"isVariant\": false,\n      \"taxOverride\": 1100.2022189287209,\n      \"taxOverrideDelivery\": 4015.9119760258345,\n      \"taxOverrideEatIn\": 687.695367386707,\n      \"showStartDatetime\": \"1965-12-17T12:57:37.874Z\",\n      \"posCategory\": \"string\",\n      \"modifierGroups\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 9462,\n          \"minSelect\": 3284,\n          \"maxSelect\": 2001,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 7334.272827633257,\n              \"sortNum\": 19,\n              \"asDefault\": false,\n              \"visible\": true,\n              \"taxOverride\": 3913.9164388736503\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 410.56103835139135,\n              \"sortNum\": 7957,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 3368.1486964031506\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 7246,\n          \"minSelect\": 7300,\n          \"maxSelect\": 7252,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 6251.149452662439,\n              \"sortNum\": 9474,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 5244.246848055738\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 4733.559872440632,\n              \"sortNum\": 9111,\n              \"asDefault\": false,\n              \"visible\": true,\n              \"taxOverride\": 9552.192762334953\n            }\n          ]\n        }\n      ],\n      \"bundleSections\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 3360,\n          \"minSelection\": 773,\n          \"maxSelection\": 6068,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 6898.883235326874,\n              \"sortNum\": 8825\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 1518.724224819672,\n              \"sortNum\": 3041\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 5808,\n          \"minSelection\": 374,\n          \"maxSelection\": 218,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 3796.7997334349925,\n              \"sortNum\": 3521\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 8451.087394422879,\n              \"sortNum\": 3994\n            }\n          ]\n        }\n      ],\n      \"storePrices\": [\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 5782.3484900378035,\n          \"specialPrice\": 8208.458459226651,\n          \"sellAvailable\": true\n        },\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 7289.5797393302855,\n          \"specialPrice\": 2736.1081555386036,\n          \"sellAvailable\": true\n        }\n      ]\n    },\n    {\n      \"itemCode\": \"PROD-001\",\n      \"name\": \"Margherita Pizza\",\n      \"basePrice\": 12.5,\n      \"internalName\": \"string\",\n      \"shortDescription\": \"string\",\n      \"description\": \"string\",\n      \"slug\": \"string\",\n      \"mainImageUrl\": \"https://WqEbHiVfJiJgTyeHflYiAKEfJn.cspYJPf3VkHTs+ehVwK\",\n      \"externalImageUrl\": \"https://LbOjhymKMHAdxMdjjtfvclDYk.sePYUyAdCKSrcJzY\",\n      \"specialPrice\": 8283.503163170737,\n      \"visible\": true,\n      \"pickupAvailable\": true,\n      \"deliveryAvailable\": true,\n      \"eatInAvailable\": true,\n      \"sortNum\": 2356,\n      \"publishStatus\": \"string\",\n      \"productType\": 5079,\n      \"isBundle\": false,\n      \"isVariant\": false,\n      \"taxOverride\": 3474.599486427523,\n      \"taxOverrideDelivery\": 7769.339098516779,\n      \"taxOverrideEatIn\": 4340.204363105949,\n      \"showStartDatetime\": \"2016-02-20T04:53:49.609Z\",\n      \"posCategory\": \"string\",\n      \"modifierGroups\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 1442,\n          \"minSelect\": 3846,\n          \"maxSelect\": 9077,\n          \"allowMultipleQty\": false,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 1644.0944932033053,\n              \"sortNum\": 3705,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 2053.5831857778076\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 4330.1633246404945,\n              \"sortNum\": 1589,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 5918.278447445704\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 1526,\n          \"minSelect\": 7884,\n          \"maxSelect\": 7170,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 1282.3023741421703,\n              \"sortNum\": 7695,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 7609.790730580774\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 3174.9245998302777,\n              \"sortNum\": 1964,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 1032.8492845799065\n            }\n          ]\n        }\n      ],\n      \"bundleSections\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 2117,\n          \"minSelection\": 4103,\n          \"maxSelection\": 909,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 2471.359837520377,\n              \"sortNum\": 4032\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 9348.318957088624,\n              \"sortNum\": 5617\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 8507,\n          \"minSelection\": 3300,\n          \"maxSelection\": 4610,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 2522.166340548082,\n              \"sortNum\": 8318\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 8703.163223561889,\n              \"sortNum\": 1044\n            }\n          ]\n        }\n      ],\n      \"storePrices\": [\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 6464.373966534305,\n          \"specialPrice\": 4908.25460479771,\n          \"sellAvailable\": true\n        },\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 8088.649989226003,\n          \"specialPrice\": 1794.7088577110826,\n          \"sellAvailable\": true\n        }\n      ]\n    }\n  ]\n}")
  .asString();
```

```php api_v1_products_sync_Sync products_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'http://localhost:8080/api/v1/products/sync', [
  'body' => '{
  "products": [
    {
      "itemCode": "PROD-001",
      "name": "Margherita Pizza",
      "basePrice": 12.5,
      "internalName": "string",
      "shortDescription": "string",
      "description": "string",
      "slug": "string",
      "mainImageUrl": "http://VRLXTRfbzFVOwejp.bxnIKg2M,rs0wEgaTaDOzOgl8b1LWtZDEL5S1TlRT",
      "externalImageUrl": "https://JgfydrZiYRcLbkVSlxHocQxewG.lssscbgAEL6oNl4CUuWxUaA4amPmZf3LfczFIg7oWf4ESo5k",
      "specialPrice": 7548.007286127645,
      "visible": true,
      "pickupAvailable": true,
      "deliveryAvailable": true,
      "eatInAvailable": true,
      "sortNum": 839,
      "publishStatus": "string",
      "productType": 2493,
      "isBundle": false,
      "isVariant": false,
      "taxOverride": 1100.2022189287209,
      "taxOverrideDelivery": 4015.9119760258345,
      "taxOverrideEatIn": 687.695367386707,
      "showStartDatetime": "1965-12-17T12:57:37.874Z",
      "posCategory": "string",
      "modifierGroups": [
        {
          "itemCode": "string",
          "name": "string",
          "inputType": "string",
          "sortNum": 9462,
          "minSelect": 3284,
          "maxSelect": 2001,
          "allowMultipleQty": true,
          "options": [
            {
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 7334.272827633257,
              "sortNum": 19,
              "asDefault": false,
              "visible": true,
              "taxOverride": 3913.9164388736503
            },
            {
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 410.56103835139135,
              "sortNum": 7957,
              "asDefault": true,
              "visible": true,
              "taxOverride": 3368.1486964031506
            }
          ]
        },
        {
          "itemCode": "string",
          "name": "string",
          "inputType": "string",
          "sortNum": 7246,
          "minSelect": 7300,
          "maxSelect": 7252,
          "allowMultipleQty": true,
          "options": [
            {
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 6251.149452662439,
              "sortNum": 9474,
              "asDefault": true,
              "visible": true,
              "taxOverride": 5244.246848055738
            },
            {
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 4733.559872440632,
              "sortNum": 9111,
              "asDefault": false,
              "visible": true,
              "taxOverride": 9552.192762334953
            }
          ]
        }
      ],
      "bundleSections": [
        {
          "itemCode": "string",
          "name": "string",
          "sortNum": 3360,
          "minSelection": 773,
          "maxSelection": 6068,
          "items": [
            {
              "itemCode": "string",
              "price": 6898.883235326874,
              "sortNum": 8825
            },
            {
              "itemCode": "string",
              "price": 1518.724224819672,
              "sortNum": 3041
            }
          ]
        },
        {
          "itemCode": "string",
          "name": "string",
          "sortNum": 5808,
          "minSelection": 374,
          "maxSelection": 218,
          "items": [
            {
              "itemCode": "string",
              "price": 3796.7997334349925,
              "sortNum": 3521
            },
            {
              "itemCode": "string",
              "price": 8451.087394422879,
              "sortNum": 3994
            }
          ]
        }
      ],
      "storePrices": [
        {
          "outletId": "string",
          "basePrice": 5782.3484900378035,
          "specialPrice": 8208.458459226651,
          "sellAvailable": true
        },
        {
          "outletId": "string",
          "basePrice": 7289.5797393302855,
          "specialPrice": 2736.1081555386036,
          "sellAvailable": true
        }
      ]
    },
    {
      "itemCode": "PROD-001",
      "name": "Margherita Pizza",
      "basePrice": 12.5,
      "internalName": "string",
      "shortDescription": "string",
      "description": "string",
      "slug": "string",
      "mainImageUrl": "https://WqEbHiVfJiJgTyeHflYiAKEfJn.cspYJPf3VkHTs+ehVwK",
      "externalImageUrl": "https://LbOjhymKMHAdxMdjjtfvclDYk.sePYUyAdCKSrcJzY",
      "specialPrice": 8283.503163170737,
      "visible": true,
      "pickupAvailable": true,
      "deliveryAvailable": true,
      "eatInAvailable": true,
      "sortNum": 2356,
      "publishStatus": "string",
      "productType": 5079,
      "isBundle": false,
      "isVariant": false,
      "taxOverride": 3474.599486427523,
      "taxOverrideDelivery": 7769.339098516779,
      "taxOverrideEatIn": 4340.204363105949,
      "showStartDatetime": "2016-02-20T04:53:49.609Z",
      "posCategory": "string",
      "modifierGroups": [
        {
          "itemCode": "string",
          "name": "string",
          "inputType": "string",
          "sortNum": 1442,
          "minSelect": 3846,
          "maxSelect": 9077,
          "allowMultipleQty": false,
          "options": [
            {
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 1644.0944932033053,
              "sortNum": 3705,
              "asDefault": true,
              "visible": true,
              "taxOverride": 2053.5831857778076
            },
            {
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 4330.1633246404945,
              "sortNum": 1589,
              "asDefault": true,
              "visible": true,
              "taxOverride": 5918.278447445704
            }
          ]
        },
        {
          "itemCode": "string",
          "name": "string",
          "inputType": "string",
          "sortNum": 1526,
          "minSelect": 7884,
          "maxSelect": 7170,
          "allowMultipleQty": true,
          "options": [
            {
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 1282.3023741421703,
              "sortNum": 7695,
              "asDefault": true,
              "visible": true,
              "taxOverride": 7609.790730580774
            },
            {
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 3174.9245998302777,
              "sortNum": 1964,
              "asDefault": true,
              "visible": true,
              "taxOverride": 1032.8492845799065
            }
          ]
        }
      ],
      "bundleSections": [
        {
          "itemCode": "string",
          "name": "string",
          "sortNum": 2117,
          "minSelection": 4103,
          "maxSelection": 909,
          "items": [
            {
              "itemCode": "string",
              "price": 2471.359837520377,
              "sortNum": 4032
            },
            {
              "itemCode": "string",
              "price": 9348.318957088624,
              "sortNum": 5617
            }
          ]
        },
        {
          "itemCode": "string",
          "name": "string",
          "sortNum": 8507,
          "minSelection": 3300,
          "maxSelection": 4610,
          "items": [
            {
              "itemCode": "string",
              "price": 2522.166340548082,
              "sortNum": 8318
            },
            {
              "itemCode": "string",
              "price": 8703.163223561889,
              "sortNum": 1044
            }
          ]
        }
      ],
      "storePrices": [
        {
          "outletId": "string",
          "basePrice": 6464.373966534305,
          "specialPrice": 4908.25460479771,
          "sellAvailable": true
        },
        {
          "outletId": "string",
          "basePrice": 8088.649989226003,
          "specialPrice": 1794.7088577110826,
          "sellAvailable": true
        }
      ]
    }
  ]
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'X-Api-Key' => '<apiKey>',
    'X-Provider' => 'cata',
    'X-Tenant-ID' => 'string',
  ],
]);

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

```csharp api_v1_products_sync_Sync products_example
using RestSharp;

var client = new RestClient("http://localhost:8080/api/v1/products/sync");
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  \"products\": [\n    {\n      \"itemCode\": \"PROD-001\",\n      \"name\": \"Margherita Pizza\",\n      \"basePrice\": 12.5,\n      \"internalName\": \"string\",\n      \"shortDescription\": \"string\",\n      \"description\": \"string\",\n      \"slug\": \"string\",\n      \"mainImageUrl\": \"http://VRLXTRfbzFVOwejp.bxnIKg2M,rs0wEgaTaDOzOgl8b1LWtZDEL5S1TlRT\",\n      \"externalImageUrl\": \"https://JgfydrZiYRcLbkVSlxHocQxewG.lssscbgAEL6oNl4CUuWxUaA4amPmZf3LfczFIg7oWf4ESo5k\",\n      \"specialPrice\": 7548.007286127645,\n      \"visible\": true,\n      \"pickupAvailable\": true,\n      \"deliveryAvailable\": true,\n      \"eatInAvailable\": true,\n      \"sortNum\": 839,\n      \"publishStatus\": \"string\",\n      \"productType\": 2493,\n      \"isBundle\": false,\n      \"isVariant\": false,\n      \"taxOverride\": 1100.2022189287209,\n      \"taxOverrideDelivery\": 4015.9119760258345,\n      \"taxOverrideEatIn\": 687.695367386707,\n      \"showStartDatetime\": \"1965-12-17T12:57:37.874Z\",\n      \"posCategory\": \"string\",\n      \"modifierGroups\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 9462,\n          \"minSelect\": 3284,\n          \"maxSelect\": 2001,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 7334.272827633257,\n              \"sortNum\": 19,\n              \"asDefault\": false,\n              \"visible\": true,\n              \"taxOverride\": 3913.9164388736503\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 410.56103835139135,\n              \"sortNum\": 7957,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 3368.1486964031506\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 7246,\n          \"minSelect\": 7300,\n          \"maxSelect\": 7252,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 6251.149452662439,\n              \"sortNum\": 9474,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 5244.246848055738\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 4733.559872440632,\n              \"sortNum\": 9111,\n              \"asDefault\": false,\n              \"visible\": true,\n              \"taxOverride\": 9552.192762334953\n            }\n          ]\n        }\n      ],\n      \"bundleSections\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 3360,\n          \"minSelection\": 773,\n          \"maxSelection\": 6068,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 6898.883235326874,\n              \"sortNum\": 8825\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 1518.724224819672,\n              \"sortNum\": 3041\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 5808,\n          \"minSelection\": 374,\n          \"maxSelection\": 218,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 3796.7997334349925,\n              \"sortNum\": 3521\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 8451.087394422879,\n              \"sortNum\": 3994\n            }\n          ]\n        }\n      ],\n      \"storePrices\": [\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 5782.3484900378035,\n          \"specialPrice\": 8208.458459226651,\n          \"sellAvailable\": true\n        },\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 7289.5797393302855,\n          \"specialPrice\": 2736.1081555386036,\n          \"sellAvailable\": true\n        }\n      ]\n    },\n    {\n      \"itemCode\": \"PROD-001\",\n      \"name\": \"Margherita Pizza\",\n      \"basePrice\": 12.5,\n      \"internalName\": \"string\",\n      \"shortDescription\": \"string\",\n      \"description\": \"string\",\n      \"slug\": \"string\",\n      \"mainImageUrl\": \"https://WqEbHiVfJiJgTyeHflYiAKEfJn.cspYJPf3VkHTs+ehVwK\",\n      \"externalImageUrl\": \"https://LbOjhymKMHAdxMdjjtfvclDYk.sePYUyAdCKSrcJzY\",\n      \"specialPrice\": 8283.503163170737,\n      \"visible\": true,\n      \"pickupAvailable\": true,\n      \"deliveryAvailable\": true,\n      \"eatInAvailable\": true,\n      \"sortNum\": 2356,\n      \"publishStatus\": \"string\",\n      \"productType\": 5079,\n      \"isBundle\": false,\n      \"isVariant\": false,\n      \"taxOverride\": 3474.599486427523,\n      \"taxOverrideDelivery\": 7769.339098516779,\n      \"taxOverrideEatIn\": 4340.204363105949,\n      \"showStartDatetime\": \"2016-02-20T04:53:49.609Z\",\n      \"posCategory\": \"string\",\n      \"modifierGroups\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 1442,\n          \"minSelect\": 3846,\n          \"maxSelect\": 9077,\n          \"allowMultipleQty\": false,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 1644.0944932033053,\n              \"sortNum\": 3705,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 2053.5831857778076\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 4330.1633246404945,\n              \"sortNum\": 1589,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 5918.278447445704\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"inputType\": \"string\",\n          \"sortNum\": 1526,\n          \"minSelect\": 7884,\n          \"maxSelect\": 7170,\n          \"allowMultipleQty\": true,\n          \"options\": [\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 1282.3023741421703,\n              \"sortNum\": 7695,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 7609.790730580774\n            },\n            {\n              \"itemCode\": \"string\",\n              \"name\": \"string\",\n              \"additionalPrice\": 3174.9245998302777,\n              \"sortNum\": 1964,\n              \"asDefault\": true,\n              \"visible\": true,\n              \"taxOverride\": 1032.8492845799065\n            }\n          ]\n        }\n      ],\n      \"bundleSections\": [\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 2117,\n          \"minSelection\": 4103,\n          \"maxSelection\": 909,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 2471.359837520377,\n              \"sortNum\": 4032\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 9348.318957088624,\n              \"sortNum\": 5617\n            }\n          ]\n        },\n        {\n          \"itemCode\": \"string\",\n          \"name\": \"string\",\n          \"sortNum\": 8507,\n          \"minSelection\": 3300,\n          \"maxSelection\": 4610,\n          \"items\": [\n            {\n              \"itemCode\": \"string\",\n              \"price\": 2522.166340548082,\n              \"sortNum\": 8318\n            },\n            {\n              \"itemCode\": \"string\",\n              \"price\": 8703.163223561889,\n              \"sortNum\": 1044\n            }\n          ]\n        }\n      ],\n      \"storePrices\": [\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 6464.373966534305,\n          \"specialPrice\": 4908.25460479771,\n          \"sellAvailable\": true\n        },\n        {\n          \"outletId\": \"string\",\n          \"basePrice\": 8088.649989226003,\n          \"specialPrice\": 1794.7088577110826,\n          \"sellAvailable\": true\n        }\n      ]\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift api_v1_products_sync_Sync products_example
import Foundation

let headers = [
  "X-Tenant-ID": "string",
  "X-Provider": "cata",
  "X-Api-Key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = ["products": [
    [
      "itemCode": "PROD-001",
      "name": "Margherita Pizza",
      "basePrice": 12.5,
      "internalName": "string",
      "shortDescription": "string",
      "description": "string",
      "slug": "string",
      "mainImageUrl": "http://VRLXTRfbzFVOwejp.bxnIKg2M,rs0wEgaTaDOzOgl8b1LWtZDEL5S1TlRT",
      "externalImageUrl": "https://JgfydrZiYRcLbkVSlxHocQxewG.lssscbgAEL6oNl4CUuWxUaA4amPmZf3LfczFIg7oWf4ESo5k",
      "specialPrice": 7548.007286127645,
      "visible": true,
      "pickupAvailable": true,
      "deliveryAvailable": true,
      "eatInAvailable": true,
      "sortNum": 839,
      "publishStatus": "string",
      "productType": 2493,
      "isBundle": false,
      "isVariant": false,
      "taxOverride": 1100.2022189287209,
      "taxOverrideDelivery": 4015.9119760258345,
      "taxOverrideEatIn": 687.695367386707,
      "showStartDatetime": "1965-12-17T12:57:37.874Z",
      "posCategory": "string",
      "modifierGroups": [
        [
          "itemCode": "string",
          "name": "string",
          "inputType": "string",
          "sortNum": 9462,
          "minSelect": 3284,
          "maxSelect": 2001,
          "allowMultipleQty": true,
          "options": [
            [
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 7334.272827633257,
              "sortNum": 19,
              "asDefault": false,
              "visible": true,
              "taxOverride": 3913.9164388736503
            ],
            [
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 410.56103835139135,
              "sortNum": 7957,
              "asDefault": true,
              "visible": true,
              "taxOverride": 3368.1486964031506
            ]
          ]
        ],
        [
          "itemCode": "string",
          "name": "string",
          "inputType": "string",
          "sortNum": 7246,
          "minSelect": 7300,
          "maxSelect": 7252,
          "allowMultipleQty": true,
          "options": [
            [
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 6251.149452662439,
              "sortNum": 9474,
              "asDefault": true,
              "visible": true,
              "taxOverride": 5244.246848055738
            ],
            [
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 4733.559872440632,
              "sortNum": 9111,
              "asDefault": false,
              "visible": true,
              "taxOverride": 9552.192762334953
            ]
          ]
        ]
      ],
      "bundleSections": [
        [
          "itemCode": "string",
          "name": "string",
          "sortNum": 3360,
          "minSelection": 773,
          "maxSelection": 6068,
          "items": [
            [
              "itemCode": "string",
              "price": 6898.883235326874,
              "sortNum": 8825
            ],
            [
              "itemCode": "string",
              "price": 1518.724224819672,
              "sortNum": 3041
            ]
          ]
        ],
        [
          "itemCode": "string",
          "name": "string",
          "sortNum": 5808,
          "minSelection": 374,
          "maxSelection": 218,
          "items": [
            [
              "itemCode": "string",
              "price": 3796.7997334349925,
              "sortNum": 3521
            ],
            [
              "itemCode": "string",
              "price": 8451.087394422879,
              "sortNum": 3994
            ]
          ]
        ]
      ],
      "storePrices": [
        [
          "outletId": "string",
          "basePrice": 5782.3484900378035,
          "specialPrice": 8208.458459226651,
          "sellAvailable": true
        ],
        [
          "outletId": "string",
          "basePrice": 7289.5797393302855,
          "specialPrice": 2736.1081555386036,
          "sellAvailable": true
        ]
      ]
    ],
    [
      "itemCode": "PROD-001",
      "name": "Margherita Pizza",
      "basePrice": 12.5,
      "internalName": "string",
      "shortDescription": "string",
      "description": "string",
      "slug": "string",
      "mainImageUrl": "https://WqEbHiVfJiJgTyeHflYiAKEfJn.cspYJPf3VkHTs+ehVwK",
      "externalImageUrl": "https://LbOjhymKMHAdxMdjjtfvclDYk.sePYUyAdCKSrcJzY",
      "specialPrice": 8283.503163170737,
      "visible": true,
      "pickupAvailable": true,
      "deliveryAvailable": true,
      "eatInAvailable": true,
      "sortNum": 2356,
      "publishStatus": "string",
      "productType": 5079,
      "isBundle": false,
      "isVariant": false,
      "taxOverride": 3474.599486427523,
      "taxOverrideDelivery": 7769.339098516779,
      "taxOverrideEatIn": 4340.204363105949,
      "showStartDatetime": "2016-02-20T04:53:49.609Z",
      "posCategory": "string",
      "modifierGroups": [
        [
          "itemCode": "string",
          "name": "string",
          "inputType": "string",
          "sortNum": 1442,
          "minSelect": 3846,
          "maxSelect": 9077,
          "allowMultipleQty": false,
          "options": [
            [
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 1644.0944932033053,
              "sortNum": 3705,
              "asDefault": true,
              "visible": true,
              "taxOverride": 2053.5831857778076
            ],
            [
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 4330.1633246404945,
              "sortNum": 1589,
              "asDefault": true,
              "visible": true,
              "taxOverride": 5918.278447445704
            ]
          ]
        ],
        [
          "itemCode": "string",
          "name": "string",
          "inputType": "string",
          "sortNum": 1526,
          "minSelect": 7884,
          "maxSelect": 7170,
          "allowMultipleQty": true,
          "options": [
            [
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 1282.3023741421703,
              "sortNum": 7695,
              "asDefault": true,
              "visible": true,
              "taxOverride": 7609.790730580774
            ],
            [
              "itemCode": "string",
              "name": "string",
              "additionalPrice": 3174.9245998302777,
              "sortNum": 1964,
              "asDefault": true,
              "visible": true,
              "taxOverride": 1032.8492845799065
            ]
          ]
        ]
      ],
      "bundleSections": [
        [
          "itemCode": "string",
          "name": "string",
          "sortNum": 2117,
          "minSelection": 4103,
          "maxSelection": 909,
          "items": [
            [
              "itemCode": "string",
              "price": 2471.359837520377,
              "sortNum": 4032
            ],
            [
              "itemCode": "string",
              "price": 9348.318957088624,
              "sortNum": 5617
            ]
          ]
        ],
        [
          "itemCode": "string",
          "name": "string",
          "sortNum": 8507,
          "minSelection": 3300,
          "maxSelection": 4610,
          "items": [
            [
              "itemCode": "string",
              "price": 2522.166340548082,
              "sortNum": 8318
            ],
            [
              "itemCode": "string",
              "price": 8703.163223561889,
              "sortNum": 1044
            ]
          ]
        ]
      ],
      "storePrices": [
        [
          "outletId": "string",
          "basePrice": 6464.373966534305,
          "specialPrice": 4908.25460479771,
          "sellAvailable": true
        ],
        [
          "outletId": "string",
          "basePrice": 8088.649989226003,
          "specialPrice": 1794.7088577110826,
          "sellAvailable": true
        ]
      ]
    ]
  ]] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:8080/api/v1/products/sync")! 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()
```