Rental API and webhooks
Read and write rental items and orders from your own software with an API key, and get told the moment a rental is confirmed, picked up, returned, late or cancelled.
The API and webhooks are on Business.
API keys
In Settings > API & webhooks, click + New key and name it. Copy the key when it is shown - it is shown only once. A key acts as the person who made it, with that person's Rental role, so a Viewer's key can only read.
Send it as a header:
Authorization: Bearer rnk_...
The address is https://www.ellibo.com/rental/api.php/v1/ followed by the resource. Times are your business's local time, YYYY-MM-DD HH:MM. Each key has a daily limit on calls.
| Call | What it does |
|---|---|
GET /v1/places | Your pickup and return places |
GET /v1/items, GET /v1/items/{id} | Rental items with prices and how many you own |
POST /v1/items | Add a rental item |
GET /v1/orders, GET /v1/orders/{id} | Rental orders with their lines |
POST /v1/orders | Make a quote or a reserved order |
GET /v1/orders/{id}/invoices | The order's invoices |
POST /v1/orders/{id}/payments | Record a payment |
Errors come back with a plain message; a field that is wrong comes back with HTTP 422 and the field's name.
Webhooks
Click + New webhook, give a Name, the Web address and the Events:
| Event | When |
|---|---|
order.confirmed | A rental order is confirmed (reserved) |
order.picked_up | A rental is picked up (or delivered) |
order.returned | A rental is returned |
order.late | A rental is late (not back by its return time) |
order.cancelled | A rental order is cancelled |
Each call is a POST with a JSON body, signed with X-Ellibo-Signature (a sha256 HMAC of "timestamp.body" with your webhook's secret). A call that fails is tried again after 1, 5, 30, 120 and 720 minutes. Use Test to send a sample.