This command creates new events and modifies existing events. You can not add and modify events in the same command. You must do one or the other.
Each case requires a different set of parameters :
To create new events requires only the dtstart parameter.
Every other parameter is optional. The server generates the uid.
To modify existing events requires two parameters:
uid
mod
All other parameters are optional. If a parameter is not specified, the event retains the previous value of the property.