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_xyz123Step 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.