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.

More in Site Features

Pairs well with Owl

The bigger pieces a client asks for by name. Events, bookings, memberships, courses, reviews, a support desk, job listings and the rest.