Docs/API Reference/Availability

Update availability — set prices, block/unblock dates

Availability · PUT /v1/availability/:propertyId

Update availability — set prices, block/unblock dates

PUT/v1/availability/:propertyId

Note

At least one of available, price, minNights or maxNights is required — a body with none returns 422 rather than a 200 that changes nothing. The write also pushes to every connected channel; `synced` reports what each one did, and `authErrors` counts channels whose connection needs reauthorising rather than retrying. On a listing a connected PMS manages, open/closed nights, the nightly price and the minimum stay are written to the PMS too when the connection's write policy allows it (calendar.availability / rates / restrictions). For Guesty and Hostaway those switches start off — opt in with PATCH /v1/connect/{provider}/write-policy. Guide: /docs/connect/write-policy#calendar

Request

curl -X PUT https://api.repull.dev/v1/availability/123 \
  -H "Authorization: Bearer $REPULL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "dates": [
    "2026-06-01",
    "2026-06-02"
  ],
  "available": false,
  "price": 320
}'

Response

{
  "data": {
    "listingIds": [123],
    "dates": 2,
    "synced": { "attempted": 2, "succeeded": 2, "failed": 0, "authErrors": 0 }
  }
}

Body Parameters

datesarrayRequired

Nights to write, as ISO dates: `["2026-06-01", "2026-06-02"]`. Max 731 — Airbnb refuses calendar writes spanning more.

availableboolean

Open or block the nights

pricenumber

The listing's own nightly rate. Each channel adds its markup when the price is sent to it.

minNightsinteger

Minimum stay for an arrival on these nights

maxNightsinteger

Maximum stay for an arrival on these nights

AI