Calendar API
Generate and manage iCal feeds for booking calendars.
The Calendar API generates iCal feeds that sync bookings with Google Calendar, Apple Calendar, Outlook, and other calendar apps.
Calendar feed endpoints require the admin scope. The feed URLs themselves are public (authenticated by token).
List Calendar Feeds
GET /v1/calendar/feedsconst feeds = await renta.calendar.feeds.list();
for (const feed of feeds.data) {
console.log(`${feed.name}: ${feed.feed_url}`);
}curl https://api.getrenta.io/v1/calendar/feeds \
-H "Authorization: Bearer renta_sk_live_..."Response:
{
"data": [
{
"id": "cf_abc123",
"name": "All Bookings",
"token": "tok_feed_xyz",
"filters": {},
"feed_url": "https://api.getrenta.io/v1/calendar/feed?token=tok_feed_xyz",
"created_at": "2026-03-01T10:00:00Z",
"last_accessed_at": "2026-03-31T08:00:00Z"
}
]
}Create Calendar Feed
POST /v1/calendar/feedsBody Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | — | Feed name (default: "Booking Calendar") |
filters | object | — | Filter bookings in the feed |
filters.status | string[] | — | Only include bookings with these statuses |
filters.location_id | string | — | Only include bookings at this location |
const feed = await renta.calendar.feeds.create({
name: 'Confirmed Bookings',
filters: {
status: ['confirmed', 'active'],
},
});
console.log(`Feed URL: ${feed.feed_url}`);
// → "https://api.getrenta.io/v1/calendar/feed?token=tok_feed_xyz"curl -X POST https://api.getrenta.io/v1/calendar/feeds \
-H "Authorization: Bearer renta_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Confirmed Bookings",
"filters": {
"status": ["confirmed", "active"]
}
}'Get Calendar Feed
GET /v1/calendar/feeds/:idconst feed = await renta.calendar.feeds.get('cf_abc123');curl https://api.getrenta.io/v1/calendar/feeds/cf_abc123 \
-H "Authorization: Bearer renta_sk_live_..."Regenerate Feed Token
POST /v1/calendar/feeds/:id/regenerateGenerates a new token for the feed, invalidating the old feed URL.
const feed = await renta.calendar.feeds.regenerate('cf_abc123');
console.log(`New feed URL: ${feed.feed_url}`);curl -X POST https://api.getrenta.io/v1/calendar/feeds/cf_abc123/regenerate \
-H "Authorization: Bearer renta_sk_live_..."Delete Calendar Feed
DELETE /v1/calendar/feeds/:idawait renta.calendar.feeds.del('cf_abc123');curl -X DELETE https://api.getrenta.io/v1/calendar/feeds/cf_abc123 \
-H "Authorization: Bearer renta_sk_live_..."Using the Feed URL
The feed URL returns standard iCal (.ics) format. Add it to any calendar app:
- Copy the feed URL from the API response
- In Google Calendar: Other calendars → From URL → Paste URL
- In Apple Calendar: File → New Calendar Subscription → Paste URL
- Calendar apps refresh automatically (typically every 4-12 hours)
Feed tokens provide read-only access to booking data. Treat them as sensitive — anyone with the token can view bookings in that feed.