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.