MOVE, not copied and deleted, so it keeps its uid, attendees, reminders, every changed occurrence of a recurring series, and any property another calendar app wrote. Attendees are not notified.
To change when an event happens (“move the meeting to 3 pm”), use update_calendar_event. The destination calendar must already exist; create one with create_calendar.
Parameters
string[]
required
The events to move, by the
uid list_calendar_events shows. 1–50 per call; duplicates are collapsed. A recurring event moves as a whole series, including its changed occurrences — a single occurrence cannot be filed on a different calendar from the rest of its series.string
required
The destination: its name, matched ignoring case, or its CalDAV URL from
list_calendars. Calendars are never created here.string
Only needed when a
uid exists in more than one calendar: the calendar to move it out of, by name or URL. Omit it otherwise; each event is found wherever it is.Example
Call
Result
Outcomes per event
- Moved — the event now lives in the destination calendar.
- Already in — nothing to do: the event is in the destination and in no other calendar.
- Not moved — nothing changed for that event. The reason is one of
notFound,ambiguous(passfromCalendar),duplicateoruidConflict(the destination already holds a separate copy with the sameuid; the reason names both calendars’ URLs so the unwanted copy can be deleted withdelete_calendar_event, and warns when the event has attendees, because deleting either copy sends them a cancellation),nameConflict,forbidden, orfailed. - Outcome unknown — the connection broke off before the server answered, so the event may have moved. Re-run with those uids.
- Not attempted — the call ran out of time. Re-run with those uids.
Errors
Every error leaves every event where it was.No calendar named "…"orNo calendar at …— the destination (orfromCalendar) matched nothing. The error lists every calendar with its URL.2 calendars are named "…"— the name is ambiguous. Pass the URL of the one you mean.fromCalendar and calendar both name "…"— pass the calendar the events are in now, or omitfromCalendar.Could not read "…"— the destination calendar could not be listed. Re-run later.