Calendar
Calendar and event management
📄️ List all system calendars
Returns built-in system calendars (birthdays, anniversaries, events).
📄️ Get events from a system calendar
Get events from a system calendar
📄️ Get a single event from a system calendar
Get a single event from a system calendar
📄️ Get system calendar events in FullCalendar format
Get system calendar events in FullCalendar format
📄️ List user-created calendars
Returns all user calendars. Optionally filter by ID using GET /calendars/{id}.
📄️ Create a new calendar
Create a new calendar
📄️ Get a specific user calendar
Get a specific user calendar
📄️ Delete a user calendar
Delete a user calendar
📄️ Get user calendar events in FullCalendar format
Get user calendar events in FullCalendar format
📄️ Get events for a user calendar
Get events for a user calendar
📄️ Generate a new public access token for a calendar
Generate a new public access token for a calendar
📄️ Remove the public access token from a calendar
Remove the public access token from a calendar
📄️ Get today's event counters for the dashboard menu badges
Returns counts of upcoming birthdays, anniversaries, and events used to populate navigation badge counts.
📄️ List all events
Returns all calendar events with their linked group associations.
📄️ Create a new event
Create a new event
📄️ List all event types
List all event types
📄️ Get an event by ID
Get an event by ID
📄️ Update an existing event
Update an existing event
📄️ Delete an event
Delete an event
📄️ Get an event's primary contact person
Get an event's primary contact person
📄️ Get an event's secondary contact person
Get an event's secondary contact person
📄️ Get an event's location
Get an event's location
📄️ Get an event's audience (linked groups)
Get an event's audience (linked groups)
📄️ Create a series of repeat events
Generates individual event records for each occurrence of a recurring event within a date range. Each created event is independently editable.
📄️ Update an event's start and end times
Update an event's start and end times
📄️ Activate or deactivate an event
Activate or deactivate an event
📄️ Quick-create an event from EventType defaults
Creates an event with minimal input, using EventType defaults for title, time, and group. **At least one of eventTypeId or groupId is required.** If only groupId is provided, the event type is auto-detected from the group's linked EventType. If an event of the same type already exists for the given date, returns the existing event instead.
📄️ Get today's events with attendance stats
Get today's events with attendance stats
📄️ Get group members with attendance status for an event
Returns all members of groups linked to this event, along with their check-in/check-out status.
📄️ Check in a person to an event via AJAX
Check in a person to an event via AJAX
📄️ Check out a person from an event via AJAX
Check out a person from an event via AJAX
📄️ Batch check-in all group members for an event
Batch check-in all group members for an event
📄️ Batch check-out all checked-in people from an event
Batch check-out all checked-in people from an event
📄️ Batch check-in a list of people for an event
Used by Family View 'Check In Family' (#6838) and any other UI that needs to check in a known set of people. Each ID is processed via Event::checkInPerson() which creates timeline notes and timestamps.
📄️ Delete a person's attendance record from an event
Delete a person's attendance record from an event
📄️ Generate recurring events from an EventType's recurrence settings
Creates multiple events between startDate and endDate based on the EventType's recurrence pattern (weekly, monthly, or yearly). Optionally skips dates where an event of the same type already exists.
📄️ List past events that are still marked active
Returns every event whose end date has passed but which is still marked Active. Each row includes the count of attendees still checked in (no checkout). This is the audit set — anything in this list represents an event that was never properly closed, regardless of whether anyone forgot to check out.
📄️ Batch close stuck events
For each event id provided, checks out anyone still checked in and marks the event inactive. Idempotent — events that are already closed/empty are skipped.