Renvo
API docs
Resource

Rentals

A booking of a vehicle by a customer. Use to push rentals from your own intake or to sync them out to a calendar.

The rental object

id
string (uuid)
Unique identifier.
object
string
Always `"rental"`.
booking_id
string
External booking reference.
customer_id
string (uuid)
Renting customer.
vehicle_id
string (uuid)
Reserved vehicle.
start_date
string (date)
Pickup date.
end_date
string (date)
Return date.
rental_days
integer
Number of nights.
pickup_type
string
`pickup` or `delivery`.
delivery_location
string
Delivery address if applicable.
final_price
number
Locked-in total price.
status
string
`NEW`, `APPROVED`, `ACTIVE`, `COMPLETED`, `CANCELLED`.
created_at
string (iso8601)
Creation time.
Webhook events

Subscribe to receive notifications when rental resources change:

rental.createdrental.updatedrental.completedrental.cancelled

Endpoints

GET/v1/rentalsscope: read

List rentals

Query parameters
status
string
Filter by status.
customer
string (uuid)
Filter by customer.
limit
integer
Default 20. Max 100.
starting_after
string
Cursor.
Request
curl -X GET 'https://userenvo.com/api/v1/rentals' \
  -H 'Authorization: Bearer rv_live_…'
Response
{
  "object": "list",
  "has_more": false,
  "next_cursor": null,
  "data": [
    {
      "object": "rental",
      "id": "re_…",
      "customer_id": "cu_…",
      "vehicle_id": "a4…",
      "status": "NEW"
    }
  ]
}
GET/v1/rentals/{id}scope: read

Retrieve a rental

Path parameters
idrequired
string
Rental id.
Request
curl -X GET 'https://userenvo.com/api/v1/rentals/a4d2e1c0-9b…' \
  -H 'Authorization: Bearer rv_live_…'
Response
{
  "object": "rental",
  "id": "re_…",
  "status": "APPROVED"
}
POST/v1/rentalsscope: read_write

Create a rental

Body parameters
customer_idrequired
string
Renting customer.
vehicle_idrequired
string
Reserved vehicle.
start_date
string (date)
Pickup date (YYYY-MM-DD).
end_date
string (date)
Return date.
final_price
number
Locked total price.
status
string
Defaults to `NEW`.
Request
curl -X POST 'https://userenvo.com/api/v1/rentals' \
  -H 'Authorization: Bearer rv_live_…' \
  -H 'Content-Type: application/json' \
  -d '{
       "customer_id": "<customer_id>",
       "vehicle_id": "<vehicle_id>",
       "start_date": "<start_date>"
     }'
Response
{
  "object": "rental",
  "id": "re_…",
  "status": "NEW"
}
PATCH/v1/rentals/{id}scope: read_write

Update a rental

Setting `status` to `COMPLETED` or `CANCELLED` triggers the corresponding webhook event.

Path parameters
idrequired
string
Rental id.
Body parameters
status
string
New status.
damage_at_return
boolean
Mark damage on return.
Request
curl -X PATCH 'https://userenvo.com/api/v1/rentals/a4d2e1c0-9b…' \
  -H 'Authorization: Bearer rv_live_…' \
  -H 'Content-Type: application/json' \
  -d '{
       "status": "<status>",
       "damage_at_return": true
     }'
Response
{
  "object": "rental",
  "id": "re_…",
  "status": "COMPLETED"
}