Availability API
Check fleet item availability for date ranges with conflict detection.
The Availability API checks whether fleet items are available for a given date range, accounting for existing bookings, buffer times, maintenance status, blackout dates, and duration restrictions.
Check Availability
POST /v1/availability/checkCheck availability for one or more fleet items. Works with both secret and publishable keys.
Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
pickup_date | string | ✅ | Desired pickup date (ISO 8601) |
return_date | string | ✅ | Desired return date (ISO 8601) |
fleet_item_ids | string[] | ✅ | Array of fleet item IDs to check |
const availability = await renta.availability.check({
pickup_date: '2026-07-01T09:00:00Z',
return_date: '2026-07-03T17:00:00Z',
fleet_item_ids: ['fi_abc123', 'fi_def456', 'fi_ghi789'],
});
for (const item of availability.data) {
const status = item.available ? '✅ Available' : `❌ ${item.reason}`;
console.log(`${item.fleet_item_id}: ${status}`);
}curl -X POST https://api.getrenta.io/v1/availability/check \
-H "Authorization: Bearer renta_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"pickup_date": "2026-07-01T09:00:00Z",
"return_date": "2026-07-03T17:00:00Z",
"fleet_item_ids": ["fi_abc123", "fi_def456", "fi_ghi789"]
}'Response:
{
"data": [
{
"fleet_item_id": "fi_abc123",
"available": true,
"reason": null
},
{
"fleet_item_id": "fi_def456",
"available": false,
"reason": "booking_conflict",
"conflicting_booking_id": "bk_existing"
},
{
"fleet_item_id": "fi_ghi789",
"available": false,
"reason": "maintenance"
}
]
}Unavailability Reasons
An item is unavailable if any of these conditions apply:
| Reason | Description |
|---|---|
booking_conflict | Overlaps with an existing active/confirmed booking |
buffer_conflict | Within the buffer period of another booking |
maintenance | Item status is maintenance |
retired | Item status is retired |
blackout_date | Falls within a blackout date range |
min_duration | Rental duration below item's minimum |
max_duration | Rental duration exceeds item's maximum |
same_day_restriction | Same-day booking not allowed for this item |
notice_required | Insufficient advance notice |
The availability engine considers buffer_hours between rentals. If an item has buffer_hours: 2, it's marked unavailable for 2 hours after any existing booking's return time.
Best Practices
- Check before creating — Always check availability before creating a booking to avoid
409 Conflicterrors. - Batch check — Pass multiple item IDs in a single request instead of checking one at a time.
- Use storefront endpoint — For customer-facing availability, use
GET /v1/storefront/inventorywhich combines availability with pricing.