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.
| What | Call | Hostaway | Notes |
|---|---|---|---|
| Read reviews | GET /v1/reviews | Supported | Submitted 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 review | POST /v1/reviews/{id}/reply | Refused | Hostaway’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 request | POST /v1/reservations/{id}/accept · /decline | Refused | Hostaway has no API to answer a request to book. Refused — answer it in Hostaway. |
| Pre-approve an inquiry | POST /v1/conversations/{id}/pre-approval | Refused | Hostaway 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, address | PUT /v1/listings/{id}/content | Supported | Written 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 rules | PUT /v1/listings/{id}/content | Partly | Amenities: 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. |
| Photos | PUT /v1/listings/{id}/content | Supported | Add by URL (send photosMode: "append"; Hostaway processes new photos in the background), delete, reorder and recaption. |
| Create a guest | POST /v1/guests with provider | Refused | Hostaway 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 guest | PATCH /v1/guests/{id} | Refused | No 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 message | POST /v1/conversations/{id}/messages | Supported | Sent through Hostaway on the booking’s own channel by default. |
| Choose the channel | channel on POST /v1/conversations/{id}/messages | Supported | channel (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 attachments | attachments on POST /v1/conversations/{id}/messages | Refused | Hostaway’s API does not send attachments. A message carrying attachments is refused and nothing is sent. |
| Calendar: open/close nights, nightly price, minimum stay | PUT /v1/availability/{propertyId} | Supported | Off 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
clientIdclientSecretSupported Operations
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
| confirmationCode | full |
| checkIn/checkOut | full |
| totalPrice | full |
| priceBreakdown | full |
| guestDetails | full |
| platform/source | full |
| paymentStatus | full |
Listing
| name | full |
| address | full |
| coordinates | full |
| thumbnail | full |
| customFields | full |
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)