---
title: "Upload Menu Items"
method: POST
path: "/items"
tags: ["items"]
---

# Upload Menu Items

`POST /items`

This endpoint allows to create or update the individual items with modifiers for a specific store.

## Request body

- ItemsRequest
  - `externalRequestId` string, required — Unique identifier for the request.
  - `integrationId` string, required — Unique identifier for the integration.
  - `storeId` string, required — Identifier for the store.
  - `currencyCode` string, required — Code for the currency used in recipes and modifiers.
  - `callbackUrl` string — URL to call back with status updates recipes and modifiers creation process .
  - `items` Item[], required — List of items to be created via this endpoint.
    - `name` string, required — The name or description of the item to be delivered.
    - `quantity` integer, required — The quantity of the specific item to be delivered.
  - `modifierGroups` ModifierGroup[] — List of modifier groups associated with the spesific items.
    - `id` string, required — Unique identifier for the modifier group.
    - `name` MultiLingualText, required — Content for a string displayed to users in multiple languages <br/> Supported laguages (Locale ids) <br/> * en-us :- English (United States) <br/> * ar-ae :- Arabic (United Arab Emirates)
      - `translations` Translations, required — A mapping from locale code to the translated text in each locale. One translation must be provided. e.g. "en-us", "ar-ae"
    - `quantityInfo` object, required — Information about the quantity limits for the modifier group.
      - `minPermitted` integer — Minimum number of modifiers that must be selected.
      - `maxPermitted` integer — Maximum number of modifiers that can be selected.
    - `modifiers` string[], required — List of modifier IDs associated with the group.
  - `contexts` Contexts[] — Collection of context definitions used to apply platform-specific overrides for items and modifiers.
    - Context[]
      - `id` string, required — Unique identifier for the context, referenced in item and modifier overrides.
      - `ranges` Range[], required — List of platform ranges that specify which aggregator channels this context applies to.
        - `type` 'PLATFORM', required — Scope type for the range. Currently only PLATFORM is supported.
        - `ids` string[], required — List of aggregator platform identifiers this context applies to

## Response `200`

Successful response OK

- MenuResponse — Response object of the successful menu publish
  - `id` string, required — Unique id for the request.
  - `externalReferenceId` string, required — Grubtech unique id for the request

## Other responses

- `400` — Bad request
- `500` — Internal server error

---

[API](https://skmtc.net/grubtech/apis/grubtech-auth-server.md) · [All operations](https://skmtc.net/grubtech/apis/grubtech-auth-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/grubtech/grubtech-auth-server/revisions/21688b6dcb69/schema)
