Meeting records are currently created and edited whenever a call to getMeetingInfo is made. Using the attributes in the response, the meeting record is created or edited, including being set as "ended".
Calls to getMeetings have a response very similar to the response of getMeetingInfo, including most of the attributes necessary to update meetings or even consider them ended. So these calls could also be used to create/edit meetings.