There are many answers online on how to hide old events from iCloud calendars, but not many on how to actually delete them. From the settings, it appears to not be possible to do automatically. There may be, however, a command-line way to do it. I’m looking for something that doesn’t rely on AppleScript to call the Calendar app and doing it there, as I’ve gotten mixed results with such solutions, and would rather not invoke a GUI.

  • what criteria will be used to Delete?
    – Ruskes
    Jan 28, 2015 at 16:56
  • @Buscar웃 Forgot to write that, apparently. I want to delete events older than X (lets say 15) days.
    – user137369
    Jan 29, 2015 at 13:35
  • @Buscar웃 On second look, it’s on the first sentence that I want to delete old events.
    – user137369
    Jan 29, 2015 at 13:36
  • sorry, I missed that, so you mean to delete all "past" events.
    – Ruskes
    Jan 29, 2015 at 17:03
  • @Buscar웃 Yes, precisely.
    – user137369
    Jan 29, 2015 at 17:11

1 Answer 1


Since iCloud is based on CalDAV, this shouldn’t be too hard. Deleting an event boils down to a simple HTTP request, e.g.:

DELETE /calendars/johndoe/home/132456762153245.ics HTTP/1.1
If-Match: "2134-314"

This project on GitHub could serve as a good starting point: jcs/iclouddav

  • Thank you, but I’m looking for a more ready-made solution (or at the very least one with more documentation). I’ll still take a look, though.
    – user137369
    Jan 29, 2015 at 13:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .