POST /users/{userId}/meetings
Create a meeting for a user.
This API has a daily rate limit of 100 requests per day. Therefore, only 100 Create a Meeting API requests are permitted within a 24 hour window for a user.
start_url of a meeting is a URL using which a host or an alternative host can start a meeting. The expiration time for the start_url field is two hours for all regular users.
For custCreate meeting hosts( i.e., users created using the custCreate option via the Create Users API), the expiration time of the start_url field is 90 days from the generation of the start_url.
For security reasons, the recommended way to retrieve the updated value for the start_url field programmatically (after expiry) is by calling the Retrieve a Meeting API and referring to the value of the start_url field in the response.
Scopes:
meeting:write:admin meeting:write
Rate Limit Label: Medium
Servers
- https://api.zoom.us/v2
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
userId |
String | Yes |
The user ID or email address of the user. For user-level apps, pass |
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Request body fields
| Name | Type | Required | Description |
|---|---|---|---|
agenda |
String | No |
Meeting description. |
timezone |
String | No |
Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our time zone list for supported time zones and their formats. |
topic |
String | No |
Meeting topic. |
tracking_fields[] |
Array | No |
Tracking fields |
tracking_fields[].field |
String | Yes |
Label of the tracking field. |
tracking_fields[].value |
String | No |
Tracking fields value |
start_time |
String | No |
Meeting start time. We support two formats for To set time as GMT the format should be To set time using a specific timezone, use The |
recurrence |
Object | No |
Recurrence object. Use this object only for a meeting with type |
recurrence.weekly_days |
String | No |
This field is required if you're scheduling a recurring meeting of type
Valid values:
Default value: "1" |
recurrence.end_date_time |
String | No |
Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".) |
recurrence.end_times |
Integer | No |
Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".) Default value: 1 |
recurrence.type |
Integer | Yes |
Recurrence meeting types: Valid values:
|
recurrence.repeat_interval |
Integer | No |
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as For a daily meeting, the maximum interval you can set is |
recurrence.monthly_day |
Integer | No |
Use this field only if you're scheduling a recurring meeting of type For instance, if you would like the meeting to recur on 23rd of each month, provide Default value: 1 |
recurrence.monthly_week |
Integer | No |
Use this field only if you're scheduling a recurring meeting of type Valid values:
|
recurrence.monthly_week_day |
Integer | No |
Use this field only if you're scheduling a recurring meeting of type
Valid values:
|
password |
String | No |
Passcode to join the meeting. By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters. Note: If the account owner or the admin has configured minimum passcode requirement settings, the passcode value provided here must meet those requirements. |
type |
Integer | No |
Meeting Type: Valid values:
Default value: 2 |
settings |
Object | No |
Meeting settings. |
settings.contact_email |
String | No |
Contact email for registration |
settings.alternative_hosts |
String | No |
Alternative host's emails or IDs: multiple values separated by a comma. |
settings.approved_or_denied_countries_or_regions |
Object | No |
Approve or block users from specific regions/countries from joining this meeting. |
settings.approved_or_denied_countries_or_regions.method |
String | No |
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting. Valid values:
|
settings.approved_or_denied_countries_or_regions.approved_list[] |
Array | No |
List of countries/regions from where participants can join this meeting. |
settings.approved_or_denied_countries_or_regions.enable |
Boolean | No |
|
settings.approved_or_denied_countries_or_regions.denied_list[] |
Array | No |
List of countries/regions from where participants can not join this meeting. |
settings.mute_upon_entry |
Boolean | No |
Mute participants upon entry. Default value: false |
settings.audio |
String | No |
Determine how participants can join the audio portion of the meeting. Valid values:
Default value: "both" |
settings.breakout_room |
Object | No |
Setting to pre-assign breakout rooms. |
settings.breakout_room.rooms[] |
Array | No |
Create room(s). |
settings.breakout_room.rooms[].name |
String | No |
Name of the breakout room. |
settings.breakout_room.rooms[].participants[] |
Array | No |
Email addresses of the participants who are to be assigned to the breakout room. |
settings.breakout_room.enable |
Boolean | No |
Set the value of this field to |
settings.authentication_option |
String | No |
Specify the authentication type for users to join a meeting with |
settings.authentication_domains |
String | No |
Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the meeting. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains. |
settings.global_dial_in_countries[] |
Array | No |
List of global dial-in countries |
settings.host_video |
Boolean | No |
Start video when the host joins the meeting. |
settings.show_share_button |
Boolean | No |
If set to Note: This setting is only applied for meetings that have enabled registration. |
settings.close_registration |
Boolean | No |
Close registration after event date Default value: false |
settings.contact_name |
String | No |
Contact name for registration |
settings.cn_meeting |
Boolean | No |
Host meeting in China. Default value: false |
settings.auto_recording |
String | No |
Automatic recording: Valid values:
Default value: "none" |
settings.waiting_room |
Boolean | No |
Enable waiting room. Note that if the value of this field is set to |
settings.additional_data_center_regions[] |
Array | No |
Enable additional data center regions for this meeting. Provide the value in the form of array of country code(s) for the countries which are available as data center regions in the account settings but have been opt out of in the user settings. For instance, let's say that in your account settings, the data center regions that have been selected are Europe, Honkong, Australia, India, Latin America, Japan, China, United States,and Canada. The complete list of available data center regions for your account is: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]. In user settings, you have opted out of India(IN) and Japan(TY) for meeting and webinar traffic routing. If you would like, you can still include India and Japan as additional data centers for this meeting using this field. To include India and Japan as additional data center regions, you would provide ["IN", "TY"] as the value. |
settings.participant_video |
Boolean | No |
Start video when participants join the meeting. |
settings.registrants_email_notification |
Boolean | No |
Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the |
settings.encryption_type |
String | No |
Choose between enhanced encryption and end-to-end encryption when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be automatically disabled.
Valid values:
|
settings.watermark |
Boolean | No |
Add watermark when viewing a shared screen. Default value: false |
settings.meeting_authentication |
Boolean | No |
Only authenticated users can join meeting if the value of this field is set to |
settings.language_interpretation |
Object | No |
Language interpretation settings for meetings. Note: This feature is only available on certain Webinar add-on, Education, Business and higher plans. If this feature is not enabled on the host's account, this setting will not be applied for the meeting. |
settings.language_interpretation.interpreters[] |
Array | No |
Information associated with the interpreter. |
settings.language_interpretation.interpreters[].email |
String | No |
Email address of the interpreter. |
settings.language_interpretation.interpreters[].languages |
String | No |
Languages for interpretation. The string must contain two country Ids separated by a comma. For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN". |
settings.language_interpretation.enable |
Boolean | No |
Indicate whether or not you would like to enable language interpretation for this meeting. |
settings.in_meeting |
Boolean | No |
Host meeting in India. Default value: false |
settings.allow_multiple_devices |
Boolean | No |
If set to Note: This setting is only applied for meetings that have enabled registration. |
settings.jbh_time |
Integer | No |
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
Valid values:
|
settings.join_before_host |
Boolean | No |
Allow participants to join the meeting before the host starts the meeting. This field can only used for scheduled or recurring meetings. Note: If waiting room is enabled, the join before host setting will be disabled. Default value: false |
settings.alternative_hosts_email_notification |
Boolean | No |
Flag to determine whether to send email notifications to alternative hosts, default value is true. Default value: true |
settings.approval_type |
Integer | No |
The default value is
Valid values:
Default value: 2 |
settings.registration_type |
Integer | No |
Registration type. Used for recurring meeting with fixed time only. Valid values:
Default value: 1 |
settings.use_pmi |
Boolean | No |
Use Personal Meeting ID instead of an automatically generated meeting ID. It can only be used for scheduled meetings, instant meetings and recurring meetings with no fixed time. Default value: false |
schedule_for |
String | No |
If you would like to schedule this meeting for someone else in your account, provide the Zoom user id or email address of the user here. |
duration |
Integer | No |
Meeting duration (minutes). Used for scheduled meetings only. |
template_id |
String | No |
Unique identifier of the admin meeting template. To create admin meeting templates, contact the Zoom support team. Use this field if you would like to schedule the meeting from a admin meeting template. You can retrieve the value of this field by calling the List meeting templates API. |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.