Update availability — set prices, block/unblock dates
Availability · PUT /v1/availability/:propertyId
Update availability — set prices, block/unblock dates
PUT
/v1/availability/:propertyIdNote
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
datesarrayRequiredNights to write, as ISO dates: `["2026-06-01", "2026-06-02"]`. Max 731 — Airbnb refuses calendar writes spanning more.
availablebooleanOpen or block the nights
pricenumberThe listing's own nightly rate. Each channel adds its markup when the price is sent to it.
minNightsintegerMinimum stay for an arrival on these nights
maxNightsintegerMaximum stay for an arrival on these nights
AI