Check tour availability
Queries the property’s configured tour provider live and returns available slots. Booking fields are published by GET /api/v1/property/{property}/integrations under tour_types[].schema.fields. Because this proxies to a third party, clients should handle 502 responses by falling back to the lead form.
/api/v1/tour/get-availabilityQueries the property’s configured tour provider live and returns available slots. Booking fields are published by GET /api/v1/property/{property}/integrations under tour_types[].schema.fields. Because this proxies to a third party, clients should handle 502 responses by falling back to the lead form.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/api/v1/tour/get-availability" \ -H "Content-Type: application/json" \ -d '{ "connection_id": "d3547de1-d1f2-4344-b4c2-17169b7526f9", "property_id": "05003a8a-8f3c-454b-8884-a906ec46f5f5", "tour_type": "in_person_tour" }'{ "data": { "availability": [ { "date": "2019-08-24", "timezone": "string", "slots": [ { "start": "string", "end": "string" } ] } ] }}Submit a lead POST
Creates a lead in Resi and triggers the client's leasing workflow: email notifications per the form's settings, a push through the form's CRM connections, and a `lead_submitted` demand event. **The payload is intentionally open.** Only `form_id` and `email` are validated; every other key you send is stored on the lead and forwarded to the client's CRM. Send the full context you collected — `first_name`, `phone`, `bedrooms`, `pets`, `message` — as flat top-level keys. Do not nest. **Attribution.** `resi_source_key` is matched exactly against a lead source `code` on the property and is the reliable path; `resi_source_name` is a normalized display-name fallback. Without either, the lead is stored unattributed and your traffic is invisible in the client's reporting. **No idempotency and no rate limit.** A retried request creates a second lead. Deduplicate on your side before retrying, and put your own spam controls (CAPTCHA, honeypot, edge rate limit) in front of the form.
Reserve a tour POST
Books a slot with the property’s tour provider and creates a lead in Resi. Beyond the five base fields, required booking fields come from GET /api/v1/property/{property}/integrations under tour_types[].schema.fields. tour_date must be YYYY-MM-DD and tour_time must be 24-hour HH:MM. A 409 means the selected slot is no longer available.