add event API (schedule or cancel events)