Developer Platform

Build on EscapeLife OS.
APIs, SDKs & MCP.

Full REST and GraphQL APIs, webhooks, NPM packages for React/Vue, an MCP server for AI agents, and SDKs for Python, JavaScript, Swift, and Kotlin.

Capabilities

What Builders Get

Everything required to integrate inventory, AI intents, loyalty, payments, and analytics.

API Explorer

Interactive explorer with typed schemas, pagination helpers, and code snippets.

Webhook Events

Reliable delivery for bookings, guest intents, payments, and ops updates.

Sandbox

Dedicated environments with synthetic data for testing full journeys.

Rate Limits

Per-application quotas with burst allowances and analytics.

SDKs

Type-safe SDKs for JavaScript/TypeScript, Python, and Kotlin.

Open Platform

REST, GraphQL, Webhooks, NPM packages, and an MCP server for AI agents.

API Explorer

Example Requests

Typed endpoints streamline commerce, experiences, and guest context.

Availability Endpointhttp
GET /v1/properties/{propertyId}/availability?start=2026-03-01&end=2026-03-04
Authorization: Bearer sk_test_xxx

{
  "propertyId": "pty_43",
  "rooms": [
    {
      "roomType": "signature_suite",
      "inventory": 7,
      "rate": 820,
      "currency": "USD"
    }
  ],
  "experiences": [
    {
      "id": "exp_culinary_01",
      "slots": 12,
      "price": 180
    }
  ]
}
Webhook Eventjson
POST /webhooks/guest.intent
{
  "id": "evt_7gh92",
  "type": "guest.intent.created",
  "data": {
    "guestId": "gst_01H",
    "channel": "voice",
    "intent": "book_experience",
    "context": {
      "propertyId": "pty_43",
      "preferredTime": "2026-03-04T20:00:00Z"
    }
  },
  "signature": "t=1730000000,v1=1c9f..."
}

Frameworks & SDKs

Integrate With Any Stack

EscapeLife OS ships official SDKs and framework packages so your team can integrate in the language and toolchain you already use — no adapters needed.

React & Next.js

NPM packages for booking widgets, availability calendars, and checkout flows. Drop in as components or headlessly via hooks. Full TypeScript support.

Vue & Angular

Web component wrappers for Vue 3 and Angular 15+ that expose the same booking, loyalty, and upsell APIs — no framework lock-in.

Svelte & Vanilla JS

Lightweight ES module builds for Svelte and plain JavaScript. Ideal for high-performance frontends where bundle size matters.

React Native

Full-featured React Native SDK for guest-facing and staff apps. Supports iOS and Android with offline queuing, push notifications, and folio charging built in.

Flutter

Dart SDK for Flutter apps covering bookings, POS transactions, housekeeping, and check-in flows. Works with the same offline sync architecture as the web platform.

iOS (Swift) & Android (Kotlin)

Native SDKs for teams building bespoke property apps. Full access to reservations, guest profiles, POS, and loyalty APIs with native push and biometric auth support.

Node.js & Python

Server-side SDKs with full TypeScript and type-hint support. Handle webhooks, manage reservations server-to-server, and pipe data into your own analytics pipeline.

Ruby, PHP, Java & ASP.NET

Official gems, Composer packages, Maven artifacts, and a NuGet package for ASP.NET Core — covering bookings, guests, pricing, and payments. ASP.NET is widely used across hotel PMS and channel manager integrations.

Zapier, Make & n8n

No-code automation connectors for Zapier, Make (Integromat), and n8n. Trigger flows on bookings, reviews, and loyalty events without writing a line of code.

Quick Start

Up and Running in Minutes

Install the EscapeLife SDK, initialise with your API key, and your first availability request is three lines of code.

Install (npm / yarn)bash
npm install @escapelife/sdk

# or
yarn add @escapelife/sdk
First Request — JavaScript / TypeScriptjavascript
import { EscapeLifeClient } from "@escapelife/sdk";

const client = new EscapeLifeClient({
  apiKey: process.env.ESCAPELIFE_API_KEY,
  propertyId: "pty_43",
});

const availability = await client.reservations.getAvailability({
  start: "2026-06-01",
  end: "2026-06-07",
});

console.log(availability.rooms); // typed RoomAvailability[]
React — Booking Widgetjsx
import { BookingWidget } from "@escapelife/react";

export function ReservationPage() {
  return (
    <BookingWidget
      propertyId="pty_43"
      theme={{ primary: "#FFD230" }}
      onBookingComplete={(booking) => {
        console.log("Confirmed:", booking.confirmationCode);
      }}
    />
  );
}
React Native — Staff Appjsx
import { useHousekeeping } from "@escapelife/react-native";

export function TaskList() {
  const { tasks, completeTask } = useHousekeeping({
    staffId: "stf_88",
    offlineEnabled: true, // queues writes if no network
  });

  return tasks.map((task) => (
    <TaskCard
      key={task.id}
      task={task}
      onComplete={() => completeTask(task.id)}
    />
  ));
}
Get Started Today

Join the EscapeLife Developer Program

Access documentation, SDKs, and sandbox credentials.

No credit card required · Setup in 48 hours · Cancel anytime