{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ModifierGroupUpdateRequest", "description": "Items are sold on the menu. Modifiers to items are items themselves and their relationship is defined by ModifierGroup.", "$id": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-modifier-group-update-request-schema.json", "type": "object", "properties": { "id": { "type": "string", "description": "Identifier for ModifierGroup.", "example": "db5740de-429c-4f06-b264-3d41dce6d8c3" }, "name": { "type": "string", "description": "Name of ModifierGroup.", "example": "Choose your type of bagel" }, "minimumSelections": { "minimum": 0, "type": "integer", "description": "Minimum number of selections customers can make in this ModifierGroup. 0 means no min limits.", "format": "int32", "example": 0 }, "maximumSelections": { "minimum": 0, "type": "integer", "description": "Maximum number of selections customers can make in this ModifierGroup. 0 means no max limits.", "format": "int32", "example": 0 }, "maxPerModifierSelectionQuantity": { "minimum": 0, "type": "integer", "description": "Maximum number of selections customers can make for each modifier item in this ModifierGroup. 0 means there is no limit to how many times they can select a single modifier item. If not specified, a value of 1 will be used as the default value.", "format": "int32", "example": 0 }, "defaultModifierSelectionData": { "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-default-modifier-selection-data-schema.json" }, "itemIds": { "type": "array", "default": [], "description": "Identifiers of each Item within this ModifierGroup.", "items": { "type": "string" } }, "description": { "type": "string", "description": "Description for this ModifierGroup.", "example": "Choose any of these delicious types of bagels" }, "type": { "type": "string", "description": "Experimental: The type of this modifier group, for informative purposes. It can be one of the following values: `DEFAULT`, `UPSELL`, `INGREDIENT_REMOVAL`, `INGREDIENT_ADD`, `PREPARE_INSTRUCTIONS`, `SIZE_MODIFICATION`, `PACKAGING_INSTRUCTION` and `CONDIMENT`.", "example": "DEFAULT" } }, "required": [ "id", "name" ] }