For Agents
Manage Grubhub restaurants, menus, availability, orders, and deliveries from a POS, OMS, or ghost-kitchen platform.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Grubhub API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Grubhub API.
Update restaurant availability and trading hours so Grubhub stops sending orders when a kitchen is closed
Push menu and item changes from a master menu source so prices and modifiers stay in sync
Toggle item-level availability when a 86'd item runs out mid-service
GET STARTED
Use for: I need to confirm a new Grubhub order in our POS, Update the availability of menu item 87654 to out-of-stock, Reject an order that the kitchen cannot fulfil, Get the financial report for restaurant 123 last week
Not supported: Does not handle consumer-side ordering, payment processing, or driver dispatch outside Grubhub's network — use for restaurant partner menu, order, delivery, and report operations only.
The Grubhub API lets restaurant partners and integrators manage their presence on the Grubhub food ordering and delivery marketplace from outside the merchant portal. The 21 endpoints cover restaurant configuration, availability windows, menus and menu items, item-level availability, order intake (confirm, reject, cancel, prep time), delivery tracking, and order plus financial reports. Authentication is bearer-token based, and all calls run under https://api-gtm.grubhub.com/v1. The API is the integration surface used by point-of-sale vendors, virtual brand operators, and ghost-kitchen platforms to keep menus, hours, and order workflows in lockstep with Grubhub.
Confirm, reject, or cancel incoming orders and update prep time so the customer ETA is accurate
Read delivery status for a specific order or delivery to drive tracking screens in the merchant app
Generate order and financial reports for reconciliation against the POS settlement
List orders for a restaurant on a date window for back-office workflows
Patterns agents use Grubhub API for, with concrete tasks.
★ POS-to-Grubhub order intake
Bring Grubhub orders into a restaurant POS in real time so the kitchen sees them on the same ticket printer as dine-in and other delivery channels. The integration accepts incoming orders, calls POST /orders/{orderId}/confirm to acknowledge, and falls back to POST /orders/{orderId}/reject when the kitchen cannot fulfil. PUT /orders/{orderId}/prep-time keeps the customer ETA accurate when the kitchen is slammed. Bearer-token auth keeps each restaurant scoped to its own location.
When a new order arrives, call POST /orders/{orderId}/confirm with the accepted prep time and write the order to the POS ticket queue.
Centralised menu management
Push a master menu (items, prices, modifiers, hours) from a multi-location menu management system into Grubhub for every restaurant the brand operates. PUT /restaurants/{restaurantId}/menus updates the menu document, PUT /restaurants/{restaurantId}/menus/{menuId}/items/{itemId} updates a single item, and PUT /restaurants/{restaurantId}/menus/{menuId}/items/{itemId}/availability handles 86's during service without a full menu push. This is the standard pattern for chains with 100+ locations.
On menu update, call PUT /restaurants/{restaurantId}/menus for each affected location and confirm the menu is live.
Reconciliation and payouts
Pull order and financial reports from Grubhub on a daily cadence and reconcile them against the POS settlement and the merchant bank deposit. GET /restaurants/{restaurantId}/reports/orders surfaces order-level totals while GET /restaurants/{restaurantId}/reports/financials returns the financial summary, and GET /restaurants/{restaurantId}/orders backstops disputes by listing the underlying orders. The output flows into the accounting system for monthly close.
Pull GET /restaurants/{restaurantId}/reports/financials for yesterday and write the totals into the accounting daybook.
AI agent integration through Jentic
Expose Grubhub operations to a restaurant ops agent through Jentic so managers can ask things like 'mark item Spicy Tuna as out of stock at the downtown location' or 'reject any pending order from store 42'. The agent searches Jentic for the right intent, loads the operation schema, and executes it. Jentic stores the Grubhub bearer token in its vault so the agent only ever sees a scoped Jentic agent key.
Through Jentic, search 'confirm a Grubhub order', load the operation, and execute it for the order id arriving in the queue.
21 endpoints — the grubhub api lets restaurant partners and integrators manage their presence on the grubhub food ordering and delivery marketplace from outside the merchant portal.
METHOD
PATH
DESCRIPTION
/restaurants/{restaurantId}
Get restaurant configuration
/restaurants/{restaurantId}/menus
Update menus for a restaurant
/restaurants/{restaurantId}/menus/{menuId}/items/{itemId}/availability
Toggle item-level availability
/orders/{orderId}/confirm
Confirm an inbound order
/orders/{orderId}/reject
Reject an order
/orders/{orderId}/prep-time
Update the prep time on an order
/restaurants/{restaurantId}/reports/financials
Pull financial reports for reconciliation
/restaurants/{restaurantId}
Get restaurant configuration
/restaurants/{restaurantId}/menus
Update menus for a restaurant
/restaurants/{restaurantId}/menus/{menuId}/items/{itemId}/availability
Toggle item-level availability
/orders/{orderId}/confirm
Confirm an inbound order
/orders/{orderId}/reject
Reject an order
Three things that make agents converge on Jentic-routed access.
Credential isolation
The Grubhub bearer token is stored encrypted in the Jentic vault. Agents authenticate to Jentic with a scoped agent key (ak_*); the raw Grubhub token never enters the agent's context, which matters for multi-location and multi-brand operators.
Intent-based discovery
Agents search Jentic with intents like 'confirm a Grubhub order' or 'update item availability' and Jentic returns the matching operation schema with required path parameters (restaurantId, orderId, itemId) ready to execute.
Time to first call
Direct Grubhub partner integration: 2-4 weeks including credential exchange, menu mapping, and order webhook plumbing. Through Jentic: under a day once Grubhub credentials are vaulted, because the agent uses search-load-execute against pre-defined schemas.
Alternatives and complements available in the Jentic catalogue.
Specific to using Grubhub API through Jentic.
What authentication does the Grubhub API use?
Grubhub uses bearer-token authentication. Partner integrations exchange OAuth-style credentials for a bearer token and send it as Authorization: Bearer <token> on every request. Through Jentic the bearer token lives in the vault and the agent calls Jentic with a scoped agent key (ak_*) rather than the raw Grubhub token.
Can I confirm and reject orders programmatically?
Yes. POST /orders/{orderId}/confirm acknowledges an order, POST /orders/{orderId}/reject sends a rejection, and POST /orders/{orderId}/cancel handles cancellations. PUT /orders/{orderId}/prep-time updates the customer ETA when the kitchen revises the time required.
What are the rate limits for the Grubhub API?
Grubhub does not encode hard limits in the public spec. Their gateway throttles at the partner level; back off on HTTP 429 responses and stagger menu pushes across locations rather than firing them simultaneously.
How do I update item availability quickly through Jentic?
Install Jentic with pip install jentic, search for 'update Grubhub item availability', load the matching operation, and execute it with the restaurant id, menu id, item id, and availability flag. Jentic resolves the call to PUT /restaurants/{restaurantId}/menus/{menuId}/items/{itemId}/availability.
Can I pull financial reports for accounting reconciliation?
Yes. GET /restaurants/{restaurantId}/reports/financials returns the financial summary for a restaurant over a date window, and GET /restaurants/{restaurantId}/reports/orders returns the underlying order-level data. Together they support a daily reconciliation against bank deposits.
How do I track a delivery for an order in flight?
Call GET /orders/{orderId}/delivery-status for the order or GET /deliveries/{deliveryId} when you have the delivery id. POST /deliveries/{deliveryId}/update lets a partner driver app push status updates back into Grubhub.
/orders/{orderId}/prep-time
Update the prep time on an order
/restaurants/{restaurantId}/reports/financials
Pull financial reports for reconciliation