grubhub · Schema

Grubhub Order Webhook Payload

Webhook payload for a new order placed through Grubhub.

Properties

Name Type Description
event_type string The type of event that triggered this webhook.
order_uuid string The unique identifier for the order.
merchant_id string The Grubhub merchant identifier.
placed_at string When the order was placed.
fulfillment_type string The type of fulfillment requested.
customer object Customer details for the order.
items array Items included in the order.
totals object Financial totals for the order.
delivery_address object Delivery address for the order.
special_instructions string Special instructions from the customer.
View JSON Schema on GitHub

JSON Schema

grubhub-orderwebhookpayload-schema.json Raw ↑
{
  "$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."
    }
  }
}