Skip to content
RReservory
ProductSolutionsPricingCustomersDocs
Sign inGet started
Product↗Solutions↗Pricing↗Customers↗Docs↗About Reservory↗Sign in↗
Getting StartedAPI ReferenceWebhooksGraphQLSDKs

On this page

  1. What is Reservory?
  2. Authentication
  3. Rate Limits
  4. Quick Start: Embed Bookings
  5. Integration Patterns
  6. Next Steps
On this page
  1. What is Reservory?
  2. Authentication
  3. Rate Limits
  4. Quick Start: Embed Bookings
  5. Integration Patterns
  6. Next Steps

Developers / Getting started

Getting Started

Welcome to the Reservory developer documentation. Learn how to integrate bookings, manage customers, and build on top of our platform.

REST API reference ↗GraphQL API ↗Webhooks ↗SDKs ↗

What is Reservory?

Reservory is the operating system for attraction operators — escape rooms, laser tag, trampoline parks, axe throwing, climbing gyms, mini-golf, and beyond.

We provide booking management, customer data, waivers, payments, and reporting. The supported REST API, webhooks, and SDKs let you embed bookings and build integrations. GraphQL is unavailable.

Authentication

Reservory supports two authentication models:

  • Tenant API Keys: For operator-callable actions (cancel bookings, check-in customers). Create keys at /dashboard/settings/team. Use as Authorization: Bearer rsv_*
  • Anonymous + Idempotency: For customer-facing booking flow (hold slot, confirm, payment intent). Rate-limited per IP or per token.
  • Signed Tokens: For waiver signing and payment-intent auth. HMAC-SHA256, 1-14 day expiry depending on use.

Rate Limits

All endpoints are rate-limited. Anon (no API key) endpoints have per-IP limits. Tenant API key endpoints enforce tier-based limits.

Per-IP Limits (Anonymous Endpoints)

Each endpoint has its own per-IP limit to prevent abuse:

EndpointAuthLimit
POST /api/bookings/holdAnon10/min per IP
POST /api/bookingsAnon5/min per IP
POST /api/graphqlAnon60/min per IP
POST /api/reviews/[token]Anon3/24h per IP
POST /api/widget/trackAnon60/min per IP
Other anon endpointsAnonSee route file
Any operator endpointOperator JWTNone (RLS gated)

Tier-Based Limits (API Key Only)

When authenticating with a tenant API key (Authorization: Bearer rsv_*), requests are subject to tier-based rate limits on both per-minute (burst) and per-hour (sustained) windows. Both windows must pass — whichever hits first returns 429.

TierPer-MinutePer-Hour
Starter601,000
Growth1205,000
Pro30020,000
Enterprise1,000Unlimited

Note: Anon endpoints have their own per-IP limits (see table above). The tier-based limits apply only to API key callers.

Rate-Limit Response Headers

When rate-limited (429 response):

  • Anon endpoints: Returns Retry-After: N (seconds to wait before retrying)
  • API key endpoints: Returns all four headers:
    Retry-After: 45
    X-RateLimit-Limit: 60
    X-RateLimit-Remaining: 0
    X-RateLimit-Reset: 1716170400
    X-RateLimit-Window: minute

Quick Start: Embed Bookings

The fastest way to add Reservory bookings to your site is the embeddable widget. Register your site origin under Settings → Booking widget first, then add one line to your HTML:

<script type="module" src="https://app.reservory.com/widget.js"></script>
<reservory-booking tenant="your-tenant-slug" experience="your-product-slug"
  api-base="https://app.reservory.com"
  supabase-url="https://your-project.supabase.co"
  supabase-key="YOUR_PUBLIC_SUPABASE_ANON_KEY"></reservory-booking>

The widget is a Web Component that handles the full booking flow — slot selection, customer info, waivers, and Stripe payment. Use your deployment's public Supabase URL and anon key. Never put a service-role key in this markup.

Integration Patterns

Build custom integrations using the supported REST API:

  • Zapier: Cancel bookings, check in customers, sync to CRM. Use tenant API key auth.
  • Custom Backend: Fetch available slots, create holds, confirm bookings, manage customers. Use REST endpoints.
  • Mobile App: REST discovery and booking creation, with signed booking tokens for payment and status checks.
  • Webhooks: Listen for booking events (created, confirmed, cancelled, refunded) and sync to your CRM, email platform, or analytics tool.

Next Steps

  • API Reference — explore all endpoints with curl + JavaScript examples
  • Webhooks — set up real-time event subscriptions
  • GraphQL — unavailable; use the supported REST surface
  • SDKs — language-specific helpers for faster integration
RReservory

The operator-first booking, capacity and payments platform for attractions venues. Made in Portland, Oregon.

PRODUCT

  • Bookings
  • Capacity & demand
  • Payments
  • Guest CRM
  • Point of sale
  • Waivers

SOLUTIONS

  • Escape rooms
  • Axe throwing
  • Mini golf
  • Trampoline parks
  • All verticals

RESOURCES

  • Live demo
  • Documentation
  • SDKs
  • API reference
  • Webhooks
  • GraphQL
  • Integrations

COMPANY

  • About
  • Customers
  • Pricing
  • Changelog
  • Careers
  • Security
  • Acknowledgments
© 2026 Reservory, Inc. · Privacy · Terms · Security · Responsible disclosure