ModifierPrompt
In a normalized menu, a question posed to a diner about what additional options they would like with their food; for example, toppings on a pizza or soup options in a lunch special. Each modifier prompts has one or more modifiers that a diner can select. Modifier prompts can apply to multiple menu items.
Properties
| Name | Type | Description |
|---|---|---|
| external_id | string | A user-configured identifier for this object within the menu. External IDs must be unique across all menu entities of this type. Any modifier prompt that shares this `external_id` will be overwritten. |
| name | string | The text given to the diner to prompt then to select from a list of modifier options. |
| internal_name | string | A name displayed on Grubhub menu management tools instead of the display name. |
| modifier_list | string | An `external_id` reference to a PosNormalizedModifierList. This is the list of modifier options valid as answers to this prompt. |
| default_selection_model | object | |
| modifier_prompt_quantity_settings | object | |
| modifier_quantity_settings | object | Quantity information for a single modifier within this prompt. |
| defaulted_modifiers | array | The modifiers, if any, that are selected by default for this prompt. |
| modifier_prompt_free_settings | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/grubhub/main/json-schema/grubhub-modifierprompt-schema.json",
"title": "ModifierPrompt",
"x-generated": "2026-09-17",
"x-method": "derived",
"x-source": "openapi/grubhub-menu-openapi.yml#/components/schemas/ModifierPrompt",
"required": [
"external_id",
"modifier_list",
"name"
],
"type": "object",
"properties": {
"external_id": {
"type": "string",
"description": "A user-configured identifier for this object within the menu. External IDs must be unique across all menu entities of this type. Any modifier prompt that shares this `external_id` will be overwritten."
},
"name": {
"type": "string",
"description": "The text given to the diner to prompt then to select from a list of modifier options."
},
"internal_name": {
"type": "string",
"description": "A name displayed on Grubhub menu management tools instead of the display name."
},
"modifier_list": {
"type": "string",
"description": "An `external_id` reference to a PosNormalizedModifierList. This is the list of modifier options valid as answers to this prompt."
},
"default_selection_model": {
"$ref": "#/$defs/ModifierPromptSelectionSettings"
},
"modifier_prompt_quantity_settings": {
"$ref": "#/$defs/ModifierPromptQuantitySettings"
},
"modifier_quantity_settings": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/ModifierQuantitySettings"
},
"description": "Quantity information for a single modifier within this prompt."
},
"defaulted_modifiers": {
"uniqueItems": true,
"type": "array",
"description": "The modifiers, if any, that are selected by default for this prompt.",
"items": {
"type": "string",
"description": "The modifiers, if any, that are selected by default for this prompt."
}
},
"modifier_prompt_free_settings": {
"$ref": "#/$defs/ModifierPromptFreeSettings"
}
},
"description": "In a normalized menu, a question posed to a diner about what additional options they would like with their food; for example, toppings on a pizza or soup options in a lunch special. Each modifier prompts has one or more modifiers that a diner can select. Modifier prompts can apply to multiple menu items.",
"$defs": {
"ModifierPromptFreeSettings": {
"type": "object",
"properties": {
"free_modifiers": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
},
"description": "Free settings for modifier prompts."
},
"ModifierPromptQuantitySettings": {
"type": "object",
"properties": {
"minimum_units": {
"type": "integer",
"description": "The total minimum quantity that must be selected across all modifiers in a prompt.",
"format": "int32"
},
"maximum_units": {
"type": "integer",
"description": "The total maximum quantity that can be selected across all modifiers in a prompt. *DO NOT use -1 as an integer for unlimited quantity. Instead use a high number, ie 99.*",
"format": "int32"
}
},
"description": "The total minimum and maximum quantities that can be added for all modifier options in this prompt."
},
"ModifierPromptSelectionSettings": {
"type": "object",
"properties": {
"minimum_quantity": {
"type": "integer",
"description": "The minimum number of unique options that the diner can select for this prompt. Use 0 to set no minimum.",
"format": "int32"
},
"maximum_quantity": {
"type": "integer",
"description": "The maximum number of unique options that the diner can select for this prompt. *DO NOT use -1 as an integer for unlimited quantity. Instead use a high number, ie 99.*",
"format": "int32"
}
},
"description": "The minimum and maximum number of unique modifier options that can be selected within a prompt."
},
"ModifierQuantitySettings": {
"type": "object",
"properties": {
"default_units": {
"type": "integer",
"description": "The number of units of this modifier already entered into the interface when the diner first selects these associated menu item. Applies only to default_modifiers.",
"format": "int32"
},
"maximum_units": {
"type": "integer",
"description": "The maximum number of units that the diner can add of this modifier. Do not use zero as a maximum integer or the modifiers will not be selectable. *DO NOT use -1 as an integer for unlimited quantity. Instead use a high number, ie 99.*",
"format": "int32"
},
"unit_increment": {
"type": "integer",
"description": "The number of units added per incremental or decremental action.",
"format": "int32"
}
},
"description": "Contains default, maximum, and custom increments for a single modifier. The properties below will be contained in a sub-object identified by the external_id of the modifier in question."
}
}
}
Work with this as data
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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/grubhub-modifierprompt"
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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.