> ## Documentation Index
> Fetch the complete documentation index at: https://docs.happyuptime.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Calendar (iCal)

Subscribe to a schedule from any calendar app via iCal feed.

# Calendar feed

Each schedule has a private, token-scoped iCal feed compatible with Google Calendar, Apple Calendar, Outlook, etc.

## Get feed

GET `/oncall/schedules/{schedule_id}/calendar.ics?token={cal_token}`

Returns standard `text/calendar` (RFC 5545) output. No auth header — auth is via the `token` query param so you can paste the URL into a calendar app.

```
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Happy Uptime//On-Call//EN
BEGIN:VEVENT
UID:lyr_primary-usr_alice-2026-04-17@happyuptime.com
SUMMARY:[Primary] Alice on call
DTSTART:20260417T000000Z
DTEND:20260422T130000Z
DESCRIPTION:Engineering On-Call rotation
END:VEVENT
...
END:VCALENDAR
```

## Generate token

POST `/oncall/schedules/{schedule_id}/calendar/tokens`

```json
{ "data": { "token": "cal_xxx", "url": "https://happyuptime.com/api/v1/oncall/schedules/sch_abc/calendar.ics?token=cal_xxx" } }
```

Tokens are read-only and scoped to one schedule.

## Revoke token

DELETE `/oncall/schedules/{schedule_id}/calendar/tokens/{token}`

Existing subscriptions stop receiving updates.

## Behavior

- Window: next 90 days from the time of request
- Includes overrides and fixed shifts (so calendar matches actual paging)
- Each shift is a discrete `VEVENT`; no `RRULE` recurrence (calendar apps interpret rotations differently)
- Cached for 60 seconds at edge

## See also

[Calendar integration guide](/integrations/calendar) — step-by-step subscribe instructions for Google, Apple, Outlook.