The Providers & Integrations API allows you to connect your system to various food delivery platforms ("Providers") like Grubhub, Uber Eats, DoorDash, and more. Through these connections, orders from different channels can be managed centrally via KitchenHub.
β
Prerequisites
Before using the API, make sure you have:
- A KitchenHub account with API access
- At least one restaurant/store created in your KitchenHub account
- Any required credentials or access from the third-party provider (e.g., DoorDash credentials)
π οΈ Ways to Connect Providers
There are two ways to connect providers to your store:
- Via the Admin Dashboard β Use the KitchenHub web interface to browse providers and connect them using built-in forms. This method is user-friendly and requires no coding.
- Via the API β For programmatic access and integration into your custom systems, use the Providers & Integrations API to list, create, and manage provider connections.
π How Integration Works

Integration is performed through the creation of an Integration Account via the API. Hereβs how it works:
- First, use the API to get the list of supported providers and present them to the customer. You can choose to show any provider you want.
- As soon as the user selects a provider from the list, you can create a connection (Integration Account) to that provider.
- In response, you receive a link to a connection form specific to the chosen provider.
- This link should be opened by the end user (restaurant owner/manager), who will fill in their credentials or authorize access. Ideally, open the link automatically in the user's browser to streamline the process.
- Once the form is submitted, KitchenHub finalizes the connection in the background. After submission, the user is redirected to the
redirect_url
that was provided during the Integration Account creation. - Each provider has its own connection flowβsome establish the integration immediately, while others may take several days. In such cases, it's important to monitor the integration status either by polling the API periodically or by listening for webhook notifications when the status changes. This allows your system to stay in sync and know exactly when the provider becomes fully connected.
π Integration Account Statuses
pending
: Waiting for user to complete the connection formconnected
: Successfully connected and ready to usefailed
: Connection attempt failed (e.g., incorrect credentials or timeout)paused
: The integration is temporarily disabled by the user or systemdisconnected
: The integration was removed or invalidated
βοΈ Post-Connection Actions
- Orders will automatically sync from the provider to your KitchenHub platform
- You can retrieve or send menus (depending on the provider's supported capabilities)
- You can pause the integration temporarily (e.g. during downtime or reconfigurations)
Why pause an integration?
Pausing prevents order flow from a provider without deleting the connection. This is helpful during temporary closures, maintenance, or operational pauses, ensuring that no orders are lost but also no false availability is communicated to platforms.
π‘ How to Get List of Supported Integrations
GET /api/v2/integrations/providers
π How to Create a New Integration Connection
POST /api/v2/integration_accounts
provider_id
store_id
redirect_url
π How to Get Integration Details (Including Status)
GET /api/v2/integration_accounts/{integration_account_id}
π¬ How to List Integrations for a Store
GET /api/v2/stores/{store_id}/integration_accounts
βΈοΈ How to Pause or Resume an Integration
POST /api/v2/integration_accounts/{integration_account_id}/pause
POST /api/v2/integration_accounts/{integration_account_id}/resume
𧩠Provider Capabilities
Provider | provider_id | Order API | Menu API |
---|---|---|---|
Doordash | doordash | β tablet protocol | β |
Doordash POS | doordash_pos | β POS protocol | β full support |
Grubhub | grubhub | β tablet protocol | β |
Grubhub POS | grubhub_pos | β POS protocol | β full support |
Uber Eats | ubereats | β parallel & full protocol | β full support |
Chownow | chownow | β | β |
GloriaFood | gloriafood | β | β full support |
Flipdish | flipdish | β | β (read only) |
Beyond Menu | beyondmenu | β | β |
Cloudwaitress | cloudwaitress | β | β |
Eatstreet | eatstreet | β | β |
MENUFY | menufy | β | β |
β FAQ
Q: What if the user closes the authorization form before completing it?
A: The Integration Account will remain in pending
status. You can resend the connection link or delete and recreate the account.
Q: Can one store be connected to multiple providers at once?
A: Yes, KitchenHub is designed to support multiple parallel integrations per store.
Q: What happens if provider credentials expire?
A: The integration will move to disconnected
or failed
status. Youβll need to reauthorize via a new connection link.
Q: Can I test integrations in a sandbox environment?
A: Some providers can be connected, contact KitchenHub support for sandbox access for provider.
Q: Can integrations be managed via the UI?
A: Yes. All integrations can be viewed, created, and paused via both the UI and API.
Q: Why does Grubhub sometimes take time to connect?
A: Grubhub integrations are processed manually and typically become active once a week on Mondays.
Q: What are the two Uber Eats modes?
A: Uber Eats can work in two modes: read-only (parallel protocol) and full mode with full ordering and menu capabilities.
Q: What is the difference between tablet and POS protocols for Grubhub and DoorDash?
A: Both providers support tablet and POS protocols. POS protocol generally provides deeper integration and supports menu upload and syncing, while tablet protocol is more limited.
Q: Why do I see waiting_menu
status in some integrations?
A: Some providers (e.g. DoorDash) require a menu to be uploaded before the integration can go live. In such cases, the status will be waiting_menu
until the menu is provided.
Q: Why can't I delete a DoorDash integration during connection?
A: DoorDash does not allow integration deletion during the connection phase due to platform limitations. You must wait until the connection completes or fails.
Q: Will restaurants see that theyβre connected to KitchenHub?
A: Yes. Most delivery providers display KitchenHub as the technical partner during the connection process.
Q: Can I get test access to provider accounts like DoorDash, Grubhub, or Uber Eats?
A: No. Due to provider policy restrictions, we do not provide direct access to test accounts for these platforms.