Use the reactivation endpoint to restore deleted units in Rooms API.
The reactivation endpoint allows you to restore a deleted unit. This is useful when you need to bring back a unit that was accidentally deleted or needs to be made available again.
Reactivating a unit does not restore its room-rates, inventory, or availability. The unit returns as an empty shell, and you must reconfigure it after reactivation. This is by design to ensure data consistency.
Before using the reactivation endpoint, ensure that:
- You have a valid unit ID of a deleted unit
- Your provider account is certified for unit reactivation. Contact the Booking.com support team if you need access.
- You are prepared to reconfigure the unit after reactivation:
- Use Managing room-rates to set up rates
- Use Rates & Availability to configure inventory and availability
To find deleted units for a property, use the Get deleted units endpoint.
PATCH
https://supply-xml.booking.com/rooms-api/properties/{property-id}/units/{unit-id}/activateThe following table describes the path parameters:
| Parameter | Description | Type | Required |
|---|---|---|---|
property-id | The unique identifier of the property | integer | required |
unit-id | The unique identifier of the unit to reactivate | integer | required |
The following table describes the elements you can add in the header:
| Header | Description | Type | Required/Optional |
|---|---|---|---|
Accept-Version | Specify the version number to get the API functionality specific to that version. | string | optional |
This endpoint does not require a request body.
The following example shows how to reactivate a unit:
PATCH /rooms-api/properties/1234567/units/813518812/activate HTTP/1.1
Host: supply-xml.booking.com
Authorization: Bearer {JWT}The following is a successful response when reactivating an inactive unit:
{
"warnings": [
{
"code": 200,
"message": "rates_not_restored",
"description": "Room-rates, inventory and availability were not restored. Please reconfigure the unit."
}
],
"errors": [],
"meta": {
"ruid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
}The following table describes the response elements:
| Element | Description | Type | Notes |
|---|---|---|---|
warnings | Contains warning messages about the reactivation | array of objects | Always includes a warning about rates not being restored |
> code | The warning code | integer | |
> message | Short message identifier | string | |
> description | Human-readable warning message | string | |
errors | Contains error messages if the request failed | array of objects | Empty on success |
> code | The error code | integer | |
> message | Short message identifier | string | |
> description | Human-readable error message | string | |
meta | Contains metadata about the request | object | |
> ruid | The unique request identifier | string | Useful for troubleshooting |
When you reactivate a deleted unit:
- The unit is restored to active status
- All room-rates, inventory, and availability are not restored
- The response includes a warning about rates not being restored
- You must reconfigure the unit using Managing room-rates and Rates & Availability
If you attempt to reactivate a unit that is already active:
- No changes are made to the unit
- The response returns HTTP 200 (success)
- The response includes a warning that the unit is already active
This idempotent behavior allows providers to safely retry requests without side effects.
{
"warnings": [
{
"code": 200,
"message": "unit_already_active",
"description": "Unit is already active. No changes were made."
}
],
"errors": [],
"meta": {
"ruid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
}Returned when the request contains validation errors.
{
"warnings": [],
"errors": [
{
"code": 400,
"message": "room_id.invalid",
"description": "Invalid unit ID format."
}
],
"meta": {
"ruid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
}Returned when the credentials are invalid or missing.
Returned when:
- The provider is not certified for unit reactivation
- The provider does not have authorization for the property
{
"warnings": [],
"errors": [
{
"code": 450,
"message": "Unable to process",
"description": "Unit activation is not allowed for provider. Please ask Booking.com support team for authorization process."
}
],
"meta": {
"ruid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
}Returned when the property or unit does not exist.
{
"warnings": [],
"errors": [
{
"code": 320,
"message": "unit_not_exist",
"description": "Unit not found."
}
],
"meta": {
"ruid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
}Returned when an unexpected error occurs while processing the request.
| Scenario | HTTP Status | Result |
|---|---|---|
| Reactivate deleted unit | 200 | Unit activated, warning about rates not restored |
| Reactivate already active unit | 200 | No-op, warning that unit is already active |
| Invalid or missing credentials | 401 | Request rejected |
| Provider not certified | 403 | Request rejected |
| Unit or property does not exist | 404 | Request rejected |
| Validation error | 400 | Request rejected with error details |
| Internal error | 500 | Request rejected |