EscapeLifeDocs
Getting Started

Quickstart

Get from zero to a working EscapeLife integration in under 10 minutes. This guide walks through onboarding a property and loading your first knowledge documents.

Prerequisites

  • An EscapeLife API key (sk_live_... or sk_test_...)
  • curl, a REST client, or any HTTP library
  • Property details: name, timezone, and property type

Don't have a key yet? Request API access →

Step 1 — Set your API key

Store your key as an environment variable. Never hardcode it.

bash
export ESCAPELIFE_API_KEY="sk_live_xxxxxxxxxxxxxxxxxxxx"

Step 2 — Create your property

Properties are the top-level entity. Everything else is scoped to a property.

cURL
curl -X POST https://api.escapelife.ai/v1/properties \
  -H "Authorization: Bearer $ESCAPELIFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Grand Sunset Resort",
    "slug": "grand-sunset-resort",
    "type": "resort",
    "timezone": "America/New_York",
    "currency": "USD",
    "country": "US"
  }'
TypeScript
const res = await fetch("https://api.escapelife.ai/v1/properties", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.ESCAPELIFE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: "Grand Sunset Resort",
    slug: "grand-sunset-resort",
    type: "resort",
    timezone: "America/New_York",
    currency: "USD",
    country: "US",
  }),
});
const property = await res.json();
console.log(property.id); // pty_xyz123

Step 3 — Ingest knowledge documents

Load your property's menus, policies, and FAQs so the AI can answer guest questions accurately.

Ingest a menu
curl -X POST https://api.escapelife.ai/v1/knowledge/ingest \
  -H "Authorization: Bearer $ESCAPELIFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Restaurant Menu — Summer 2026",
    "type": "menu",
    "content": "Breakfast served 7am–11am. Eggs Benedict $22. Avocado Toast $18. Smoothie Bowl $16. Full English $24. \nLunch 12pm–3pm. Club Sandwich $19. Caesar Salad $17. Fish Tacos $21. \nDinner 6pm–10pm. Filet Mignon $58. Grilled Salmon $42. Vegetable Risotto $32."
  }'
Ingest cancellation policy
curl -X POST https://api.escapelife.ai/v1/knowledge/ingest \
  -H "Authorization: Bearer $ESCAPELIFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Cancellation Policy",
    "type": "policy",
    "content": "Cancellations made 14+ days before arrival receive a full refund. 7–13 days: 50% refund. Less than 7 days: no refund. No-shows are charged the full stay."
  }'

Step 4 — Verify your index

bash
curl https://api.escapelife.ai/v1/knowledge/sources \
  -H "Authorization: Bearer $ESCAPELIFE_API_KEY"
Expected response
{
  "data": [
    {
      "id": "ks_abc123",
      "name": "Cancellation Policy",
      "type": "policy",
      "chunk_count": 1,
      "is_indexed": true,
      "created_at": "2026-03-15T10:01:00Z"
    },
    {
      "id": "ks_xyz456",
      "name": "Restaurant Menu — Summer 2026",
      "type": "menu",
      "chunk_count": 3,
      "is_indexed": true,
      "created_at": "2026-03-15T10:00:00Z"
    }
  ]
}

You're ready

Your property is created and knowledge documents are indexed. The AI layer will now use this data to ground responses about your property.

Next steps