Using colors a a single way to differentiate elements does eventually exclude color blind users. So it might be a good idea to us a second recognition to the elements. Something like a icon (if event types can be clearly associated with a symbol) or maybe even a label. Since we do not have a design you already made it is difficult to give a suggestion.
So to your question: I would say it depends on your users. You probably should test your design with real users. You will find out very fast if the miss a color key or other means of finding out what the meaning of the color is.
You might find out, that users do not care about the event types but only on the event time. Or the opposite that the event type is crucial. If so depending on the color only (as stated above) might be too less.
So alternatives to a color key could be a tool tip on the event. This might work well for users who use your system often since they will learn to connect the colors with the event types and will not be dependent to the tool tip after a while. If not so a color key would probably be the better choice since users will always depend on that information.