Race condition when meeting successively ended and deleted

Hi there!

I’m trying to implement following scenario:

  1. Zoom meeting created by my server for specific host and meeting link sent to participants, participants should join meeting without host (“join before host” option enabled).
  2. After some time (~1 hour) all users should be kicked and not able to rejoin this session, host should be able to host other meetings.

So far, i implemented it in a following way:

  1. Server creates meeting by calling POST /v2/users/HOST_ID/meetings with following body:
{
	"start_time": "2019-01-08T15:00:00+03:00",  // or any other time
	"settings": {
		"join_before_host": true
	}
}
  1. After some time (~1h) server updates meeting status by calling PUT v2/meetings/:meetingId/status with following body:
{
	"action": "end"
}

which should kick users from meeting
3. Then server immediately calls DELETE v2/meetings/:meetingId, which should make meeting unjoinable.

Right now this scenario sometimes fails, because on the step 3 i receive status code 400 and error message saying that meeting is in in-progress state and can’t be deleted. For me it looks like some sort of race condition, is there any way to achieve desired scenario without timing hacks around step 3?

Hi @anton

Our server takes a couple minutes to update the meeting from in-progress to end. Right now the workaround would be to wait a couple minutes before deleting the meeting.

Thanks

Hi Michael,
I’m running into this exact issue (changing the status to end, then immediately attempting to delete the meeting). However, I don’t find your workaround to be an adequate solution because users are still able to log back into the meeting after it was ‘ended’. There needs to be a way to permanently prevent people from getting back into the meeting. Perhaps, a single API endpoint that boots everyone and deletes the meeting. Or better yet, a setting on the meeting that only allows people access to join during the meeting’s scheduled time. Thanks.

Hey @nat,

Users should not be able to join the meeting once it has ended if you have the join before host setting turned off.

Thanks,
Tommy