curl "$UNIFYSTAYS_BASE_URL/hotels/book?status=CONFIRMED&page=1&limit=20" \
-H "x-api-key: $UNIFYSTAYS_API_KEY" \
-H "language: en"
{
"contract_version": "1",
"success": true,
"message": "Bookings fetched successfully.",
"data": {
"items": [
{
"booking_id": "ubk_eGQ0dW9uV1Vi",
"status": "CONFIRMED",
"is_terminal": true,
"hotel": {
"hotel_id": "13553916",
"hotel_name": "Ramada Plaza by Wyndham Dubai Deira",
"city": "Dubai",
"country": "United Arab Emirates",
"stars": 4
},
"check_in": "2026-05-26",
"check_out": "2026-05-28",
"nights": 2,
"rooms_count": 1,
"guests_count": 2,
"adults_count": 2,
"children_count": 0,
"supplier_total": {
"amount_minor": 17700,
"currency": "USD",
"currency_exponent": 2
},
"provider_code": "TRIPJACK",
"provider_booking_id": "TJ202487947162",
"provider_booking_code": "REZ6A5A81E9",
"hotel_confirmation_number": "HCN-482910",
"hotel_confirmation_status": "Confirmed",
"failure_code": {},
"failure_message": {},
"created_at": "2026-04-15T12:12:11.000Z",
"updated_at": "2026-04-15T12:12:11.000Z",
"completed_at": "2026-04-15T12:15:11.000Z"
}
],
"meta": {
"total": 137,
"page": 1,
"limit": 20,
"totalPages": 7,
"hasNextPage": true,
"hasPrevPage": false
},
"summary": {
"total": 137,
"countsByStatus": {
"CONFIRMED": 110,
"PROCESSING": 3,
"ON_HOLD": 2,
"FAILED": 15,
"CANCELLATION_PENDING": 1,
"CANCELLED": 6
}
}
}
}List Bookings
List and filter bookings for the current organization for support, reconciliation, and operational workflows.
curl "$UNIFYSTAYS_BASE_URL/hotels/book?status=CONFIRMED&page=1&limit=20" \
-H "x-api-key: $UNIFYSTAYS_API_KEY" \
-H "language: en"
{
"contract_version": "1",
"success": true,
"message": "Bookings fetched successfully.",
"data": {
"items": [
{
"booking_id": "ubk_eGQ0dW9uV1Vi",
"status": "CONFIRMED",
"is_terminal": true,
"hotel": {
"hotel_id": "13553916",
"hotel_name": "Ramada Plaza by Wyndham Dubai Deira",
"city": "Dubai",
"country": "United Arab Emirates",
"stars": 4
},
"check_in": "2026-05-26",
"check_out": "2026-05-28",
"nights": 2,
"rooms_count": 1,
"guests_count": 2,
"adults_count": 2,
"children_count": 0,
"supplier_total": {
"amount_minor": 17700,
"currency": "USD",
"currency_exponent": 2
},
"provider_code": "TRIPJACK",
"provider_booking_id": "TJ202487947162",
"provider_booking_code": "REZ6A5A81E9",
"hotel_confirmation_number": "HCN-482910",
"hotel_confirmation_status": "Confirmed",
"failure_code": {},
"failure_message": {},
"created_at": "2026-04-15T12:12:11.000Z",
"updated_at": "2026-04-15T12:12:11.000Z",
"completed_at": "2026-04-15T12:15:11.000Z"
}
],
"meta": {
"total": 137,
"page": 1,
"limit": 20,
"totalPages": 7,
"hasNextPage": true,
"hasPrevPage": false
},
"summary": {
"total": 137,
"countsByStatus": {
"CONFIRMED": 110,
"PROCESSING": 3,
"ON_HOLD": 2,
"FAILED": 15,
"CANCELLATION_PENDING": 1,
"CANCELLED": 6
}
}
}
}Request Example
curl "$UNIFYSTAYS_BASE_URL/hotels/book?status=CONFIRMED&page=1&limit=20" \
-H "x-api-key: $UNIFYSTAYS_API_KEY" \
-H "language: en"
Filter and Sort
The API supports free-text search across booking identifiers and hotel context, along with filters for:- Booking
statusand terminal state. - Hotel, city, and provider.
- Stay dates and booking creation dates.
- Sort field, sort direction, page, and limit.
data.meta for pagination and data.summary for aggregate
counts. For one booking’s current state, call
Get Booking Status. For a full itinerary
or support record, call
Get Booking Details.
Authorizations
Environment-specific API key created in the Unifystays portal
Headers
Hotel API contract version. Missing defaults to v1.
1 Query Parameters
Free-text search across booking ids/codes, HCN, hotel name, city, and country (case-insensitive).
"ubk_"
Filter by status. Accepts repeated values or CSV, e.g. status=CONFIRMED&status=ON_HOLD or status=CONFIRMED,ON_HOLD.
AWAITING_REVIEW, PROCESSING, CONFIRMED, ON_HOLD, FAILED, CANCELLATION_PENDING, CANCELLED ["CONFIRMED", "PROCESSING"]
Filter by hotel id.
"13553916"
Filter by city (case-insensitive exact).
"Dubai"
Filter by provider code.
"TRIPJACK"
Check-in date >= (YYYY-MM-DD).
"2026-05-01"
Check-in date <= (YYYY-MM-DD).
"2026-05-31"
Created date >= (ISO 8601).
"2026-04-01T00:00:00Z"
Created date <= (ISO 8601).
"2026-04-30T23:59:59Z"
Only return terminal (true) or non-terminal (false) bookings.
false
Field to sort by.
created_at, check_in, check_out, supplier_total, status Sort direction.
ASC, DESC Page number (1-based).
x >= 11
Results per page.
1 <= x <= 10020