Rentals API
Module-gated
The endpoints surfaced from this overview (Products, Bundles, Workshop,
Product Categories) require the supplier to have the Rentals module
enabled. Calls return 403 module_disabled
when it is off. Check GET /supplier/modules
before relying on these endpoints.
The Rentals API allows you to manage your rental products, check availability, calculate pricing, and organize your catalog.
Resourcesโ
| Resource | Description |
|---|---|
| Products | Create and manage rental items and equipment |
| Product Bundles | Group products into packages with optional discounts |
| Availability | Check product availability for date ranges |
| Pricing | Calculate rental prices with seasonal and tiered rates |
| Categories | Organize products into categories |
Common Workflowsโ
Display Products on Your Websiteโ
- List products -
GET /v1/productsto fetch your catalog - Check availability -
POST /v1/availability/productsbefore showing booking options - Calculate pricing -
POST /v1/pricing/calculateto show accurate totals
Manage Your Inventoryโ
- Create products -
POST /v1/productsto add new rental items - Add variations -
POST /v1/products/{id}/variationsfor sizes, colors, etc. - Track inventory -
GET /v1/products/{id}/inventoryto monitor stock levels
Update Pricingโ
- Get current pricing -
GET /v1/products/{id}/pricing - Update pricing rules -
PUT /v1/products/{id}/pricingto change rates - Set seasonal pricing - Configure different rates for peak/off-peak seasons
Create Product Bundlesโ
- Create a bundle -
POST /v1/bundleswith name and pricing type - Add products -
POST /v1/bundles/{id}/itemsto add items with optional discounts - Set pricing - Use
calculated(sum of items) orflat(fixed price)
Key Conceptsโ
Products vs Variationsโ
- Products are your main rental items (e.g., "Mountain Bike")
- Variations are options within a product (e.g., "Small", "Medium", "Large")
- Each variation can have its own inventory count and price adjustment
Inventory Trackingโ
Products can track inventory in two ways:
| Mode | Description |
|---|---|
group | Track total quantity available (e.g., "5 bikes available") |
item | Track individual items with serial numbers |
Pricing Structuresโ
| Structure | Description |
|---|---|
flat_rate | Fixed price per interval (e.g., $50/day) |
tiered | Price decreases for longer rentals (e.g., $50/day for 1-2 days, $40/day for 3+ days) |
dynamic | Price varies based on demand or custom rules |
Product Bundlesโ
Bundles group multiple products into a package:
| Pricing Type | Description |
|---|---|
calculated | Price is sum of individual item prices (with any item discounts) |
flat | Fixed bundle price regardless of item prices |
Each bundle item can have its own discount (percentage or flat). Bundles are bookable when they have at least 2 items.
Quick Examplesโ
List Active Productsโ
curl "https://app.equipdash.com/api/v1/products?status=active" \
-H "Authorization: Bearer YOUR_API_KEY"
Check Availabilityโ
curl -X POST "https://app.equipdash.com/api/v1/availability/products" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_id": 1,
"start_date": "2026-02-15",
"end_date": "2026-02-17",
"quantity": 2
}'
Get Product Pricingโ
curl -X POST "https://app.equipdash.com/api/v1/pricing/product" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_id": 1,
"start_date": "2026-02-15",
"end_date": "2026-02-17",
"quantity": 2
}'
Create a Bundleโ
curl -X POST "https://app.equipdash.com/api/v1/bundles" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Beach Day Package",
"pricing_type": "calculated"
}'
Required Scopesโ
| Scope | Operations |
|---|---|
products:read | List, get products, check availability, get pricing |
products:write | Create, update, delete products and variations |