cancel-reservation
ChatGPTCancel a manual reservation by UUID. Only manual reservations can be cancelled through this route, and integrations can only cancel reservations they created unless a broader PAT-style token is being used.
cancel-scheduled-message
ChatGPTCancel a scheduled automated message that has not yet been sent. Pass the id from a scheduled message row. Returns an error if the message has already been sent or cancelled.
create-knowledge-hub-item
ChatGPTCreate a manual Knowledge Hub item for a property by UUID. Use topic_id to add the item to an existing topic, or topic_name to create a new topic as part of the same write.
create-owner-statement-transaction
ChatGPTCreate an owner statement expense or reimbursement transaction for one or more properties or a business. Pass amounts and markup in the smallest currency unit. Currency is derived from the property or linked business properties. Business lines force charge_owner to false. Requires the Mogul / Owner Statements entitlement.
create-property-ical-import
ChatGPTCreate an iCal import on a property by UUID. The feed URL must be publicly reachable and valid, local or testing domains are rejected, and vendor-created imports stay associated with the vendor that created them.
create-quote
ChatGPTCreate a direct-booking quote for a property by UUID. Direct must be active on the account, and pricing, promotions, occupancy, and availability rules still apply.
create-reservation
ChatGPTCreate a manual reservation on a property. Use this for host-created stays, not OTA-imported reservations. Financial amounts use the Public API minor-unit format expected by the reservations API, and include can expand the returned reservation payload.
create-task
ChatGPTCreate a manual operations task for a property. Marketplace assignment and marketplace-only task mutations are not currently supported via MCP.
delete-knowledge-hub-item
ChatGPTDelete a Knowledge Hub item by property UUID and item id. Use this when the item should be removed from the property knowledge base entirely.
delete-knowledge-hub-topic
ChatGPTDelete a Knowledge Hub topic by property UUID and topic id. This also removes the source topic entries that belong to that topic.
delete-owner-statement-transaction
ChatGPTDelete an owner statement expense or reimbursement transaction by UUID. Fails if the covering owner statement is already published. Requires the Mogul / Owner Statements entitlement.
delete-task
ChatGPTDelete a task by UUID. This soft-deletes the task, marks it as manually deleted, and prevents future recurring-task regeneration from recreating it.
get-alerts
ChatGPTGet a paginated list of smart notification alerts for the account. Alerts are operational issues that need attention, such as failed payments, disconnected booking channels, guest issues, security deposits not collected, or low smart-lock battery. Filter by priority, grouping_key, or status to narrow results. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-business
ChatGPTGet a single Owner Statements business by UUID, including name and type. Requires the Mogul / Owner Statements entitlement. Use the returned id as business_id on business-level owner statement transactions.
get-businesses
ChatGPTGet a paginated list of Owner Statements businesses for the account. Requires the Mogul / Owner Statements entitlement. Use this to discover business UUIDs before creating business-level owner statement transactions. Filter by business type when needed. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-changelog
ChatGPTGet a curated changelog of Hospitable MCP server capability changes since late March 2026. Use this when an agent needs to understand which tools, schema contracts, or MCP behaviours recently changed. If a tool is recently added to the changelog, but the AI client does not see the tool available in the tool list, try to refetch the tool list or ask the user to refresh the MCP server connection in the AI agent settings.
get-channels
ChatGPTList the user's connected channels. Use to discover valid platform keys and user_id values for scoping/filtering other tools. Use this over guessing platform keys or host identifiers. homeaway is Vrbo
get-custom-codes
ChatGPTList Hospitable custom codes — reusable, user-defined text snippets inserted into messaging rules, review rules, notification rules, and canned responses via %%name%% placeholders. Unlike system-defined short codes, custom codes are scoped to specific platforms, hosts, or properties, and can carry optional conditions (e.g. availability, booking lead time, pet on reservation) that are evaluated when the message is prepared (instant rules) or at scheduled send time (scheduled rules). Each item's _meta.warnings field may surface invalid_short_codes and invalid_custom_codes — placeholders found inside the code's text that do not resolve to a known short code or to one of this user's custom codes, and so will be left unresolved when the message is sent. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-guest-reviews
ChatGPTList the host's reviews of guests across completed reservations. Filter with status to focus on what you need: pending for reviews still inside the platform's submission window (use this before submit-guest-review), sent for the host's previously published reviews, cancelled for reviews that have been withdrawn, or omit status to get everything. Pending reviews currently surface Airbnb only; sent and cancelled reviews cover Airbnb and VRBO. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-inquiries
ChatGPTGet a paginated list of inquiries for specific properties, with optional message recency filtering. Use includes sparingly because property and listing expansions can add substantial nested context. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-inquiry
ChatGPTGet a single inquiry by UUID. Use includes sparingly because message history and expanded property or listing resources can significantly increase the payload.
get-messaging-rule
ChatGPTGet a single messaging rule template by UUID. Returns per-language message templates.
get-messaging-rules
ChatGPTGet a paginated list of messaging rule templates for the account. Returns messaging rules (automatic replies to reservation events), canned responses (drafts) and review rules (templates for automatic replies to guest reviews). Pass include=templates to add per-language message templates or get an individual rule by UUID to get the templates. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-opportunities
ChatGPTGet a paginated list of smart notification opportunities for the account. Opportunities are actionable suggestions to improve listing performance or revenue, such as enabling security deposits, connecting dynamic pricing, earning more bookings from Airbnb or Vrbo, or offering early check-in and late checkout upsells. Filter by priority, grouping_key, or status to narrow results. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-owner
ChatGPTGet a single property owner by UUID, including contact details and address. Requires the Mogul / Owner Statements entitlement. Pass include=ownerships when you need the owner's properties and ownership dates.
get-owner-statement
ChatGPTGet a single owner statement by UUID, including money totals such as total_reservation_income, taxes_to_manager, taxes_to_owner, and total_due_to_owner. Pass include when you need property, owner, reservations, adjustments, or transactions. Requires the Mogul / Owner Statements entitlement. Prefer get-owner-statements to discover statement UUIDs first.
get-owner-statement-transaction
ChatGPTGet a single owner statement expense or reimbursement transaction by UUID, including line items with amounts in the smallest currency unit. Requires the Mogul / Owner Statements entitlement.
get-owner-statement-transactions
ChatGPTGet a paginated list of owner statement expense and reimbursement transactions for the account. Filter by properties or businesses and date range. Amounts are in the smallest currency unit. Requires the Mogul / Owner Statements entitlement. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-owner-statements
ChatGPTGet a paginated list of owner statements for the account. Filter by properties, owner UUIDs, or status. Requires the Mogul / Owner Statements entitlement and returns summary totals such as total_due_to_owner. Use get-owner-statement when you need reservations and adjustments for a single statement. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-owners
ChatGPTGet a paginated list of property owners for Owner Statements on the account. Filter by property, owner type (individual or company), or active ownerships only. Requires the Mogul / Owner Statements entitlement. Use this to discover which owners are linked to which properties before inspecting a single owner. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-payout
ChatGPTGet a single payout by UUID. Use includes sparingly because transactions can add a potentially large ledger collection to the payout payload.
get-payouts
ChatGPTGet a paginated list of payouts for the authenticated user. Use includes sparingly because adding transactions can make each payout much heavier and duplicate ledger data across the response. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-properties
ChatGPTGet a paginated list of properties for the authenticated user. Use includes sparingly because they can add substantial nested property, booking, and owner context. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-property
ChatGPTGet a single property by UUID. Use includes sparingly because they expand the payload with listing metadata, detailed property fields, booking context, or owner data.
get-property-availability-settings
ChatGPTGet property availability and booking rules by UUID. Response shape: data is an object with twelve settings. Every setting uses the same platform-aware shape: a team default and overrides for airbnb, vrbo, booking, direct, and agoda. An override value of null means that channel inherits the team default. Settings in data: - advance_notice — hours before check-in guests must book (0 allows same-day booking subject to other rules). - availability_window — rolling calendar window in months. - max_stay / min_stay — maximum and minimum stay in nights. - max_stay_by_day_of_week / min_stay_by_day_of_week — seven-element arrays (index 0 = Sunday through 6 = Saturday) for per-weekday night limits; null in an override array means inherit the default for that day. - restricted_check_in / restricted_check_out — weekday numbers (0–6) when check-in or check-out is not allowed; empty array means no restriction. - preparation_time — turnover buffer in nights between stays. - allow_request_to_book — whether guests may request to book when instant book does not apply. - instant_book — manual, instant-all, or instant-low-risk. - allow_rtb_above_max_nights — whether request-to-book is allowed above the maximum stay.
get-property-calendar
ChatGPTGet the calendar for a property over a date range, including day-by-day availability, pricing, and stay rules. Keep ranges focused so the tool returns only the days the agent actually needs.
get-property-details
ChatGPTGet guest-facing property details by UUID. Response shape: data is mostly flat. Nested objects are address (matches Get Property without country or state) and rules (*_allowed fields only). Checkout tasks use type and description only (present tasks). Platform-aware fields use default and per-channel overrides. Platform-aware fields use a team default and overrides for airbnb, vrbo, booking, direct, and agoda. A null override means that channel inherits the team default. vrbo_description is returned only when the property has a linked Vrbo Official listing; otherwise it is null.
get-property-devices
ChatGPTList the smart locks and thermostats linked to a property by UUID or numeric property id, including current battery level, online status, lock state, and thermostat temperature/setpoints. Use this for battery checks, connectivity audits, and pre-arrival climate verification. Optionally filter by device_type to only fetch smart locks or only fetch thermostats. Requires the smart-devices entitlement on the account.
get-property-images
ChatGPTGet the ordered image gallery for a property by UUID. This returns the direct-booking image set that guests would see, including captions and thumbnail URLs.
get-property-knowledge-hub
ChatGPTGet the Knowledge Hub for a property by UUID. Use this before editing so you can inspect the current topics, item ids, and source summaries.
get-property-pricing
ChatGPTGet saved property pricing settings by UUID (nightly rates, fees, occupancy, and security deposit). This returns host-configured listing prices and fees — not per-day calendar rates (get-property-calendar) and not calculated stay totals (create-quote). Response shape: data includes currency, base_nightly_price, weekend_nightly_price, fee fields, occupancy fields, and security_deposit. Money fields use { amount, formatted } in minor units when set, or null when unset. Fee fields (cleaning_fee, short_term_cleaning_fee, linens_fee, management_fee, community_fee, resort_fee, pet_fee, extra_guest_fee) and occupancy fields (guests_included, maximum_occupancy) use the same platform-aware shape: a team default and overrides for airbnb, vrbo, booking, direct, and agoda. An override value of null means that channel inherits the team default. Each fee default or override is either null or an object with type (fixed or percent), value (money object for fixed fees, number for percent fees), and calculation_method (per-stay, per-guest, per-night, and similar) or null for percent fees. security_deposit has collector (hospitable, host, or null) and amounts with the same default plus platform overrides money shape.
get-property-reviews
ChatGPTGet a paginated list of reviews for a property by UUID. Use includes sparingly because guest, reservation, property, and listing each expand every review row with nested resources. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-purchased-upsells
ChatGPTGet a paginated list of purchased upsells across the account, ordered by most recently paid first. Each row includes the reservation UUID and code so you can tie an upsell back to a booking without fetching reservations one by one. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-reservation
ChatGPTGet a single reservation by UUID or reservation code. Use includes sparingly because they can expand the payload with guest, property, listing, financial, review, task, or user data.
get-reservation-agreement
ChatGPTGet a single reservation agreement by UUID, including the rendered agreement content, the values the guest submitted for each fillable field, and a link to the signed PDF when it exists. Use get-reservation-agreements to browse agreements or check signed status.
get-reservation-enrichment-data
ChatGPTGet a single accessible enrichment field for a reservation by UUID and shortcode key, including its current value, description, and example.
get-reservation-messages
ChatGPTGet the guest and host messages for a reservation. Each message includes author (name and teammate id, or null for guests, automation, and API/MCP sends) and sender (the platform identity shown to the guest). Use includes sparingly because metadata can add bulky per-message context and user adds resolved channel user data.
get-reservation-scheduled-messages
ChatGPTGet automated messages scheduled for a single reservation (ordered by send time). Each row includes the resolved message text. Pass the reservation UUID or reservation code as identifier.
get-reservations
ChatGPTGet a paginated list of reservations for specific properties, with optional filters for dates, booking time, status, and message recency. Use includes sparingly because they can pull substantial nested guest, property, financial, review, and task data. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-secondary-users
ChatGPTRestricted to the account owner. Lists secondary users on the account — people who log into Hospitable with feature permissions (inbox, calendar, properties). Different from Operations teammates (cleaners / task assignees). Returns user_id, name, email, is_admin, is_active, all_features, features, all_properties, and properties. When all_features or all_properties is true (including admins), the matching list is empty. Property values are property UUIDs. Does not include the account owner. Secondary users, including admins, cannot list other secondary users.
get-short-codes
ChatGPTList Hospitable template short codes (e.g. %guest_name%) for messaging rules, canned responses, custom codes and reservation agreements. Only use in saved templates — do not use when sending a message directly to the guest, where codes are not resolved and send as literal text (e.g. the guest sees %guest_name%). Optional event filter narrows by event context.
get-task
ChatGPTGet a single task by UUID. start_date and end_date are returned in the property's local timezone (the timezone field identifies which one); always report task times to the user in that local timezone rather than UTC. Use includes sparingly because checklist, marketplace, and photo data can add nested detail to the task payload.
get-tasks
ChatGPTGet a paginated list of tasks for specific properties, with optional filters for dates, reservation UUID, teammate UUID, task types, and machine-readable status values. start_date and end_date are returned in the property's local timezone (the timezone field identifies which one); always report task times to the user in that local timezone rather than UTC. Keep includes sparse on list calls because marketplace data makes each row heavier. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-teammate
ChatGPTGet a single internal teammate by UUID, including contact details, service scope, and property scope. Useful for confirming which teammate to assign a task to.
get-teammates
ChatGPTGet a paginated list of internal teammates for the account. Use this to discover which teammate to assign a task to. Filter by service_id to find teammates who perform a given service (e.g. cleaning, check-in) or by property_id to find teammates scoped to a given property. Teammates with all_services or all_properties match every filter value for that dimension. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-tool-schema
ChatGPTFetch the full input schema for one or more Hospitable MCP tools by name. The tools/list response omits input schemas to reduce context; call this tool first to retrieve the full inputSchema for any tool you plan to call. Accepts up to 10 tool names per call and returns one entry per requested name, with a status of ok or not_found.
get-transaction
ChatGPTGet a single transaction by UUID. Use includes sparingly because payout and reservation can each add nested linked resources to the transaction payload.
get-transactions
ChatGPTGet a paginated list of transactions for the authenticated user. Use includes sparingly because they can pull in linked payout or reservation resources for every row and make responses much heavier. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-upsell
ChatGPTGet a single upsell product from your catalog by UUID, including pricing variations, scoping, payout method, and whether pricing type can still be edited. For purchase history on a reservation, use get-purchased-upsells instead.
get-upsells
ChatGPTGet a paginated list of upsell products in your catalog (early check-in, late checkout, custom fees, trip insurance, and similar offers you configure for guests). This is the product definition catalog, not purchase history — use get-purchased-upsells for completed guest purchases. Pagination info is in the response meta. Call this tool again with the next page to get more results.
get-user
ChatGPTGet the currently authenticated user and their billing details. The top-level fields always describe the team owner the token authenticates as. When the token was issued by an admin secondary user on behalf of the team owner, the response also includes an acting_user block identifying that secondary user; when the token was issued directly by the owner, acting_user is null. This is a lightweight identity lookup with no optional includes.
list-reservation-enrichment-data
ChatGPTList all accessible enrichment fields for a reservation by UUID, including each field key, current value, description, and example.
lock-smartlock
ChatGPTLock a smart lock by lock_id (the id field returned from get-property-devices for a device whose device_type is smartlock). The call blocks while the smart lock provider confirms the action and returns the updated device state on success, in the same shape as get-property-devices. Only smart locks are supported (thermostats are not). Requires the smart-devices entitlement on the account.
mark-owner-statement-as-paid
ChatGPTMark a published owner statement as paid asynchronously with a paid_at date in Y-m-d format. Returns a lifecycle operation. Requires the Mogul / Owner Statements entitlement.
mark-owner-statement-as-unpaid
ChatGPTMark a paid owner statement as unpaid asynchronously, returning it to published status. Returns a lifecycle operation. Requires the Mogul / Owner Statements entitlement.
publish-owner-statement
ChatGPTPublish an in-review owner statement asynchronously. Returns a lifecycle operation. Requires the Mogul / Owner Statements entitlement.
respond-to-review
ChatGPTPost a public host response to a review by UUID. Use this only when you are ready to publish a guest-visible reply. Reviews that already have a response cannot be updated through this route.
restore-scheduled-message
ChatGPTRestore a previously cancelled scheduled automated message, as long as it is still in the future. Pass the id from a scheduled message row. Returns an error if the message has already been sent, was never cancelled, or its scheduled time has passed.
search-properties
ChatGPTSearch the authenticated user's properties for a stay window and guest counts, returning pricing and availability for matching properties. Use includes sparingly because they only expand the nested property payload and can add substantial listing, booking, or owner context.
send-inquiry-message
ChatGPTSend a guest-facing message on an inquiry thread. Use this only when you are ready to actually contact the guest. This route is throttled, sender_id is only supported for Airbnb inquiries, and some Booking.com request-to-book threads may reject replies when messaging is disabled.
send-reservation-message
ChatGPTSend a guest-facing message on a reservation thread. Use this only when you are ready to actually contact the guest. This route is throttled, sender_id is only supported for Airbnb co-host messaging, and images are limited to 3 URLs.
submit-guest-review
ChatGPTPublish or schedule the host's review of a guest for a completed reservation by review_id (use get-guest-reviews with status=pending to find it). Pass review_id as a string — never as a JSON number — because Airbnb review IDs exceed JavaScript's safe integer range and will be rounded if sent as numbers. You may also pass the reservation confirmation code from get-guest-reviews instead of the platform review id. By default the review is sent live to the platform immediately — call this only when the wording, ratings, and recommendation are final. Set delay_publication=true to instead schedule it ~20 seconds before the platform's submission window closes (the "bad review" / delayed-publish flow); use this when leaving a negative review and you want to avoid prompting the guest to retaliate. Already-sent or expired reviews cannot be resubmitted; cancelled reviews must be restored before submission. Currently supports Airbnb pending reviews only.
tag-property
ChatGPTAdd tags to a property by UUID. Send the tags you want to add in this call.
unlock-smartlock
ChatGPTUnlock a smart lock by lock_id (the id field returned from get-property-devices for a device whose device_type is smartlock). Unlocking a door has obvious physical security implications, so confirm with the host before calling. The call blocks while the smart lock provider confirms the action and returns the updated device state on success, in the same shape as get-property-devices. Only smart locks are supported (thermostats are not). Requires the smart-devices entitlement on the account.
unpublish-owner-statement
ChatGPTUnpublish a published owner statement asynchronously. Returns a lifecycle operation. Requires the Mogul / Owner Statements entitlement.
update-knowledge-hub-item
ChatGPTUpdate a manual Knowledge Hub item by property UUID and item id. Use this to revise content, move the item to another topic, or create a replacement topic_name when needed. Leave both topic_id and topic_name blank to keep the current topic.
update-owner-statement-transaction
ChatGPTUpdate an owner statement expense or reimbursement transaction by UUID. Pass amounts and markup in the smallest currency unit. Fails if the covering owner statement is already published. Requires the Mogul / Owner Statements entitlement.
update-property-calendar
ChatGPTUpdate a property calendar by UUID for specific dates. You can change availability, min stay, pricing, check-in or checkout restrictions, and calendar notes. Calendar-restricted channels cannot be edited. Pricing updates are blocked when outbound dynamic pricing is enabled, and min stay updates are blocked when dynamic minimum night stays is enabled.
update-property-ical-import
ChatGPTUpdate an existing property iCal import. Only PAT tokens or the same vendor that created the import can edit it. Resync only queues when the feed URL changed or when resync is true and the last sync is older than 15 minutes.
update-reservation
ChatGPTUpdate an existing reservation by UUID. Manual reservations support full updates (dates, guests, financials, notes) when the integration created the booking, or partial updates (notes or note, checkin_time, checkout_time in 24-hour hour:minute format) on any manual reservation for the account. OTA-imported reservations only accept internal note updates via notes or note, and check-in/check-out time updates via checkin_time and checkout_time. Integrations can only perform full updates on reservations they created unless a broader PAT-style token is being used. Financial amounts use the Public API minor-unit format expected by the reservations API.
update-reservation-enrichment-data
ChatGPTUpdate a single accessible enrichment field for a reservation by UUID and shortcode key. Use this for host-managed reservation context such as guidebook links or smart lock codes. Validation depends on the specific shortcode.
update-scheduled-message
ChatGPTUpdate the message text or scheduled send time of a pending automated scheduled message. Pass the id from a scheduled message row.
update-task
ChatGPTUpdate a manual operations task by UUID. Use teammate_uuid to assign, reassign, or unassign internal teammates. Marketplace assignment and marketplace-only task mutations are not currently supported via MCP.