Reserve a tour
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.
/api/v1/tour/reserveBooks 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.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Additional keys are validated against the selected integration’s tour_types[].schema.fields definition.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v1/tour/reserve" \ -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", "tour_date": "2019-08-24", "tour_time": "string" }'{ "message": "string"}Check tour availability POST
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.
Record a demand event POST
Records renter behavior into Resi's demand funnel. If you render Resi data in your own UI, sending these gives the client attribution for the engagement you drive. **Only browser-ingestible types are accepted.** `lead_submitted`, `tour_reserved`, `tour_availability_checked` and `apply_intent_clicked` are recorded server-side by Resi when you call the lead and tour endpoints — sending them yourself double-counts the client's funnel. Rate limit: 120 requests/minute per IP.