ModifierGroup
Items are sold on the menu. Modifiers to items are items themselves and their relationship is defined by ModifierGroup.
RestaurantOrder ManagementDeliveryOnline OrderingMenu ManagementAnalytics
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ModifierGroup",
"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-schema.json",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The identifier that exists in the third party system. During a menu publish event, uuidV4 ids will be generated for new entities that do not yet exist in the internal menu.",
"example": "da0e4e94-5670-4175-897a-3b7dde45bed5"
},
"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,
"default": 1,
"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": "The description for this modifier group.",
"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"
},
"exposedThirdPartyInfos": {
"type": "array",
"default": [],
"description": "Additional information about the menu that should be exposed to third party",
"items": {
"$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-exposed-third-party-info-schema.json"
}
}
},
"required": [
"id",
"name"
]
}
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/public-api-modifier-group"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.