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://jentic.com/install.sh?src=apis&api=%2Fapis%2Fgrubhub.com%2Fgrubhub" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fgrubhub.com%2Fgrubhub" | 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
Confirm, reject, or cancel incoming orders and update prep time so the customer ETA is accurate
GET STARTED
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
/orders/{orderId}/prep-time
Update the prep time on an order
/restaurants/{restaurantId}/reports/financials
Pull financial reports for reconciliation
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Grubhub API by hand means handling its bearer auth against the api-gtm.grubhub.com host and managing menu, order, and report pagination and retries across many restaurants yourself. Through Jentic you install once, import Grubhub from the API Directory, store the token once, and your agent calls it.
Permission scoping
Grubhub puts the restaurant id and order id in the URL path (/restaurants/{restaurantId}/..., /orders/{orderId}/...), so a rule can pin your agent to one restaurant or one order: it can update that restaurant's menu and item availability and nothing else. You choose the operations it may call, so rejecting an order is not included unless you add it.
Credential isolation
Your Grubhub bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context, which matters for multi-location and multi-brand operators.
Intent-based discovery
Agents search Jentic by intent such as 'confirm a Grubhub order' or 'update item availability', and Jentic returns the matching operation with its input schema, including the required restaurantId, orderId, and itemId, so the agent calls the right endpoint without browsing the reference docs.
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.
Can I limit what my agent is allowed to do with the Grubhub API?
Yes. Because you run Jentic One yourself, your own rules decide which Grubhub operations and credentials the agent may use. Grubhub carries the restaurant id and order id in the URL path (/restaurants/{restaurantId}/..., /orders/{orderId}/...), so you can pin the agent to a single restaurant or order and allow only the calls you intend, such as updating a menu and toggling item availability with PUT /restaurants/{restaurantId}/menus/{menuId}/items/{itemId}/availability. Operations you do not grant, like POST /orders/{orderId}/reject, stay off limits unless you add them.
For Agents
Manage Grubhub restaurants, menus, availability, orders, and deliveries from a POS, OMS, or ghost-kitchen platform.
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.