Calendar views
Owl ships a JSON endpoint shaped for FullCalendar, so you can build month, week, day and list views with a few lines of JavaScript. Demo templates are included to start from.
The JSON endpoint
Request occurrences in a date range as FullCalendar-ready events:
GET /owl/events.json?start=2026-07-01&end=2026-08-01&calendar=concerts
Each item includes the occurrence’s title, start and end (ISO-8601, UTC), url and its calendar color — exactly what FullCalendar expects.
Wiring up FullCalendar
FullCalendar automatically passes start and end query parameters as the user navigates, so Owl only ever returns the visible window — fast, because occurrences are pre-materialised rows.
Building views in Twig instead
You don’t have to use FullCalendar. Because occurrences are plain queryable rows, you can render a month grid, an agenda list, or anything else directly in Twig with craft.owl.events(). Use the JSON endpoint when you want an interactive, client-rendered calendar; use Twig when you want server-rendered markup.