Skip to the documentation
API

Calendar subscriptions

Other calendars you subscribe to by link, whose events show on your calendar read-only.

POST/calendar/subscriptions

Runs any of 5 calls on your workspace.

POST /calendar/subscriptions

Other calendars you subscribe to by link, whose events show on your calendar read-only.

Subscribe

Needs calendar:write. url is an https, http or webcal link to an iCalendar file, and name defaults to the name the calendar gives itself.

curl
curl -X POST "$OE/calendar/subscriptions" -H "$AUTH" -H 'content-type: application/json' -d '{ "url": "webcal://example.com/holidays.ics", "color": "green" }'
Response
{  "object": "calendar_subscription",  "id": "csb_8d3f0a2b9c4e41f7a6b5c2d1",  "name": "Public holidays",  "url": "https://example.com/holidays.ics",  "color": "green",  "status": "active",  "lastError": null,  "eventCount": 24,  "lastSyncedAt": "2026-10-10T12:00:03.000Z",  "lastFetchedAt": "2026-10-10T12:00:03.000Z",  "createdAt": "2026-10-10T12:00:01.000Z"}

The calendar is read at once and then about every 30 minutes. GET /calendar/subscriptions lists them, PATCH /calendar/subscriptions/{id} renames one or changes its color, POST /calendar/subscriptions/{id}/refresh reads one again now, and DELETE /calendar/subscriptions/{id} removes it with its events.

A link that does not answer with a calendar is a 422 calendar_subscription_unreadable, one you already subscribe to a 409 calendar_subscription_exists, and a refresh within a minute of the last read a 429 calendar_subscription_refresh_too_soon. status turns failing while reads fail and stopped after ten failures in a row, with the reason in lastError.

Events from a subscription carry its subscriptionId and cannot be changed, which is a 403 event_read_only. A key limited to some addresses or domains is a 422 capability_unsupported.

Reference