Skip to content

Calendar recurring series and instances

Set rrule only when creating an event. Supported frequencies are DAILY, WEEKLY, MONTHLY, and YEARLY; supported components are FREQ, INTERVAL, COUNT, BYDAY, BYMONTHDAY, BYSETPOS, BYMONTH, and UNTIL. Components such as BYHOUR or WKST return invalid_arguments. The update action does not expose rrule. DST and local wall-clock expansion belong to the RRULE engine; never invent a five-field cron expression.

An occurrence is addressed as <parentUUID>_<YYYYMMDDTHHMMSSZ>, where the timestamp is its original UTC start. List/get results expose isRecurringInstance, recurringEventId, originalStart, and instanceId. Supplying an instance-form event ID or updateScope selects the recurring path. this and thisAndFuture require an instance ID; all may use the parent UUID. If an instance call omits scope, add the intended scope and retry.

Update this adds an EXDATE to the parent and creates an exception row with its own UUID. Update thisAndFuture truncates the old parent with UNTIL and creates a new series; use the new series ID afterward. Update all changes the parent for the whole series. Delete this adds an EXDATE, delete thisAndFuture truncates UNTIL, and delete all soft-deletes the parent and series rows. An exception with no reminder override inherits the parent reminders.

arinova.calendar.list_events, arinova.calendar.get_event, arinova.calendar.create_event, arinova.calendar.update_event, arinova.calendar.delete_event

Also known as

recurring calendar event, recurring instance, RRULE, instanceId, updateScope, deleteScope, this and future, recurring series


Machine-readable Markdown · Knowledge index

Build a7f47a5ca54ddcf7806cd48b81ce1b9827042766