Cancel Reservation
Cancel an existing reservation. The reservation status is set to CANCELLED and the record is preserved for audit purposes.
When to use this endpoint
- Process a guest cancellation request
- Cancel on behalf of the host (e.g. maintenance, double booking)
- Handle no-show scenarios after the check-in window expires
Cancellation is permanent
Cancel a reservation
/v1/reservations/:idcurl -X DELETE "https://api.repull.dev/v1/reservations/456" \ -H "Authorization: Bearer sk_test_YOUR_KEY" \ -H "X-Workspace-Id: YOUR_WORKSPACE_ID"
Response format
Returns the reservation object with its status set to CANCELLED.
{
"data": {
"id": "456",
"propertyId": "123",
"status": "CANCELLED",
"source": "BOOKING_COM",
"confirmationCode": "BK-98765",
"checkIn": "2026-06-01",
"checkOut": "2026-06-05",
"primaryGuest": {
"firstName": "Marco",
"lastName": "Rossi",
"email": "marco@example.com",
"phone": "+39-333-1234567",
"language": "it"
},
"occupancy": {
"adults": 2,
"children": 0,
"infants": 0,
"pets": 0
},
"financials": {
"totalPrice": 1200,
"currency": "EUR",
"paymentStatus": "refunded",
"breakdown": {
"basePrice": 1000,
"cleaningFee": 100,
"fees": [{ "type": "SERVICE_FEE", "amount": 60 }],
"taxes": [{ "type": "VAT", "amount": 40, "rate": 0.10 }],
"discounts": []
}
},
"bookedAt": "2026-05-10T11:00:00Z",
"cancelledAt": "2026-05-22T16:45:00Z"
}
}Response fields
idstringUnique reservation identifier.
propertyIdstringID of the property this reservation belonged to.
statusstringAlways CANCELLED after a successful deletion.
sourcestringPlatform where the booking originated.
confirmationCodestringPlatform-specific confirmation code.
checkInstringOriginal check-in date (YYYY-MM-DD).
checkOutstringOriginal check-out date (YYYY-MM-DD).
primaryGuestobjectGuest who made the booking.
financialsobjectFinancial summary at the time of cancellation.
cancelledAtstringISO 8601 timestamp when the reservation was cancelled.
Error handling
Common error responses when cancelling a reservation:
// 404 — Reservation not found
{ "error": { "code": "not_found", "message": "Reservation 456 does not exist." } }
// 409 — Already cancelled
{ "error": { "code": "conflict", "message": "Reservation 456 is already cancelled." } }API Reference
See the complete Reservations API Reference for all endpoints including list, create, and update.