The Events Resource is used for creating detailed information about events that happen within games. Every event is tied to exactly one game, has a time when it happened, and an ordinal_number that describes it's relative ordering compared to other events in the game. Beyond that, each event specifies a number of other fields that are different depending on the event type. These fields specify things such as what players were involved in the event. Not all of the fields are used for every event and thus you do not need to always specify all fields.
This page lists all of the numbered event types along with a description about what the different parameters represent for that event.
Some events represent very similar things and are described as being a "more specific" type of other events. When creating new events, you only need to create the most specific event type applicable. For instance, if there was an "inbounds caught pull", you would only create an event of type '4' and do not need to create an event of type '1' as well. Being more specific allows us to generate more interesting data, but we realize it is not always practical to be able to input such a high level of detail with every event. Thus, we also have the simpler, less specific events to make inputting information easier.
The player_1_team_id, player_2_team_id, and player_3_team_id fields are only needed if the corresponding players in fields player_1, player_2, or player_3 are not known. These team_id fields exist to allow you to specify which team the player was on even if you do not know exactly which player it is. They are all optional and can be safely left blank if the player is known.