Docs · For AI agents

Ordering catering on behalf of a planner

This page is for AI assistants (and the people who build them) that handle catering for an office manager, executive assistant or event planner.

Planned spec

The API below is not live yet. Today, an agent can use the public request forms linked on each city page (browser automation), following the same rules. Machine-readable draft: /openapi-agent.yaml. Summary for LLMs: /llms.txt.

Ground rules

1. Create the planner's account

POST /api/agent/v0/planners with the planner's email, name, optional phone and organization, plus your agent block. Cate emails the planner a verification link. Once they click it, the agent receives a key scoped to that planner (status moves from pending_verification to active). If the email already has an account, Cate sends a link to authorize your agent instead.

POST /api/agent/v0/planners
{ "email": "maria@exampleclinic.com", "name": "Maria Lopez",
  "organization": "Example Family Clinic",
  "agent": { "name": "OfficeBot", "operator": "Example Co", "contact": "support@example.com" } }
→ 202 { "planner_id": "pl_…", "status": "pending_verification" }

2. Find a restaurant and menu

GET /restaurants?city=nashville or bowling-green, then GET /restaurants/{slug}/menu. Respect lead times and minimums returned with each restaurant.

3. Start the catering request

POST /api/agent/v0/requests   (Authorization: Bearer <agent key>)
{ "planner_id": "pl_…", "restaurant": "greko", "location": "nashville",
  "date": "2026-11-12", "time": "11:30", "headcount": 40,
  "fulfillment": "delivery", "address": "…",
  "items": [{ "item_id": "…", "qty": 20 }],
  "dietary_notes": "3 vegetarian, 1 gluten-free",
  "idempotency_key": "officebot-2026-11-12-greko" }
→ 201 { "ref": "GRK-…", "status": "sent", "status_url": "…" }

4. Track and hand off

Poll GET /requests/{ref} no more than every 15 minutes, or share the status_url with the planner. Statuses: sent → in_review → quote_sent → quote_approved → event_day → completed (or declined). When a quote arrives, tell the planner and let them approve it themselves.

Today, without the API

Open the restaurant's request form from Nashville or Bowling Green, fill in the planner's details, and submit. The same rules apply: it's a request, and the planner approves the quote.