{"openapi":"3.1.0","info":{"title":"First Chair Destinations agent API","version":"1","description":"Vacation homes in US mountain, ski, lake and coastal towns. Find homes, price a stay, read the terms, and hand the traveler a link to book on firstchair.com. Read-only: it cannot hold, book or pay; the traveler books in a browser from the link given.\n\nPrice contract: if stay.price is \"live\", stay.total is what the checkout charges at stay.as_of and book_at is the reservation page with the stay filled in; no quote or link call is needed. If stay.price is \"indicative\", call quote before stating a final price. Prices are US dollars; per_night and total_before_taxes include all fees and match the home's page; taxes are added at checkout.\n\nThe same tools are offered in the page through WebMCP, and the site map for agents is https://www.firstchair.com/llms.txt.","contact":{"name":"First Chair Destinations","url":"https://www.firstchair.com/contact"}},"servers":[{"url":"https://www.firstchair.com/api/agent/v1"}],"paths":{"/find":{"get":{"operationId":"find","summary":"Homes that can be booked for a stay, the first six priced live","description":"With dates, homes that can be booked for exactly those nights, cheapest first unless near_lifts is set; the first six shown carry the live checkout price and book_at. Without dates, homes to consider.","parameters":[{"name":"place","in":"query","required":true,"schema":{"type":"string"},"description":"A town, resort or mountain, e.g. steamboat, big-sky, teton-village."},{"name":"check_in","in":"query","required":false,"schema":{"type":"string","format":"date","description":"YYYY-MM-DD"}},{"name":"check_out","in":"query","required":false,"schema":{"type":"string","format":"date","description":"YYYY-MM-DD"}},{"name":"adults","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":40,"default":2},"description":"Guests 13 and over."},{"name":"children","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":30,"default":0},"description":"Guests aged 3 to 12."},{"name":"pets","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0},"description":"Dogs travelling with the party."},{"name":"min_bedrooms","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":20}},{"name":"max_total","in":"query","required":false,"schema":{"type":"number","exclusiveMinimum":0},"description":"Most the whole stay may cost, US dollars, taxes included."},{"name":"near_lifts","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["price","rating"],"default":"price"},"description":"rating: best-rated first, so those are the ones priced live."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":16,"default":6}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Homes that can be booked for a stay, the first six priced live","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"A parameter could not be read; the error says which.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"No home with that id.","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"The stay cannot be priced as asked, e.g. longer than the online limit.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Temporarily unavailable; try again shortly.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/quote":{"get":{"operationId":"quote","summary":"The live price the checkout will charge for one home and stay","description":"Nightly rate and total with all fees included, taxes, the amount charged, each payment with when it is taken (at_booking or later), and book_at. Stays of up to 29 nights.","parameters":[{"name":"home_id","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d+$"},"description":"A home's id, as find returns it."},{"name":"check_in","in":"query","required":true,"schema":{"type":"string","format":"date","description":"YYYY-MM-DD"}},{"name":"check_out","in":"query","required":true,"schema":{"type":"string","format":"date","description":"YYYY-MM-DD"}},{"name":"adults","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":40,"default":2},"description":"Guests 13 and over."},{"name":"children","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":30,"default":0},"description":"Guests aged 3 to 12."},{"name":"pets","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0},"description":"Dogs travelling with the party."}],"responses":{"200":{"description":"The live price the checkout will charge for one home and stay","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"A parameter could not be read; the error says which.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"No home with that id.","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"The stay cannot be priced as asked, e.g. longer than the online limit.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Temporarily unavailable; try again shortly.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/home":{"get":{"operationId":"home","summary":"One home in full","description":"Rooms and beds, amenities, house rules, nearest lift, location and description.","parameters":[{"name":"home_id","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d+$"},"description":"A home's id, as find returns it."}],"responses":{"200":{"description":"One home in full","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"A parameter could not be read; the error says which.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"No home with that id.","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"The stay cannot be priced as asked, e.g. longer than the online limit.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Temporarily unavailable; try again shortly.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/terms":{"get":{"operationId":"terms","summary":"The rental agreement terms for a home","description":"Cancellation policy, travel insurance, stay limit, house limits and how to reach First Chair.","parameters":[{"name":"home_id","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d+$"},"description":"A home's id, as find returns it."}],"responses":{"200":{"description":"The rental agreement terms for a home","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"A parameter could not be read; the error says which.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"No home with that id.","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"The stay cannot be priced as asked, e.g. longer than the online limit.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Temporarily unavailable; try again shortly.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/link":{"get":{"operationId":"link","summary":"The reservation page with the stay filled in","description":"For the traveler to open and book. This does not book.","parameters":[{"name":"home_id","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d+$"},"description":"A home's id, as find returns it."},{"name":"check_in","in":"query","required":false,"schema":{"type":"string","format":"date","description":"YYYY-MM-DD"}},{"name":"check_out","in":"query","required":false,"schema":{"type":"string","format":"date","description":"YYYY-MM-DD"}},{"name":"adults","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":40,"default":2},"description":"Guests 13 and over."},{"name":"children","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":30,"default":0},"description":"Guests aged 3 to 12."},{"name":"pets","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0},"description":"Dogs travelling with the party."}],"responses":{"200":{"description":"The reservation page with the stay filled in","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"A parameter could not be read; the error says which.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"No home with that id.","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"The stay cannot be priced as asked, e.g. longer than the online limit.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Temporarily unavailable; try again shortly.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/ask":{"get":{"operationId":"ask","summary":"A trip question in plain words","description":"Reads place, dates, party, dogs and bedrooms from the question, says how each was read, and answers with the search it ran.","parameters":[{"name":"question","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A trip question in plain words","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"A parameter could not be read; the error says which.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"No home with that id.","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"The stay cannot be priced as asked, e.g. longer than the online limit.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Temporarily unavailable; try again shortly.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}