Availability
Get availability calendar for a property
/v1/availability/:propertyIdNote
Request
curl https://api.repull.dev/v1/availability/123?from=2026-06-01&to=2026-06-05 \ -H "Authorization: Bearer $REPULL_API_KEY"
Response
{
"propertyId": "123",
"currency": "USD",
"days": [
{
"date": "2026-06-01",
"available": true,
"price": 0,
"minNights": 0
}
],
"coverage": {
"requestedDays": 0,
"coveredDays": 0,
"missingDates": []
}
}Captured from a real response. Regenerated on every release, and CI fails if this shape stops matching the API.
Query Parameters
fromdateRequiredFirst night, inclusive (YYYY-MM-DD)
todateRequiredLast night, inclusive (YYYY-MM-DD)
Update availability — set prices, block/unblock dates
/v1/availability/:propertyIdNote
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
Batch update availability across multiple properties (max 500)
/v1/availability/batchRequest
curl -X PATCH https://api.repull.dev/v1/availability/batch \
-H "Authorization: Bearer $REPULL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"propertyIds": [
123,
124
],
"dates": [
"2026-06-01",
"2026-06-02"
],
"price": 299
}'Response
{
"data": {
"listingIds": [123, 456],
"dates": 1,
"synced": { "attempted": 4, "succeeded": 4, "failed": 0, "authErrors": 0 }
}
}Body Parameters
propertyIdsarrayRequiredProperty ids to write, max 500: `[123, 456]`
datesarrayRequiredNights to write, as ISO dates, applied to every property listed
availablebooleanOpen or block the nights
pricenumberNightly rate
minNightsintegerMinimum stay for an arrival on these nights
maxNightsintegerMaximum stay for an arrival on these nights