Partner API
Oct 27, 2026 1:07 AM

Booking Requests

Booking requests that need host approval: creating a request, its statuses and handling on the restaurant side.

A booking request (request reservation) is a booking that requires host approval before it becomes a full booking. Handy for moderating bookings from external channels: the partner creates a request, the restaurant approves or rejects it.

Base path: /api/rsv/admin/restaurants/{restaurantId}/requests.

MethodPathPurpose
POST/requestsCreate a request
GET/requestsList of requests
GET/requests/{requestId}Get a request
PUT/requests/{requestId}Update a request
POST/requests/{requestId}/approveApprove a request (→ booking)
DELETE/requests/{requestId}Delete/reject a request

Create a request

POST /requests

Body — CreateRequestReservationContract. The set of fields matches booking creation (see Create & Manage): reservationTime, groupSize, customerName, phone, email, customerProfile, additionals, etc.

Terminal window
curl -X POST https://api.hostmeapp.com/api/rsv/admin/restaurants/123/requests \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reservationTime": "2026-07-02T19:00:00",
"groupSize": 2,
"customerName": "Anna Smirnova",
"phone": "+16175550188",
"specialRequests": "Anniversary",
"source": "partner-widget"
}'

List of requests

GET /requests

Returns the restaurant’s requests. Path parameter — restaurantId (integer).

Terminal window
curl https://api.hostmeapp.com/api/rsv/admin/restaurants/123/requests \
-H "Authorization: Bearer $TOKEN"

Get a request

GET /requests/{requestId}

ParameterInType
restaurantId *pathinteger
requestId *pathstring

Approve

POST /requests/{requestId}/approve

Approves the request, turning it into a full booking. Response — BookingContract (the created booking).

ParameterInType
restaurantId *pathinteger
requestId *pathstring
Terminal window
curl -X POST https://api.hostmeapp.com/api/rsv/admin/restaurants/123/requests/REQ_ID/approve \
-H "Authorization: Bearer $TOKEN"

Update a request

PUT /requests/{requestId}

Updates the request data before approval (same body as when creating).

Delete/reject

DELETE /requests/{requestId}

Deletes the request (rejection).

ParameterInType
restaurantId *pathinteger
requestId *pathstring
Terminal window
curl -X DELETE https://api.hostmeapp.com/api/rsv/admin/restaurants/123/requests/REQ_ID \
-H "Authorization: Bearer $TOKEN"

When to use requests vs. direct bookings

ScenarioWhat to use
The booking must be approved manually (by the host)Requests (/requests) → approve
The booking is created already confirmedDirect booking creation
You need to see your app’s requestsPartner Bookings (pendingOnly, approvalRequired)