Overview
A portal is the page that a guest opens before a stay. Its content comes from workspace configuration that you manage through API methods:Verification rules
What has to be collected or signed before check-in. Deposits, agreements, arrival details, questions.
Offers
The things that can be bought or requested. Late checkout, mid-stay clean, airport pickup.
Templates
The page itself: branding, layout blocks, and which offers appear where.
Guides
Published guest information that can appear in matching portals.
Brand kit
Workspace branding defaults for future portal sessions.
Sessions
Guest progress, submitted check-in fields, orders, tickets, and stored assets.
Listing fields
Structured guest information with formatted text, images, and videos.
Uploads
Images and videos for listing fields, guides, and offers.
Settings
The default stay template, auto-provisioning, and which Stripe account each listing’s payments go to.
Custom domains
Guest portal links on your own hostname, with optional confirmation-code links.
Check-ins
Waive steps for a stay, hand them back, or clear finished answers.
Transactions
Orders and damage waiver payments guests made through portals.
update_portal MCP tool adds it to that portal.
Before you start
Listing field methods require
Access Properties to read and Manage Properties to write.
They replace one field per request and do not use a version lock.
Upload methods require Manage Properties for the listing_field scope and Manage Portals for guide and offer.
Check-in waivers and resets require Manage Submissions. Transaction lists require View Portal Transactions. Payment routing and an offer’s Stripe account require Manage Portal Payments.
Timestamps are epoch milliseconds, except in portal session responses, which use ISO 8601 strings. All money is whole cents (
25000 is $250.00) paired with a lowercase currency code.End to end
Build a portal with a deposit for long stays:1
Create the offers
Use Create Portal Offer for each item. Keep each returned
id.2
Create the verification rules
Use Create Verification Rule for the deposit and arrival details. New rules are enabled and appended.
3
Fix the order
Use Reorder Verification Rules. Put specific rules above general rules.
4
Build the template
Use Create Portal Template. Reference the offer IDs from step 1 in
layout.5
Activate
Connect Stripe first: a template can’t be activated while a priced rule is enabled and Stripe isn’t ready. Use Update Portal Template with
status: "active" and the current expected_version.6
Make it the default
Use Update portal settings with
default_stay_template_id. Set auto_provision_stay_portals: true to create a stay portal for every booked reservation. See Portal defaults.API methods
Errors
Read the current value before you retry a
409 response. A retry with the same lock value fails again.