Docs/Knowledge Base/PMS Guides

Hostaway

Full-featured PMS with strong API coverage. Excellent for large property managers.

What you can do with Hostaway through Repull

Verified against vendor documentation Checked against the Hostaway API reference on 3 October 2026; not yet run against a live account.

Reading listings, reservations, the calendar and conversations works as on every system. These are the writes that go into Hostaway. A refused operation is refused because Hostaway's API cannot do it: the call answers 422 pms_write_unsupported naming Hostaway, and nothing is sent. Read capabilities.pms on GET /v1/connect/hostaway or GET /v1/listings/{id} to know before you call. Bookings are covered in PMS reservation support; how each write is routed is in Writing through a PMS.

WhatCallHostawayNotes
Read reviewsGET /v1/reviewsSupportedSubmitted and published reviews, guest-to-host and host-to-guest, with the 0–10 rating, public text, private feedback and the host response. Each carries pms: "hostaway".
Reply to a reviewPOST /v1/reviews/{id}/replyRefusedHostaway’s review API is read-only: list and get, no reply. Refused with pms_write_unsupported — reply in Hostaway or on the channel.
Accept or decline a booking requestPOST /v1/reservations/{id}/accept · /declineRefusedHostaway has no API to answer a request to book. Refused — answer it in Hostaway.
Pre-approve an inquiryPOST /v1/conversations/{id}/pre-approvalRefusedHostaway has no pre-approval API; “pre-approved” is a status it reports, not one you can set. Refused — pre-approve in Hostaway.
Title, descriptions, check-in/out times, capacity, addressPUT /v1/listings/{id}/contentSupportedWritten to Hostaway first, then kept in Repull. Check-in and check-out are whole hours and bathrooms whole numbers; a second street line is refused. Hostaway keeps one language per listing.
Amenities and house rulesPUT /v1/listings/{id}/contentPartlyAmenities: a full replacement, matched to Hostaway’s amenity names. House-rule switches (pets, smoking, events, children allowed) are refused — Hostaway’s listing has no such fields, only maximum pet and child counts.
PhotosPUT /v1/listings/{id}/contentSupportedAdd by URL (send photosMode: "append"; Hostaway processes new photos in the background), delete, reorder and recaption.
Create a guestPOST /v1/guests with providerRefusedHostaway has no guest records: a guest’s details live on the reservation. Refused — create the guest in Repull without provider, or change the booking’s guest with PATCH /v1/reservations/{id}.
Update a guestPATCH /v1/guests/{id}RefusedNo guest records in Hostaway’s API. Refused for a guest linked to Hostaway; change the guest on a direct booking with PATCH /v1/reservations/{id} instead.
Send a messagePOST /v1/conversations/{id}/messagesSupportedSent through Hostaway on the booking’s own channel by default.
Choose the channelchannel on POST /v1/conversations/{id}/messagesSupportedchannel (the booking’s channel), email, sms or whatsapp. Repull’s airbnb, booking, vrbo and expedia are accepted only when the booking is on that channel — Hostaway can only message on the booking’s own channel.
Send attachmentsattachments on POST /v1/conversations/{id}/messagesRefusedHostaway’s API does not send attachments. A message carrying attachments is refused and nothing is sent.
Calendar: open/close nights, nightly price, minimum stayPUT /v1/availability/{propertyId}SupportedOff until you turn it on for the connection with the write policy (calendar.availability, calendar.rates, calendar.restrictions). Sent in batches of up to 200 date ranges. Bookings never push to Hostaway: it blocks its own booked nights.

Auth Type

OAuth2 Client Credentials

Required Fields

clientIdclientSecret

Supported Operations

✓ listings
✓ reservations
✓ calendar
✓ messages
✓ webhooks
✓ guests

Connection Guide

In Hostaway, open Settings → Public API (turn the Public API on if it is off) and create an API key. Send your Hostaway Account ID as clientId and the API key as clientSecret.

Field Coverage

Reservation

confirmationCodefull
checkIn/checkOutfull
totalPricefull
priceBreakdownfull
guestDetailsfull
platform/sourcefull
paymentStatusfull

Listing

namefull
addressfull
coordinatesfull
thumbnailfull
customFieldsfull

Notes

  • • Tokens last ~24 months — minimal refresh needed
  • • Rate limit: 15 req/10s per IP, 20 req/10s per account
  • • Supports custom variables import
  • • The Public API must be turned on in Hostaway; while it is off every call is refused and the connection asks to be reconnected
  • • Channel mapping available (Airbnb, Booking and other channel sources)
AI