Custom Reservation Fields Migration
How to move from the old custom reservation fields endpoints to the new ones.
Overview
This guide shows you how to upgrade from v2 to v3 custom reservation fields endpoints. The key changes are:
- Uses a new path -
/reservations-v3/{reservationId}/custom-fields - Changes the API response contract - includes an envelope with the reservationId and wraps the field under a customfields object with its own _id.
- Shapes do not match 1:1 - The API response contains additional fields in comparison to what is given by you.
Compatibility Notes
- The new API is fully compatible with reservations created using the old (v2) reservations resource (
/reservations/)
Endpoint-by-Endpoint Migration
1. Get all populated custom fields for a reservation
Endpoint change
The path has changed from /reservations/ to /reservations-v3/
| Version | Method | URL |
|---|---|---|
| Old | GET | https://open-api.guesty.com/v1/reservations/\{reservationId}/custom-fields |
| New | GET | https://open-api.guesty.com/v1/reservations-v3/\{reservationId}/custom-fields |
Response change
| Old | New |
|
|
2. Get a specific custom field by ID for a reservation
Endpoint change
The path has changed from /reservations/ to /reservations-v3/.
| Version | Method | URL |
|---|---|---|
| Old | GET | https://open-api.guesty.com/v1/reservations/{reservationId}/custom-fields/{fieldId} |
| New | GET | https://open-api.guesty.com/v1/reservations-v3/{reservationId}/custom-fields/{fieldId} |
Response change
The response adds the reservationId, and the field is now wrapped under customField and with its own object _id.
| Old | New |
|
|
3. Update the custom fields of a reservation
Endpoint change
The path has changed from /reservations/ to /reservations-v3/.
| Version | Method | URL |
|---|---|---|
| Old | PUT | https://open-api.guesty.com/v1/reservations/{reservationId}/custom-fields |
| New | PUT | https://open-api.guesty.com/v1/reservations-v3/{reservationId}/custom-fields |
Body params
Retains the same partial update semantics. Only the given fields and their values are updated.
{
"fieldId": "{fieldId}"
"value": {{value}} // "string", boolean, or number as preconfigured
}Response example
The field is now wrapped under customField and includes the reservationId and an object _id.
| Old | New |
|
|
4. Delete a custom field from a reservation
Endpoint change
The path has changed from /reservations/ to /reservations-v3/.
| Version | Method | URL |
|---|---|---|
| Old | DELETE | https://open-api.guesty.com/v1/reservations/{reservationId}/custom-fields/{fieldId} |
| New | DELETE | https://open-api.guesty.com/v1/reservations-v3/{reservationId}/custom-fields/{fieldId} |
Response change
The response adds the reservationId, and the field is now wrapped under customField with an object _id.
Old |
New |
|
|
Migration checklist
- Update paths:
/reservations/...to/reservations-v3/... - Adjust response parsing: The new endpoints return -
{ reservationId, customFields: [ ... ] }or{ reservationId, customField: { ... } }
- Targeting fields:
- Use
fieldIdin request bodies and URL parameters. - Optionally store the returned
_idfor internal reference or logging.
- Use
Deprecation schedule
| Event | Date | Details |
|---|---|---|
| End-of-Life (EOL) announcement | 20 November 2025 | Email notification sent. You should begin planning your migration. |
| Start of Sunset Period | 12 January 2026 | The Custom Reservations Fields v2 resource will no longer receive updates or new features, and will be hidden from the documentation. |
| Hard deprecation date | 16 March 2026 | After this date, the Custom Reservations Fields v2 resource will be permanently removed, and all associated API calls will fail. Immediate action is required before this date. |
To ensure uninterrupted service, you must update your integration to use the Custom Reservations Fields v3 resource before the hard deprecation on 16 March 2026.
Updated about 1 month ago