Join URL causes message "The meeting has been ended by host" for meeting created with REST API (JWT) with non-login API-created user as host

Background: I am in the research/design phase for integrating Zoom (via APIs) into an application to provide tightly integrated video conferencing capabilities. The integration will be ochestrated via Zoom API calls made from the application server code (via the Zoom JWT REST API). The issue I ran into in my proof-my-concept phase follows.

Issue: When I create a new meeting and then proceed to join the “join_url” (from Step 2) I get a Zoom dialog with the message: “The meeting has been ended by host”. I use the following API calls to create the meeting (request payloads also included).

Step 1: Create a new user (this will be done once and associated with the app user)
Url: {{baseUrl}}/users?access_token=redacted
Request: {
“action”: “custCreate”,
“user_info”: {
“email”: "app.user1@appdomain.com",
“type”: 1,
“first_name”: “AppUser-1-Firstname”,
“last_name”: “AppUser-1-Lastname”
}
}
Response: {
“id”: “9ArEkBL_R8GhrBuhTAI4Qg”,
“first_name”: “AppUser-1-Firstname”,
“last_name”: “AppUser-1-Lastname”,
“email”: "app.user1@appdomain.com",
“type”: 1
}

Step 2: Create a new meeting
Url: {baseUrl}}/users/cAKbqg_YRf2L-b96otyFTA/meetings?access_token=redacted
Request: {
“topic”: “Instant Meeting”,
“type”: 1,
“password”: “Lz58P<6zRT”,
“settings”: {
“host_video”: true,
“participant_video”: true,
“join_before_host”: true,
“mute_upon_entry”: false,
“audio”: “voip”,
“auto_recording”: “none”,
“enforce_login”: “false”
}
}
Response: {
“uuid”: “jKuaXd3BRrah7Gz+0PuJOg==”,
“id”: 707137908,
“host_id”: “cAKbqg_YRf2L-b96otyFTA”,
“topic”: “Instant Meeting”,
“type”: 1,
“status”: “waiting”,
“timezone”: “America/Los_Angeles”,
“created_at”: “2019-08-28T04:15:55Z”,
“start_url”: “https://zoom.us/s/707137908?zak=redacted”,
“join_url”: “https://zoom.us/j/707137908?pwd=aVNtZVhpN0c4Zjdhd1Z0eVp5MlhlQT09”,
“password”: “Lz58P<6zRT”,
“h323_password”: “878162”,
“pstn_password”: “878162”,
“encrypted_password”: “aVNtZVhpN0c4Zjdhd1Z0eVp5MlhlQT09”,
“settings”: {
“host_video”: true,
“participant_video”: true,
“cn_meeting”: false,
“in_meeting”: false,
“join_before_host”: true,
“mute_upon_entry”: false,
“watermark”: false,
“use_pmi”: false,
“approval_type”: 2,
“audio”: “voip”,
“auto_recording”: “none”,
“enforce_login”: false,
“enforce_login_domains”: “”,
“alternative_hosts”: “”,
“close_registration”: false,
“registrants_confirmation_email”: true,
“waiting_room”: false
}
}

P.S. My company already uses Zoom for our day-to-day video-conferencing (and we love it!) so it was a natural choice to use in an application system we are building.

Thanks in advance.

1 Like

Hi @adi,

For Instant meetings, you will need to make sure the meeting is started by the host first using the start_url, then have the attendees join the meeting using the join_url, since instant meetings does not support participants joining before host.

Let me know if that works for you.

1 Like

Hi @michael_p.zoom, using the start URL did not work either – is this because the meeting host is a non-login user created using the API? What type of user do I need to create via the API to be able to host a meeting? Do I have to become a Zoom partner to create such users, if so how do I start that process?

Thanks again for help.

Hi again @michael_p.zoom – my apologies, I wrote my previous reply from results I recalled from yesterday, There must have been an error on my part, I re-tested today and it works as you mentioned. In other words, using the start URL starts the meeting with the user who created the meeting as the host – this exactly what I need.

Could you also please point to information about the cost of the API license plans required for production use.

Thank you.

Hi @adi,

For information about API license plans you can visit our pricing page.

Let us know if you need anything else.

Thanks

1 Like