Help centre

Show on your website (dive menu & shop)

Last updated Sat Jun 27 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

Put your live dive menu and your retail shop on your own website. Turn one on, copy a snippet into your site, and it appears — kept up to date automatically when you edit it in DiveOps.

This is for showing your info on the website you already have (Wix, WordPress, Squarespace, etc.). To take bookings online, use Booking Page instead.

Turning it on

  1. Go to Settings → Show on your website.
  2. Toggle Show my live dive menu on my website (or Show my shop products on my website) on — this generates your key.
  3. Copy the snippet and paste it into your website where you want it to appear.

There are two ways to paste it:

  • Add to your website — the first box. Works on Wix, WordPress, Squarespace and most builders (these often block plain scripts; this one still works).
  • Match your site's styling — the second box. If your builder allows custom code, this version blends with your site's fonts and colours instead of sitting in a box. (Dive menu only.)

What shows

  • Dive menu: your active courses, fun dives, packages and trips with names, prices and descriptions. Sensitive/internal fields are never shown.
  • Retail shop: active products with name, price and a simple stock badge (Low stock / Out of stock) — exact quantities are never shown.
  • Both refresh automatically — edit it in DiveOps and the website updates within about a minute.

API keys

Each surface (dive menu, retail shop) can have more than one key — add a separate one for each developer or integration so you can revoke one without affecting the others. You'll find the keys list once the surface is turned on.

  • Primary key — the one your copy-paste snippet uses. It has a "Primary" badge. To change which key the snippet uses, click the star on another key to make it primary.
  • New key — name it (e.g. "Alex's website widget") and click New key. Hand that key to that developer.
  • Delete — the trash icon revokes a key immediately; any site or integration using it stops working at once, but your other keys keep working. You must type the key's name to confirm. You can't delete the primary key while other keys exist — make another one primary first.
  • Rotating a key safely (e.g. it leaked): add a new key, repoint your site/developer to it, then delete the old one. No downtime — unlike the old single "regenerate", which broke the site the instant you pressed it.

Notes

  • A read-only display: customers can't book or pay through these snippets. Use the Booking Page for that.

For developers (raw API)

If you have a developer building a custom widget or integration, the same key works across three JSON endpoints — all CORS-open, with ETag/304 caching (~60-second edge cache):

  • GET /api/public/menu?key=men_… — your live dive menu (services). Each service includes a stable id UUID for linking to the booking page.
  • GET /api/public/dive-sites?key=men_… — your active dive sites with GPS coordinates, difficulty, depth range, highlights and more.
  • GET /api/public/schedule?key=men_… — your daily trip plan, weather-option resolved. Accepts from and to date parameters (YYYY-MM-DD); defaults to today → +30 days; 90-day maximum window.

All endpoints respond with version: 1. Fields are added over time but never renamed or removed within a version. Developers should read fields by name, not position. Give each developer their own named key (see API keys above) so you can revoke it independently.

Full developer reference: diveops.ai/developers (public, no login — share it with your web developer). Machine-readable OpenAPI spec at app.diveops.ai/api/public/openapi.yaml. The dashboard's For developers panel also links straight to it.

Related

Can't find what you need? Get in touch.