Integrations / Api Overview
API Overview
RentBridge's REST API lets you build custom integrations, automate workflows, and pull data into your own systems. Everything the app can do, the API can do — 60+ endpoints.
Base URL
https://api.rentbridge.ai/api/v1
Authentication
The API uses JWT bearer tokens — the same authentication as the app.
- Log in to get a token:
curl -X POST https://api.rentbridge.ai/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "you@company.com", "password": "..."}'
- Use the returned
access_tokenon every request:
Authorization: Bearer YOUR_ACCESS_TOKEN
Tokens expire after 30 minutes — re-authenticate to get a fresh one. The token carries your organization and role; you only ever see your own organization's data.
Coming soon: long-lived scoped API keys for server-to-server integrations.
Rate Limits
Requests are rate-limited per client:
| Scope | Limit |
|---|---|
Auth endpoints (/auth/*) |
10 requests/minute |
| Support chat | 20 requests/minute |
| Everything else | 100 requests/minute |
Exceeding a limit returns 429 Too Many Requests — back off and retry.
Response Format
Responses are plain JSON objects (or arrays) — no envelope:
{
"id": "…",
"rental_number": "R-2026-0042",
"status": "reserved",
"total": 1140.00
}
Errors use standard HTTP status codes with a detail field:
{ "detail": "Rental not found" }
| Code | Meaning |
|---|---|
| 200 / 201 | Success / created |
| 400 | Bad request — check your parameters |
| 401 | Missing or expired token |
| 403 | Your role can't access this (e.g., platform dashboard needs admin/owner) |
| 404 | Not found (or not in your organization) |
| 422 | Validation error — the response details which field |
| 429 | Rate limited |
Core Resources
Equipment — /equipment
CRUD plus AI helpers:
GET /equipment·POST /equipment·GET|PUT|DELETE /equipment/{id}PATCH /equipment/{id}/status— status-only updateGET /equipment/{id}/recommended-price— AI pricing recommendationGET /equipment/{id}/maintenance-prediction— AI maintenance predictionPOST /equipment/smart-search— filtered availability searchGET /equipment/import/template— CSV import template
Rentals & Booking Flow — /rentals
GET /rentals·POST /rentals·GET|PUT|DELETE /rentals/{id}POST /rentals/{id}/transition— validated status transition (quote → reserved → active → returned → closed, cancel pre-active). Handles equipment status, settlement creation, and learning feedback automatically.
Dynamic Pricing — /pricing
POST /pricing/quote— live quote: base rate × demand multiplier × seasonal adjustment − duration discount
Insurance — /insurance
POST /insurance/rentals/{rental_id}/quotes— generate partner quotes (idempotent)POST /insurance/quotes/{quote_id}/purchase— bind a policyGET /insurance/commission-summary— commission earned + attach rate
Settlements — /settlements
GET /settlements·GET /settlements/summary— GMV, commission, payouts, deposits heldPOST /settlements/rentals/{rental_id}— create settlement (idempotent)POST /settlements/{id}/payout— Branch instant payoutPOST /settlements/{id}/deposit/release— release or forfeit escrowed deposit
Customers, Locations, Maintenance
Standard CRUD at /customers, /locations, /maintenance, plus per-customer reports (/customers/{id}/reports/rental-history, /customers/{id}/reports/spend-analytics).
Fleet & Analytics
GET /fleet/overview·GET /fleet/map·GET /fleet/alerts·PATCH /fleet/{id}/statusGET /analytics/fleet— utilization, revenue MTD, top equipmentGET /reports/equipment-performance·GET /reports/export— CSV export
AI Agents — /agents
POST /agents/utilization·POST /agents/pricing/{equipment_id}·POST /agents/maintenance/check·POST /agents/report
Learning Loops — /learning
GET /learning/status·GET /learning/insights/{loop}·POST /learning/process
Dashboards — /dashboards
GET /dashboards/owner·GET /dashboards/renter/{customer_id}·GET /dashboards/platform(admin/owner only)
Example: Quote and Book a Rental
# 1. Get a dynamic quote
curl -X POST https://api.rentbridge.ai/api/v1/pricing/quote \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"equipment_id": "…", "start_date": "2026-08-01", "end_date": "2026-08-10"}'
# 2. Create the rental (status: quote)
curl -X POST https://api.rentbridge.ai/api/v1/rentals \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"customer_id": "…", "equipment_id": "…", "start_date": "2026-08-01", "expected_end_date": "2026-08-10"}'
# 3. Advance it through the booking flow
curl -X POST https://api.rentbridge.ai/api/v1/rentals/{id}/transition \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"new_status": "reserved"}'
Best Practices
- Use the transition endpoint for status changes — it enforces the state machine and triggers settlements/learning correctly; don't PUT the status field directly
- Idempotent by design: insurance quote generation and settlement creation are safe to retry
- Respect rate limits: batch with list endpoints and filters rather than per-item calls
- Never commit credentials — keep login credentials and tokens in environment variables
Coming Soon
- Long-lived scoped API keys
- Outbound webhooks (see Webhooks)
- Official SDKs (Node.js, Python)
Support
Questions about the API? Contact support via the Help icon in your dashboard or email support@rentbridge.ai.
Last updated: April 2026