Grubhub · Schema
LineSubstitutionReplacement
Replacement items
Food DeliveryRestaurantMarketplaceOnline OrderingPoint-of-SaleLogisticsLast Mile DeliveryMenu ManagementHospitalityLocal CommerceDelivery
Properties
| Name | Type | Description |
|---|---|---|
| replacement_id | string | ID for replacement item |
| replacement_name | string | Name for replacement item |
| replacement_price | integer | Price for replacement item |
| replacement_quantity | integer | Quantity of replacement item |
| replacement_weight | number | Weight of the replacement item |
| replacement_measurement_unit | string | Measurement unit for the replacement item |
| options | array | Options for the replacement |
| merchant_id | string | ID of the merchant that this item belongs to |
| packaging_options | array | Options for packaging |
| replacement_gtin | string | GTIN ID of the replacement item |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/grubhub/main/json-schema/grubhub-linesubstitutionreplacement-schema.json",
"title": "LineSubstitutionReplacement",
"x-generated": "2026-09-17",
"x-method": "derived",
"x-source": "openapi/grubhub-orders-openapi.yml#/components/schemas/LineSubstitutionReplacement",
"type": "object",
"properties": {
"replacement_id": {
"type": "string",
"description": "ID for replacement item"
},
"replacement_name": {
"type": "string",
"description": "Name for replacement item"
},
"replacement_price": {
"type": "integer",
"description": "Price for replacement item",
"format": "int32"
},
"replacement_quantity": {
"type": "integer",
"description": "Quantity of replacement item",
"format": "int32"
},
"replacement_weight": {
"type": "number",
"description": "Weight of the replacement item",
"format": "float"
},
"replacement_measurement_unit": {
"type": "string",
"description": "Measurement unit for the replacement item"
},
"options": {
"type": "array",
"description": "Options for the replacement",
"items": {
"$ref": "#/$defs/LineOptionSubstitution"
}
},
"merchant_id": {
"type": "string",
"description": "ID of the merchant that this item belongs to"
},
"packaging_options": {
"uniqueItems": true,
"type": "array",
"description": "Options for packaging",
"items": {
"type": "string",
"description": "Options for packaging",
"enum": [
"INDIVIDUALLY_PACKAGED",
"TRAY",
"PLATTER"
]
},
"enum": [
"INDIVIDUALLY_PACKAGED",
"TRAY",
"PLATTER"
]
},
"replacement_gtin": {
"type": "string",
"description": "GTIN ID of the replacement item"
}
},
"description": "Replacement items",
"$defs": {
"AddLineSubstitution": {
"type": "object",
"description": "Add Line Substitution",
"allOf": [
{
"$ref": "#/$defs/LineSubstitutionType"
}
]
},
"LineOptionSubstitution": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the replacement option"
},
"option_id": {
"type": "string",
"description": "ID of the replacement option"
},
"price": {
"type": "integer",
"description": "Price for replacement option",
"format": "int32"
},
"delta": {
"type": "integer",
"description": "The absolute value of the difference in cents requested to change the total by",
"format": "int32"
},
"quantity": {
"type": "integer",
"description": "Quantity of replacement option",
"format": "int32"
},
"line_option_substitution_type": {
"$ref": "#/$defs/LineSubstitutionType"
},
"sub_options": {
"type": "array",
"description": "Options for the replacement",
"items": {
"$ref": "#/$defs/LineOptionSubstitution"
}
}
},
"description": "Options for the replacement"
},
"LineSubstitutionType": {
"required": [
"type"
],
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"description": "The type of substitution: ADDED, REMOVED, QUANTITY_CHANGED, QUANTITY_WEIGHT_CHANGED, SUBITEMS_CHANGED, REPLACED",
"discriminator": {
"propertyName": "type",
"mapping": {
"ADDED": "#/components/schemas/AddLineSubstitution",
"REMOVED": "#/components/schemas/RemoveLineSubstitution",
"QUANTITY_CHANGED": "#/components/schemas/QuantityLineSubstitution",
"QUANTITY_WEIGHT_CHANGED": "#/components/schemas/QuantityAndWeightLineSubstitution",
"SUBITEMS_CHANGED": "#/components/schemas/SubItemLineSubstitution",
"REPLACED": "#/components/schemas/ReplaceLineSubstitution"
}
},
"oneOf": [
{
"$ref": "#/$defs/AddLineSubstitution"
},
{
"$ref": "#/$defs/RemoveLineSubstitution"
},
{
"$ref": "#/$defs/QuantityLineSubstitution"
},
{
"$ref": "#/$defs/QuantityAndWeightLineSubstitution"
},
{
"$ref": "#/$defs/SubItemLineSubstitution"
},
{
"$ref": "#/$defs/ReplaceLineSubstitution"
}
]
},
"QuantityAndWeightLineSubstitution": {
"required": [
"new_quantity",
"new_weight",
"old_quantity",
"old_weight"
],
"type": "object",
"description": "Quantity And Weight Line Substitution",
"allOf": [
{
"$ref": "#/$defs/LineSubstitutionType"
},
{
"type": "object",
"properties": {
"old_quantity": {
"type": "integer",
"description": "Old quantity",
"format": "int32"
},
"new_quantity": {
"type": "integer",
"description": "New quantity",
"format": "int32"
},
"old_weight": {
"type": "number",
"description": "Old weight"
},
"new_weight": {
"type": "number",
"description": "New weight"
}
}
}
]
},
"QuantityLineSubstitution": {
"required": [
"new_quantity",
"old_quantity"
],
"type": "object",
"description": "Quantity Line Substitution",
"allOf": [
{
"$ref": "#/$defs/LineSubstitutionType"
},
{
"type": "object",
"properties": {
"old_quantity": {
"type": "integer",
"description": "Old quantity",
"format": "int32"
},
"new_quantity": {
"type": "integer",
"description": "New quantity",
"format": "int32"
}
}
}
]
},
"RemoveLineSubstitution": {
"required": [
"old_quantity"
],
"type": "object",
"description": "Remove Line Substitution",
"allOf": [
{
"$ref": "#/$defs/LineSubstitutionType"
},
{
"type": "object",
"properties": {
"old_quantity": {
"type": "integer",
"description": "Old quantity",
"format": "int32"
}
}
}
]
},
"ReplaceLineSubstitution": {
"type": "object",
"description": "Replace Line Substitution",
"allOf": [
{
"$ref": "#/$defs/LineSubstitutionType"
}
]
},
"SubItemLineSubstitution": {
"type": "object",
"description": "Sub Item Line Substitution",
"allOf": [
{
"$ref": "#/$defs/LineSubstitutionType"
}
]
}
}
}
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
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/grubhub-linesubstitutionreplacement"
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 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.