Profile
ideveryday_iddisplay_namedescriptionprofile_image_urlheader_image_urlis_privatefeatured_event_iddefault_event_duration_minutescreated_atupdated_atProfileCreate
everyday_iddisplay_namedescriptionprofile_image_urlheader_image_urlis_privateProfileUpdate
display_namedescriptionprofile_image_urlheader_image_urlis_privateEvent
idtitledescriptionlocationstart_timeend_timestart_timezoneend_timezonerecurrence_rulestatusslugimage_urlis_all_dayis_privaterequire_rsvprequire_paymentcancellation_reasoncancelled_atis_rescheduledcreated_atupdated_atEventCreate
titleprofile_idRequired when calling POST /v1/events; inferred from path when calling POST /v1/profiles/{profile_id}/events.
descriptionlocationstart_time^\d{4}-\d{2}-\d{2}[T…Event start time. Recommended: a naive local time (no offset) interpreted in start_timezone — e.g. "2026-06-06T09:30:00". An offset-bearing RFC 3339 value (e.g. "2026-06-06T09:30:00-04:00") is also accepted. Must be sent together with start_timezone. Omit for all-day events (use start_date).
end_time^\d{4}-\d{2}-\d{2}[T…Event end time, same formats as start_time. When present, must be sent together with end_timezone. Omit for all-day events (use end_date).
start_timezoneIANA timezone name (e.g. "America/New_York") for start_time. Required. Used for display, outbound calendar sync, and recurrence expansion; it does not reinterpret an explicit offset in start_time. Must not be null.
end_timezoneIANA timezone name for end_time. Independent of start_timezone (e.g. a NYC→LA flight). Must be sent together with end_time and must not be null. When omitted on create, the platform fills it from start_timezone.
start_date^\d{4}-\d{2}-\d{2}$All-day start date (YYYY-MM-DD, date only). Required when is_all_day is true; do not send with start_time/end_time.
end_date^\d{4}-\d{2}-\d{2}$All-day end date (YYYY-MM-DD), EXCLUSIVE — the event spans up to but not including this date. Optional; defaults to start_date + 1 day (single day) and must be after start_date (multi-day allowed).
recurrence_ruleslugURL slug for the event. Optional — when omitted the platform derives one from the title and start time (evaluated in start_timezone). Reserved values (history, previous, s) are rejected.
image_urlis_all_dayis_privaterequire_rsvprequire_paymentEventUpdate
titledescriptionlocationstart_time^\d{4}-\d{2}-\d{2}[T…Event start as an RFC 3339 date-time. When present, must be sent together with start_timezone.
end_time^\d{4}-\d{2}-\d{2}[T…Event end as an RFC 3339 date-time. When present, must be sent together with end_timezone.
start_timezoneIANA timezone name for start_time. Required when start_time is present (they must travel together). Used for display, outbound calendar sync, and recurrence expansion. Must not be null. Omit to leave unchanged.
end_timezoneIANA timezone name for end_time. Independent of start_timezone. Required when end_time is present. Must not be null. Omit to leave unchanged; no cascade from a start_timezone change.
start_date^\d{4}-\d{2}-\d{2}$All-day start date (YYYY-MM-DD, date only). Required when is_all_day is true; do not send with start_time/end_time.
end_date^\d{4}-\d{2}-\d{2}$All-day end date (YYYY-MM-DD), EXCLUSIVE — the event spans up to but not including this date. Optional; defaults to start_date + 1 day (single day) and must be after start_date (multi-day allowed).
recurrence_ruleslugimage_urlis_all_dayis_privaterequire_rsvpEventReschedule
start_time^\d{4}-\d{2}-\d{2}[T… · requiredNew event start as an RFC 3339 date-time. Must be sent together with start_timezone.
end_time^\d{4}-\d{2}-\d{2}[T…New event end as an RFC 3339 date-time. When present, must be sent together with end_timezone.
start_timezoneIANA timezone name for the new start_time. Required (reschedule always sets start_time). Must not be null.
end_timezoneIANA timezone name for the new end_time. Independent of start_timezone. Required when end_time is present. Must not be null.
Series
idnameslugdescriptionis_privatecreated_atupdated_atSeriesCreate
nameslugdescriptionis_privateRsvp
iduser_idattendee_user_idattendee_emailattendee_first_nameattendee_last_namestatusrsvp_typenum_guestscreated_atupdated_atRsvpCreate
statusattendee_user_idattendee_emailattendee_first_nameattendee_last_namersvp_typenum_guestsRsvpStats
event_idgoingmaybenot_goingwaitlisttotal_attendeesRsvpSettings
idenable_capacity_limitcapacity_limitallow_waitlistallow_multiple_attendeesallow_notificationsRsvpSettingsUpdate
enable_capacity_limitcapacity_limitallow_waitlistallow_multiple_attendeesallow_notificationsCalendar
idnamedescriptioncoloris_defaultcreated_atupdated_atCalendarEvent
idtitledescriptionlocationstart_timeend_timestart_timezoneend_timezoneis_all_dayrecurrence_rulestatuscreated_atupdated_atCalendarEventCreate
titledescriptionlocationstart_time^\d{4}-\d{2}-\d{2}[T…Event start time. Recommended: a naive local time (no offset) interpreted in start_timezone — e.g. "2026-06-06T09:30:00". An offset-bearing RFC 3339 value is also accepted. Must be sent together with start_timezone. Omit for all-day events (use start_date).
end_time^\d{4}-\d{2}-\d{2}[T…Event end time, same formats as start_time. When present, must be sent together with end_timezone. Omit for all-day events (use end_date).
start_timezoneIANA timezone name for start_time. Required. Used for display and recurrence; not used to reinterpret an explicit offset. Must not be null.
end_timezoneIANA timezone name for end_time. Independent of start_timezone. Required when end_time is present. Must not be null.
start_date^\d{4}-\d{2}-\d{2}$All-day start date (YYYY-MM-DD, date only). Required when is_all_day is true; do not send with start_time/end_time.
end_date^\d{4}-\d{2}-\d{2}$All-day end date (YYYY-MM-DD), EXCLUSIVE. Optional; defaults to start_date + 1 day (single day) and must be after start_date (multi-day allowed).
is_all_dayrecurrence_ruleCalendarEventUpdate
titledescriptionlocationstart_time^\d{4}-\d{2}-\d{2}[T…Event start time (naive local + start_timezone recommended; offset-bearing also accepted). When present, must be sent together with start_timezone.
end_time^\d{4}-\d{2}-\d{2}[T…Event end time, same formats as start_time. When present, must be sent together with end_timezone. Omit for all-day events (use end_date).
start_timezoneIANA timezone name for start_time. Required when start_time is present. Used for display and recurrence; not used to reinterpret an explicit offset. Must not be null.
end_timezoneIANA timezone name for end_time. Independent of start_timezone. Required when end_time is present. Must not be null.
start_date^\d{4}-\d{2}-\d{2}$All-day start date (YYYY-MM-DD, date only). Required when is_all_day is true; do not send with start_time/end_time.
end_date^\d{4}-\d{2}-\d{2}$All-day end date (YYYY-MM-DD), EXCLUSIVE. Optional; defaults to start_date + 1 day (single day) and must be after start_date (multi-day allowed).
is_all_dayrecurrence_ruleSubscription
idsubscription_typeis_activeaccess_validinclude_personal_calendarsync_window_startsync_window_endcreated_atupdated_atSubscriptionCreate
subscription_typeprofile_idseries_idtarget_calendar_idinclude_personal_calendarsync_window_startsync_window_endSubscriptionUpdate
is_activesync_window_startsync_window_endFollowCreate
following_typetarget_idPrefixed ID of the target resource.
JsonRpcResponse
jsonrpcRequest id echoed from the JSON-RPC request. May be a string, integer, or null.
resultMethod-specific result payload. Present on successful responses; mutually exclusive with error.
Present on failed responses; mutually exclusive with result.
