Renta Docs

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/check

Check availability for one or more fleet items. Works with both secret and publishable keys.

Body Parameters:

ParameterTypeRequiredDescription
pickup_datestringDesired pickup date (ISO 8601)
return_datestringDesired return date (ISO 8601)
fleet_item_idsstring[]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:

ReasonDescription
booking_conflictOverlaps with an existing active/confirmed booking
buffer_conflictWithin the buffer period of another booking
maintenanceItem status is maintenance
retiredItem status is retired
blackout_dateFalls within a blackout date range
min_durationRental duration below item's minimum
max_durationRental duration exceeds item's maximum
same_day_restrictionSame-day booking not allowed for this item
notice_requiredInsufficient 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

  1. Check before creating — Always check availability before creating a booking to avoid 409 Conflict errors.
  2. Batch check — Pass multiple item IDs in a single request instead of checking one at a time.
  3. Use storefront endpoint — For customer-facing availability, use GET /v1/storefront/inventory which combines availability with pricing.