ZestDocs
Dashboard

Catering

Private dining rooms seat up to forty guests for birthdays and business dinners. Our menu changes with the seasons and the best produce from nearby farms.

9 min read Updated Aug 28, 2026 v5.6.0

Overview

Cooking classes on Saturday mornings teach you our favourite recipes. Book a table online in seconds, or call us for groups of eight or more. Friendly people answer your questions quickly, by phone, chat or email. Our team has done this many times, so you never have to guess.

Installation

Install the SDK with the package manager your project already uses. It needs Node 18 or newer.

terminal
$ npm install @zest/sdk
terminal
$ yarn add @zest/sdk
terminal
$ pnpm add @zest/sdk
Using a server without Node? The same endpoints are available over plain HTTPS; see the API reference below.

Configuration

We have been feeding this neighbourhood for over a decade, and we still love it. Order for pickup or delivery and enjoy the same dishes at home. Create a file named zest.config.json in the project root:

zest.config.json
{
  "project": "zest",
  "region": "ap-south",
  "categories": ["starters", "mains", "desserts"],
  "retries": 3,
  "timeoutMs": 13000,
  "webhooks": { "enabled": true }
}
OptionTypeDefaultDescription
projectstring-Your project key from the dashboard.
regionstring"us-east"Data centre closest to your guests.
retriesnumber3How often a failed call is retried.
timeoutMsnumber10000Time before a request is cancelled.
webhooks.enabledbooleanfalseSend events to your endpoint.

Your first request

Our sommelier has paired each dish with wines from small family vineyards.

  1. Create an API keyOpen the dashboard, choose Settings › API keys and copy a new secret key.
  2. Store it safelyKeep the key in an environment variable, never in your source code.
  3. Make the callRun the snippet below; it prints the first page of results.
index.js
import { Client } from "@zest/sdk";

const client = new Client({ apiKey: process.env.API_KEY });

// list the newest dishs in one category
const page = await client.dishs.list({ category: "starters", limit: 20 });

for (const item of page.data) {
  console.log(item.name, item.price);
}
Heads up: test keys only return sample data. Switch to a live key before you go to production.

API reference

Every endpoint returns JSON and uses standard HTTP status codes.

GET/v1/dishesList dishes with paging and filters.
POST/v1/dishesCreate a new dish.
PATCH/v1/dishes/{id}Update some fields of a dish.
DELETE/v1/dishes/{id}Archive a dish; it can be restored for 30 days.
response.json
{
  "data": [
    { "id": "dish_6648", "name": "Grilled salmon", "price": 12 }
  ],
  "has_more": true
}

Troubleshooting

Every detail is handled by people who care about getting it right. We listen first, then build a plan around what you actually need.

Clear prices, honest advice and no surprises along the way. Thousands of guests already trust us, and we work hard to keep it that way.

Start in minutes and get help from a real person whenever you need it. Our terrace is open from spring to autumn, with heaters for cooler evenings.

Next steps

Vegan, vegetarian and gluten-free dishes are marked clearly on every menu.

Was this page helpful?
All screens