Guest Requests
Manage all guest service requests — housekeeping, maintenance, concierge, food & beverage, transport, and wake-up calls. Requests are tracked through a full lifecycle from creation to completion.
The Request object
idstringUnique request ID. Prefixed req_.
property_idstringProperty this request belongs to.
guest_idstring?Linked guest profile, if known.
typeenumhousekeeping · maintenance · concierge · food_service · transport · wake_up · other
statusenumopen · pending · in_progress · completed · cancelled
priorityenumurgent · high · normal · low
titlestringShort summary of the request.
descriptionstring?Full details provided by the guest or staff.
room_numberstring?Room or unit associated with the request.
assigned_tostring?Staff member assigned to fulfil the request.
created_atdatetimeISO 8601 timestamp.
updated_atdatetimeISO 8601 timestamp.
Endpoints
/v1/requestsCreate a requestCreate a new guest service request.
Request Body
typestringrequiredRequest type: housekeeping, maintenance, concierge, food_service, transport, wake_up, or other.titlestringrequiredShort description of the request.prioritystringurgent, high, normal, or low. Defaults to normal.room_numberstringRoom or unit number.descriptionstringFull details of the request.guest_idstringLink to an existing guest profile.assigned_tostringStaff member to assign immediately.curl -X POST https://api.escapelife.ai/v1/requests \
-H "X-API-Key: sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"type": "maintenance",
"priority": "high",
"title": "AC not cooling properly",
"room_number": "208",
"description": "Guest reports room temperature above 78F despite thermostat at 68"
}'{
"id": "req_abc123",
"property_id": "pty_xyz",
"guest_id": null,
"type": "maintenance",
"status": "open",
"priority": "high",
"title": "AC not cooling properly",
"room_number": "208",
"description": "Guest reports room temperature above 78F despite thermostat at 68",
"assigned_to": null,
"created_at": "2026-03-16T10:00:00Z",
"updated_at": "2026-03-16T10:00:00Z"
}/v1/requestsList requestsReturn all requests for the property, newest first.
Path / Query Parameters
statusstringFilter by status: open, pending, in_progress, completed, cancelled.typestringFilter by request type.prioritystringFilter by priority level.limitintegerMax results to return (1–100). Default 20.offsetintegerPagination offset. Default 0./v1/requests/summaryRequest summaryReturn aggregated counts grouped by status and type. Useful for dashboard stat cards.
{
"by_status": {
"open": 4,
"in_progress": 2,
"completed": 18,
"cancelled": 1
},
"by_type": {
"housekeeping": 8,
"maintenance": 5,
"concierge": 7,
"food_service": 5
}
}/v1/requests/{id}Retrieve a requestFetch a single request by ID.
Path / Query Parameters
idstringrequiredRequest ID (req_...)./v1/requests/{id}Update a requestUpdate the status, priority, assignment, or any other field.
Path / Query Parameters
idstringrequiredRequest ID (req_...).Request Body
statusstringNew status value.prioritystringNew priority value.assigned_tostringAssign to a staff member.descriptionstringUpdated description.curl -X PATCH https://api.escapelife.ai/v1/requests/req_abc123 \
-H "X-API-Key: sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"status": "in_progress", "assigned_to": "Carlos M."}'