Property Descriptions

How to edit a property's marketing decriptions.

Overview

Create accurate, appealing, and informative descriptions to attract guests and enhance the quality of your listings. You can use the Listings API to distinguish your property with various parameters, such as:

  • The name and summary.
  • The description of the space and neighborhood.
  • Information regarding transit and how to get to the listing.

Available Endpoints

MethodEndpoint
PUT/listings/{id}

Key Parameters

Path ParameterTypeDescriptionRequired
idstringThe property ID.✔️

Marketing Descriptions

It is only necessary to include the fields you're updating in the API request. You can choose to edit all of them or a single field.

Key Parameters

Body ParameterTypeDescriptionRequired
titlestringEnter the name of the listing for marketing purposes (50-character limit).
publicDescriptionsobjectContains all the property description fields✔️

Public Descriptions

Body ParameterTypeDescriptionRequired
summarystringProperty summary description.
spacestringDescription of the space.
accessstringInstructions for accessing the property.
neighborhoodstringA description of the neighborhood within which the property is located.
transitstringTransport options and recommendations for the guest(s) to help them get around.
notesstringOther things to note.

Example

Request

curl --globoff --request PUT 'https://open-api.guesty.com/v1/listings/64f03f2794d741004fda911e' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'Authorization: Bearer {accessToken}' \
--data '{
    "title": "Enchanted Villa on the Mediterranean",
    "publicDescription": {
        "summary": "Summary description of the property.",
        "space": "Description of the space.",
        "access": "Instructions for accessing the property.",
        "neighborhood": "A description of the neighborhood within which the property is located.",
        "transit": "Transport options and recommendations available to the guest.",
        "notes": "Anything else to note about the property or location."
    }'
const myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
myHeaders.append("Authorization", "Bearer {accessToken}");

const raw = "{\n    \"title\": \"Enchanted Villa on the Mediterranean\",\n    \"publicDescription\": {\n        \"summary\": \"Summary description of the property.\",\n        \"space\": \"Description of the space.\",\n        \"access\": \"Instructions for accessing the property.\",\n        \"neighborhood\": \"A description of the neighborhood within which the property is located.\",\n        \"transit\": \"Transport options and recommendations available to the guest.\",\n        \"notes\": \"Anything else to note about the property or location.\"\n    }";

const requestOptions = {
  method: "PUT",
  headers: myHeaders,
  body: raw,
  redirect: "manual"
};

fetch("https://open-api.guesty.com/v1/listings/64f03f9094d741004fda977d", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://open-api.guesty.com/v1/listings/64f03f9094d741004fda977d',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => false,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'PUT',
  CURLOPT_POSTFIELDS =>'{
    "title": "Enchanted Villa on the Mediterranean",
    "publicDescription": {
        "summary": "Summary description of the property.",
        "space": "Description of the space.",
        "access": "Instructions for accessing the property.",
        "neighborhood": "A description of the neighborhood within which the property is located.",
        "transit": "Transport options and recommendations available to the guest.",
        "notes": "Anything else to note about the property or location."
    }',
  CURLOPT_HTTPHEADER => array(
    'accept: application/json',
    'content-type: application/json',
    'Authorization: Bearer {accessToken}'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import json

conn = http.client.HTTPSConnection("open-api.guesty.com")
payload = "{\n    \"title\": \"Enchanted Villa on the Mediterranean\",\n    \"publicDescription\": {\n        \"summary\": \"Summary description of the property.\",\n        \"space\": \"Description of the space.\",\n        \"access\": \"Instructions for accessing the property.\",\n        \"neighborhood\": \"A description of the neighborhood within which the property is located.\",\n        \"transit\": \"Transport options and recommendations available to the guest.\",\n        \"notes\": \"Anything else to note about the property or location.\"\n    }"
headers = {
  'accept': 'application/json',
  'content-type': 'application/json',
  'Authorization': 'Bearer {accessToken}'
}
conn.request("PUT", "/v1/listings/64f03f9094d741004fda977d", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Response

{
  "title":"Enchanted Villa on the Mediterranean",
  "publicDescription":{
    "summary":"Summary description of the property.",
    "space":"Description of the space.",
    "access":"Instructions for accessing the property.",
    "neighborhood":"A description of the neighborhood within which the property is located.",
    "transit":"Transport options and recommendations available to the guest.",
    "notes":"Anything else to note about the property or location."
  },
  "_id":"64f03f2794d741004fda911e"
}

Property Terms

Key Parameters

Body ParameterTypeDescriptionRequired
termsobjectHolds the minimum and maximum stays fields. See the following table.
accommodatesnumberThe maximum number of people the property can accommodate.
bathroomsnumberThe number of bathrooms at the property.

Terms

Body ParameterTypeDescriptionRequired
minNightsnumberThe minimum number of nights required to book a stay.
maxNightsnumberThe maximum number of nights that can be booked with a single stay.

Example

Request

curl --request PUT 'https://open-api.guesty.com/v1/listings/64f03f2794d741004fda911e' \
--data '{
    "terms": {
        "minNights": 3,
        "maxNights": 15
    },
    "accommodates": 5,
    "bathrooms": 1
}'
var raw = "{\n    \"terms\": {\n        \"minNights\": 3,\n        \"maxNights\": 15\n    },\n    \"accommodates\": 5,\n    \"bathrooms\": 1\n}";

var requestOptions = {
  method: 'PUT',
  body: raw,
  redirect: 'manual'
};

fetch("https://open-api.guesty.com/v1/listings/64f03f2794d741004fda911e", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://open-api.guesty.com/v1/listings/64f03f2794d741004fda911e',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => false,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'PUT',
  CURLOPT_POSTFIELDS =>'{
    "terms": {
        "minNights": 3,
        "maxNights": 15
    },
    "accommodates": 5,
    "bathrooms": 1
}',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client

conn = http.client.HTTPSConnection("open-api.guesty.com")
payload = "{\n    \"terms\": {\n        \"minNights\": 3,\n        \"maxNights\": 15\n    },\n    \"accommodates\": 5,\n    \"bathrooms\": 1\n}"
headers = {}
conn.request("PUT", "/v1/listings/64f03f2794d741004fda911e", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Response

{
    "terms": {
        "minNights": 3,
        "maxNights": 15
    },
    "accommodates": 5,
    "bathrooms": 1,
    "_id": "64f03f2794d741004fda911e"
}

Bed Arrangements

Room and bed arrangments are configured through the Spaces API. A detailed treatment of this can be found in Space Arrangements.

Amenities

📘

Amenities API

Beta testers can use the Amenities [Beta] API to retrieve a list of the supported amenities and update the ones at the property.

Amenities advertise the features and functions offered at your property to a guest. Guesty's Help Center offers more detailed guidance on selecting the right amenities.

Key Parameters

Body ParameterTypeDescriptionRequired
amenities[string]Here is a list of the amenities provided at the property. See Supported Amenities for all your options.

Property Type

Three parameters must be configured to define the type of property being managed/marketed. These descriptions sync with the booking channels and affect the property's appearance in searches.

Key Parameters

Body ParameterTypeDescriptionRequired
propertyTypestringSelect from: Condominium, Apartment, House, Loft, Boat, Camper/RV, Chalet, Bed & Breakfast, Villa, Tent, Cabin, Townhouse, Bungalow, Hut, or Other.
roomTypestringChoose from: Entire home/apartment, Shared room, or Private room.
otaRoomTypestringRequired by Booking.com. Use one of the following: apartment, suite, studio, dormitory_room, family, bungalow, chalet, holiday_home, villa, mobile_home, or tent.