{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://developer.grubhub.com/schemas/grubhub/orderwebhookpayload.json", "title": "Grubhub Order Webhook Payload", "description": "Webhook payload for a new order placed through Grubhub.", "type": "object", "properties": { "event_type": { "type": "string", "description": "The type of event that triggered this webhook.", "const": "NEW_ORDER", "example": "STANDARD" }, "order_uuid": { "type": "string", "format": "uuid", "description": "The unique identifier for the order.", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, "merchant_id": { "type": "string", "description": "The Grubhub merchant identifier.", "example": "ghm-1234567890" }, "placed_at": { "type": "string", "format": "date-time", "description": "When the order was placed.", "example": "2026-06-02T18:30:00Z" }, "fulfillment_type": { "type": "string", "description": "The type of fulfillment requested.", "enum": [ "DELIVERY", "PICKUP" ], "example": "DELIVERY" }, "customer": { "type": "object", "description": "Customer details for the order.", "properties": { "first_name": { "type": "string", "description": "Customer's first name." }, "last_name": { "type": "string", "description": "Customer's last name." }, "phone": { "type": "string", "description": "Customer's phone number." } } }, "items": { "type": "array", "description": "Items included in the order.", "items": { "type": "object", "properties": { "item_id": { "type": "string", "description": "The menu item identifier." }, "name": { "type": "string", "description": "The item name." }, "quantity": { "type": "integer", "description": "The quantity ordered." }, "price": { "type": "number", "format": "double", "description": "The unit price." }, "modifiers": { "type": "array", "description": "Applied modifiers.", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Modifier name." }, "price": { "type": "number", "format": "double", "description": "Modifier price." } } } } } } }, "totals": { "type": "object", "description": "Financial totals for the order.", "properties": { "subtotal": { "type": "number", "format": "double", "description": "Subtotal before taxes and fees." }, "tax": { "type": "number", "format": "double", "description": "Tax amount." }, "tip": { "type": "number", "format": "double", "description": "Tip amount." }, "total": { "type": "number", "format": "double", "description": "Total order amount." } } }, "delivery_address": { "type": "object", "description": "Delivery address for the order.", "properties": { "street_address": { "type": "string", "description": "Street address." }, "city": { "type": "string", "description": "City name." }, "state": { "type": "string", "description": "State abbreviation." }, "zip": { "type": "string", "description": "ZIP code." } } }, "special_instructions": { "type": "string", "description": "Special instructions from the customer.", "example": "Leave at the front desk." } } }