Skip to content

iCal Feeds

Every calendar has a public iCal feed URL. This endpoint serves RFC 5545 iCalendar data without API key authentication — the URL token is the access control.

GET /ical/:ical_token.ics
Terminal window
curl https://api.chronary.ai/ical/abc123def456.ics
Content-Type: text/calendar; charset=utf-8
ETag: "a1b2c3d4"
Cache-Control: public, max-age=300
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Chronary//API//EN
BEGIN:VEVENT
DTSTART:20260407T140000Z
DTEND:20260407T143000Z
SUMMARY:Strategy sync with Acme Corp
...
END:VEVENT
END:VCALENDAR

The feed supports ETags. Send If-None-Match to avoid re-downloading unchanged data:

Terminal window
curl https://api.chronary.ai/ical/abc123def456.ics \
-H "If-None-Match: \"a1b2c3d4\""

Returns 304 Not Modified if the feed hasn’t changed.

  • Edge cache TTL: 5 minutes
  • ETag support for conditional requests
  • Rate limited by IP address
StatusCause
404Invalid or expired token
429IP rate limit exceeded

The ical_url is returned when you create or retrieve a calendar:

Terminal window
curl https://api.chronary.ai/v1/calendars/cal_x1y2z3 \
-H "Authorization: Bearer chr_sk_test_your_key_here"

The response includes:

{
"ical_url": "https://api.chronary.ai/ical/abc123def456.ics"
}

See the iCal Feeds guide for instructions on subscribing from Google Calendar, Apple Calendar, and Outlook.