Other Hostfully API help articles:
There are 2 versions of Hostfully APIs:
Version 1: already deprecated and no longer supported
Version 2: documentation here (https://dev.hostfully.com/reference/getting-started)
For clients & partners who already built the integration with Hostfully based on v1, we list below the difference between the 2 versions' endpoints and hopefully it can help with the migration to v2.
The main difference of all, is the permission service.
For v1, Property Managers (PMs) active once on agency level, and it will be applied for all of their properties.
For v2, PMs need to take an extra step, to explicitly activate the integration on the property level. Only the property toggle ON will be accessible to integration / channel partners.
If you are on v1, and need help migrating v2, (to prepare UI for property-level activation), please reach out to api@hostfully.com for further support.
If you have any question or suggestion on the Hostfully APIs, please reach out to our API Support team at api@hostfully.com.
Differences in endpoints:
ADDED:
Endpoint | Description |
| It’s an endpoint that return property’s iCal configuration |
| GraphQL endpoint for fetching the properties data |
| Retrieve the property calendar for the provided property unique id. |
| Update channel links for a property. Supported channels: HomeToGo, Yonder, Golightly, VacayMyWay, Homads |
| Get owner uid from a property, assign / un-assign an owner with a property |
| Retrieve pricing rules for a given property |
| Returns information about master-sub units relation, and whether the master unit is bookable. |
REMOVED:
Endpoint | Description |
/book_stripe | Work with Stripe API |
Changes to contracts
/amenities/:uid
Amenities in the GET & POST response are changed to "has...". For example, "kitchen" is changed to "hasKitchen"
/bedtypes/
Added “couchCount” to GET response
Added POST PUT DELETE method
Endpoint is /bedtypes/ instead of /bedtypes/:uid
/customamenities/
GET response returns “uid” instead of “id”
POST response returns “propertyUid” instead of “id”
Added PUT method
DELETE Path Param requires “id” of custom amenity only. (used to require both “id” & “propertyUid”)
/customdata/
Added “customDatafield” to GET response. This contains :"agencyUid","uid","type","name", "variable"
/customdatafields/
GET Query Param only requires agencyUid
GET /customdatafields/:uid Get the custom data field associated to the provided unique id.
Added DELETE method
/customfees/
GET response removed “id” and added "airbnbType", "amount", "amountType", "bookingcomType", "hostfullyType", "type", "uid", "vrboType”
GET /customfees/:uid Get the specific custom fee by using the ID of the custom fee
POST Body Param added “hostfullyType”, “vrboType”, ”airbnbType”, ”bookingcomType”
PUT method added
DELETE Path Param requires “Uid” of the custom fee only. (used to require both custom fee “Id” and “propertyUid”)
/guests
Remove PUT POST DELETE method
/jobs/
“startTime” and “endTime” are changed to “startHour” and “endHour”.
Added “startMinute” and “endMinute”.
/leads
Added “riskScore”
Added “ownerUid” for OWNER BLOCK
GET Query Param removed “status”.
Removed below elements in response:
“agencyUid”, “ipaddress”, “quoteAmount”, “secondaryEmail”
“property”. (moved to /properties/:uid endpoint)
“stayDetail”: changed to “checkInDateTime” and “checkOutDateTime”.
POST and PUT
Body Param removed “agencyUid”, “referrer”, “extraNotes”, “cellphoneNumber”, “address1”, “address2”, “postalCode”, “securityDepositAmount”, “quoteAmount”
“arrivalTime” and “departureTime” are changed to “checkInDateTime” and “checkOutDateTime”
/localspots
“id” is changed to “uid”
Removed “note”
Added “propertyUid” in the response
/orders
GET Query Param now supports “leadUid”
Removed “transactions” (moved to /transactions/)
/owners
GET Path Param requires “agencyUid”
Add “css” and “uid” in the response
PUT Body Param no longer includes “email” and “password”
DELETE method removed
/pincodes/
GET Query Param removed “lockType”, and added “leadUid”
GET response:
Removed “id”, “propertyUid”, “userEmail”
Added “uid”
POST Body Param: removed “emailAddress”
GET /properties
The full resource isn’t returned, only the UID matching the query. If callee wishes to get additional data within the same query, they should consider using propertiesQL endpoint.
/properties/:uid
Moved:
“photos” moved to /photos
"externalCalendarUrls" moved to /externalcalendars
"descriptions" and "shortDescription" moved to /propertydescriptionsuid
“rules” & “rentalConditions” are removed
GET response” "createdDate" format changed from "2021-10-03 09:17:07.0" to epoch "1633252627000"
GET response added:
"bedCount"
"bedTypes": {}
"cancellationPolicy"
"guideBookUrl"
"homeAwayID"
"listingLinks": {}
"panoramicDataUrl"
"pricingRules"
"rentalCondition"
"rentalLicenseNumberExpirationDate"
POST /properties/:uid
Body Param now requires “address1”, “postalCode”, “countryCode”
Body Param now supports "percentUponReservation", "fullPaymentTiming"
/propertyrules
PUT & DELETE methods added
POST Body Param now requires "locale"
/quote
Path Param now requires "propertyUid"
Body Param now supports "checkAvailability"
/reviews
PUT & DELETE methods added
Added POST /reviewsbulk endpoint to support bulk submission
Response added: "agencyUid", "author", "leadUid", "source", "privateFeedback", "reviewResposnse", "ratingCategories"
/transactions
POST method added
Removed: "agencyID", "ID", "paymentLink"
Changed:
"transactionID" into "referenceTransactionID" in response
“id” to “uid” in Path Param
Added: "errorMessage", "notes", "status", "transactionFees"
/webhooks
Added:
NEW_BLOCKED_DATES event type to POST request
GET & POST response: "agencyUid", "webhookType", "callbackURL"
Changed: "id" into “uid” for GET response and DELETE request