---
title: "Quote a stay"
method: POST
path: "/v1/properties/{property_id}/quotes"
tags: ["Quotes"]
---

# Quote a stay

`POST /v1/properties/{property_id}/quotes`

## Request

- Base URL: `https://threshold.rentals/api`
- URL: `https://threshold.rentals/api/v1/properties/{property_id}/quotes`
- Auth: one of:
  - none
  - HTTP bearer

Binding price for dates and a party, after re-checking the host's calendars. Includes line items, booking mode, payment terms, refund schedule and house rules. Valid until expires_at. If the dates are taken, the 409 lists nearby alternatives.

## Path parameters

- `property_id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- QuoteRequest
  - `check_in` string, date, required
  - `check_out` string, date, required
  - `party` Party
    - `adults` integer
    - `children` integer
    - `infants` integer
    - `pets` integer
    - `service_animals` integer

## Response `201`

The quote

- Quote
  - `id` string
  - `property_id` string
  - `status` 'open' | 'expired' | 'converted'
  - `check_in` string, date
  - `check_out` string, date
  - `check_in_time` string
  - `check_out_time` string
  - `nights` integer
  - `party` Party
    - `adults` integer
    - `children` integer
    - `infants` integer
    - `pets` integer
    - `service_animals` integer
  - `line_items` object[]
    - `code` string
    - `label` string
    - `amount` Money
      - `amount` integer, required: In cents
      - `currency` string, required
  - `total` Money
    - `amount` integer, required: In cents
    - `currency` string, required
  - `due_now` Money
    - `amount` integer, required: In cents
    - `currency` string, required
  - `compare_at` CompareAt: Only when the host passes savings on: an estimate of the same stay on the host's main booking site. Present it as an estimate.
    - `site` string
    - `estimated_total` Money
      - `amount` integer, required: In cents
      - `currency` string, required
    - `savings` Money
      - `amount` integer, required: In cents
      - `currency` string, required
    - `basis` string
  - `security_hold` Money
    - `amount` integer, required: In cents
    - `currency` string, required
  - `damage_deposit` object: Present when the stay carries a damage deposit handled by Threshold. Nothing is held: the card the guest pays with is kept on file and charged, up to `amount`, only if the host reports damage within `claim_window_days` of check-out and the claim is upheld. Tell the guest this before they book (it is also the last item of house_rules).
  - `booking_mode` 'instant' | 'host_confirms'
  - `confirm_within_minutes` integer: host_confirms only
  - `payment` object: Who collects payment and when the card is charged. Tell the guest note.
    - `collected_by` 'threshold' | 'host'
    - `merchant_of_record` 'threshold' | 'host'
    - `methods` string[]
    - `checkout` string
    - `plan` 'full' | 'pay_later'
    - `authorized_at_request` Money
      - `amount` integer, required: In cents
      - `currency` string, required
    - `charged_on` 'booking' | 'host_acceptance'
    - `charge_date` string, date-time
    - `note` string
  - `cancellation` object
    - `code` string
    - `summary` string
    - `refund_schedule` RefundTier[]
      - `until` string, date-time: Cancel before this time…
      - `refund` Money
        - `amount` integer, required: In cents
        - `currency` string, required
  - `house_rules` string[]: Show these to the guest before requestBooking
  - `guest_verification` string
  - `availability_checked_at` string, date-time
  - `expires_at` string, date-time

## Other responses

- `400`: Invalid input (e.g. invalid_dates, unknown_amenity, place_not_found)
- `404`: Not found (property_not_found, quote_not_found, booking_not_found)
- `409`: Conflict (dates_unavailable with alternatives, quote_converted, refund_changed, not_cancellable, stay_started)
- `422`: The stay or guest details don't meet the listing's rules (e.g. min nights, max guests, house_rules_not_accepted)
- `429`: Rate limited or too many open requests: see Retry-After

---

[API](https://skmtc.dev/threshold/apis/threshold-stays-api.md) · [All operations](https://skmtc.dev/threshold/apis/threshold-stays-api/llms.txt) · [OpenAPI document](https://skmtc.dev/threshold/apis/threshold-stays-api/revisions/7acf3ae91b56?raw)
