# API registration  form

**URL:** <https://devforum.zoom.us/t/api-registration-form/1216>\
**Category:** API and Webhooks\
**Created:** [May 1, 2018, 10:04pm UTC](https://devforum.zoom.us/t/api-registration-form/1216 "2018-05-01T22:04:25Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tyler\_Theslof](https://avatars.discourse-cdn.com/v4/letter/t/779978/32.png) [@Tyler\_Theslof](https://devforum.zoom.us/u/Tyler_Theslof)\
**Post date:** [May 1, 2018, 10:04pm UTC](https://devforum.zoom.us/t/api-registration-form/1216/1 "2018-05-01T22:04:25Z")

</div>

I am an healthcare API client with sub accounts. My one sub account is NOT HIPAA compliant and i would like all guests to fill out a 7 question registration form before entering the video meeting.&nbsp; This non HIPAA api account will have 10 users and all of those users require the same questions for guests who enter their scheduled calls.&nbsp; I have had 3 zoom techs say no problem just enable the feature via API, fill out the registration questions within “my meetings” for the api users and zoom will send out a link for registration after the info is filled out it will send out the video call invitation… This method will allow for more in depth reporting of who was on the call and specific questions in the registration form.&nbsp; Please help

---

<div class="post-metadata">

**Author:** ![harris\_yang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/harris_yang/32/155_2.png) [@harris\_yang](https://devforum.zoom.us/u/harris_yang)\
**Post date:** [May 2, 2018, 3:59am UTC](https://devforum.zoom.us/t/api-registration-form/1216/2 "2018-05-02T03:59:56Z")

</div>

@Tyler, you can enable registration for a meeting, please refer to&nbsp;[https://zoom.github.io/api/#update-a-meeting](https://zoom.github.io/api/#update-a-meeting)

---

<div class="post-metadata">

**Author:** ![arjun.bsci](https://avatars.discourse-cdn.com/v4/letter/a/a4c791/32.png) [@arjun.bsci](https://devforum.zoom.us/u/arjun.bsci)\
**Post date:** [August 12, 2020, 3:41pm UTC](https://devforum.zoom.us/t/api-registration-form/1216/3 "2020-08-12T15:41:51Z")

</div>

Hello,  
I know there is a separate API that allows us to update registration questions and fields of a scheduled Webinar: /webinars/{webinarId}/registrants/questions.

Is there a way we can define the list of registration questions and fields at the time of scheduling the Webinar using this single API(/users/{userId}/webinars)?

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 12, 2020, 6:29pm UTC](https://devforum.zoom.us/t/api-registration-form/1216/4 "2020-08-12T18:29:47Z")

</div>

Hey @arjun.bsci,

No, you need to use the [Update Webinar Registration Questions endpoint.](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrantquestionupdate) 🙂

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![arjun.bsci](https://avatars.discourse-cdn.com/v4/letter/a/a4c791/32.png) [@arjun.bsci](https://devforum.zoom.us/u/arjun.bsci)\
**Post date:** [September 3, 2020, 6:59am UTC](https://devforum.zoom.us/t/api-registration-form/1216/5 "2020-09-03T06:59:29Z")

</div>

Hello Tommy,

We have a default webinar template with a Registration form set at the Account Level.

When we schedule the Webinar via the Web Interface without selecting any webinar template. Default Registration form(with 5 standard and 2 custom questions) is getting set.

**But when we are scheduling a Webinar via API, the Default Registration form is not getting set.**

We are using [this WebinarCreate API](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarcreate) with template\_id param as blank.

**Please advise how to set the default Registration form when scheduling the webinar via API. This is a blocker for us.**  
Webinar Scheduled from Zoom Web Interface: [zoom.us/j/98257692720](http://zoom.us/j/98257692720)  
Webinar Scheduled from API: [zoom.us/j/92425145721](http://zoom.us/j/92425145721)

Also, **another thing** is when we are trying to pass “template\_id” as a param using [this WebinarCreate API](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarcreate), we are getting the following error: “_Only the template owner has the permission to use this template for Webinar creation._”  
I am using webinar template Id#: “-EzPXp3aRDqk8SCviWIJTg” which is created under my user account only.

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [September 8, 2020, 5:29pm UTC](https://devforum.zoom.us/t/api-registration-form/1216/6 "2020-09-08T17:29:52Z")

</div>

Hi @arjun.bsci,

Can you provide a copy of the request URL/payload you’re using to create a webinar via API, which is throwing this error? This will be helpful for me to take a closer look at what exactly is being passed. If this contains sensitive information, you can email this to [developersupport@zoom.us](mailto:developersupport@zoom.us) and reference this thread.

In the meantime, you should also ensure you’re setting the Registration option for Webinar as required in order to utilize registration questions.

Thanks, and I’ll keep an eye out!

Best,  
Will

---

<div class="post-metadata">

**Author:** ![arjun.bsci](https://avatars.discourse-cdn.com/v4/letter/a/a4c791/32.png) [@arjun.bsci](https://devforum.zoom.us/u/arjun.bsci)\
**Post date:** [September 8, 2020, 10:42pm UTC](https://devforum.zoom.us/t/api-registration-form/1216/7 "2020-09-08T22:42:13Z")

</div>

Thank you Will for replying back.  
Please refer to the request and response below.

**1. I am using JWT token with “template\_id”:“lYSi9364Rhi5R-iPnjpHhQ” and template\_id exists under the zoom user account.**  
**Issue: Receiving error: “Only the template owner has the permission to use this template for Webinar creation.”**

request===System.HttpRequest[Endpoint=[https://api.zoom.us/v2/users/arjun.srivastava@bsci.com/webinars](https://api.zoom.us/v2/users/arjun.srivastava@bsci.com/webinars), Method=POST]

requestBody==={“uuid”:null,“type”:5,“topic”:“09/09/2020, Dr. Strange, Community Event”,“timezone”:“America/New\_York”,“template\_id”:“lYSi9364Rhi5R-iPnjpHhQ”,“status”:null,“start\_url”:null,“start\_time”:“2020-09-09T08:02:00”,“settings”:{“watermark”:null,“waiting\_room”:true,“use\_pmi”:null,“show\_share\_button”:null,“registration\_type”:2,“registrants\_email\_notification”:true,“registrants\_confirmation\_email”:null,“practice\_session”:null,“participant\_video”:false,“panelists\_video”:null,“mute\_upon\_entry”:false,“join\_before\_host”:false,“in\_meeting”:null,“host\_video”:true,“hd\_video”:null,“global\_dial\_in\_numbers”:null,“global\_dial\_in\_countries”:null,“enforce\_login\_domains”:null,“enforce\_login”:false,“contact\_name”:null,“contact\_email”:null,“cn\_meeting”:null,“close\_registration”:null,“auto\_recording”:null,“audio”:“both”,“approval\_type”:0,“alternative\_hosts”:null,“allow\_multiple\_devices”:null},“[recurrence":null,“password”:null,“occurrences”:null,“join\_url”:null,“id”:null,“host\_id”:"arjun.srivastava@bsci.com](mailto:recurrence%22:null,%22password%22:null,%22occurrences%22:null,%22join_url%22:null,%22id%22:null,%22host_id%22:%22arjun.srivastava@bsci.com)”,“duration”:60,“custom\_questions”:null,“created\_at”:null,“agenda”:null}

response===System.HttpResponse[Status=null, StatusCode=400]

response.getBody()==={“code”:3003,“message”:“Only the template owner has the permission to use this template for Webinar creation.”}

**2. Creating a webinar via API using JWT token without “template\_id” parameter.**  
**Issue: The default Registration form from the Zoom Account level setting is not getting set.**  
**Note: If we schedule the Webinar via the Web Interface, the Default Registration form is getting set.**

request===System.HttpRequest[Endpoint=[https://api.zoom.us/v2/users/arjun.srivastava@bsci.com/webinars](https://api.zoom.us/v2/users/arjun.srivastava@bsci.com/webinars), Method=POST]

requestBody==={“uuid”:null,“type”:5,“topic”:“09/09/2020, Dr. Strange, Community Event”,“timezone”:“America/New\_York”,“template\_id”:null,“status”:null,“start\_url”:null,“start\_time”:“2020-09-09T08:02:00”,“settings”:{“watermark”:null,“waiting\_room”:true,“use\_pmi”:null,“show\_share\_button”:null,“registration\_type”:2,“registrants\_email\_notification”:true,“registrants\_confirmation\_email”:null,“practice\_session”:null,“participant\_video”:false,“panelists\_video”:null,“mute\_upon\_entry”:false,“join\_before\_host”:false,“in\_meeting”:null,“host\_video”:true,“hd\_video”:null,“global\_dial\_in\_numbers”:null,“global\_dial\_in\_countries”:null,“enforce\_login\_domains”:null,“enforce\_login”:false,“contact\_name”:null,“contact\_email”:null,“cn\_meeting”:null,“close\_registration”:null,“auto\_recording”:null,“audio”:“both”,“approval\_type”:0,“alternative\_hosts”:null,“allow\_multiple\_devices”:null},“[recurrence":null,“password”:null,“occurrences”:null,“join\_url”:null,“id”:null,“host\_id”:"arjun.srivastava@bsci.com](mailto:recurrence%22:null,%22password%22:null,%22occurrences%22:null,%22join_url%22:null,%22id%22:null,%22host_id%22:%22arjun.srivastava@bsci.com)”,“duration”:60,“custom\_questions”:null,“created\_at”:null,“agenda”:null}

response===System.HttpResponse[Status=null, StatusCode=201]

response.getBody()==={“[uuid":“fNjeQS+eQteh2+FaziXC3Q==”,“id”:99095596572,“host\_id”:“s8PmOOG\_QDiDJF65rLI2Wg”,“host\_email”:"arjun.srivastava@bsci.com](mailto:uuid%22:%22fNjeQS+eQteh2+FaziXC3Q==%22,%22id%22:99095596572,%22host_id%22:%22s8PmOOG_QDiDJF65rLI2Wg%22,%22host_email%22:%22arjun.srivastava@bsci.com)”,“topic”:“09/09/2020, Dr. Strange, Community Event”,“type”:5,“start\_time”:“2020-09-09T12:02:00Z”,“duration”:60,“timezone”:“America/New\_York”,“created\_at”:“2020-09-08T21:45:34Z”,“start\_url”:“[Launch Meeting - Zoom](https://bsci-nm.zoom.us/s/99095596572?zak=eyJ6bV9za20iOiJ6bV9vMm0iLCJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJjbGllbnQiLCJ1aWQiOiJzOFBtT09HX1FEaURKRjY1ckxJMldnIiwiaXNzIjoid2ViIiwic3R5IjoxMDAsIndjZCI6ImF3MSIsImNsdCI6MCwic3RrIjoiU1l2NF9BUXE3U3V5OUlIRENlTTFvSGpVUGU5WWlES0tKWUlyOFJXNFg3US5CZ1VzV0VOTlozRkpRVnBGTjJGNU9FeENiM1Y2WnpCbFRFdzBVM2RIVG0xVFRsUXdTRUZWYkVnclRUQnliejFBTVRJNVlUbGlNVGszWVRSalpqRTBNR0l6TWpGbE56VXdPVEZtTkRSaVkyVXpPRFl5T0RSak1XSXpNbVJrTWpRMk16ZzFOR0k1T1RNMVkySTJPR0kwTUFBZ2RFNXNSVzVtYVROWVRFMXhiV1JrUTFGSmJreEVTR1J1ZW1WYWEyMWpVRFVBQTJGM01RIiwiZXhwIjoxNTk5NjA4NzM1LCJpYXQiOjE1OTk2MDE1MzUsImFpZCI6ImpnMlZ5amt2UmJlM05TUy1xYWtsUkEiLCJjaWQiOiIifQ.P-OtyUEImnMOCoACQsEvJxYNkqsAhvyJAwaQcqjMCUQ%22,%22join_url%22:%22https://bsci-nm.zoom.us/j/99095596572%22,%22registration_url%22:%22https://bsci-nm.zoom.us/webinar/register/WN_9AOq7u2RSZShMMqxzRApNA%22,%22settings%22:%7B%22host_video%22:true,%22panelists_video%22:false,%22approval_type%22:0,%22audio%22:%22both%22,%22auto_recording%22:%22none%22,%22enforce_login%22:false,%22enforce_login_domains%22:%22%22,%22alternative_hosts%22:%22%22,%22close_registration%22:true,%22show_share_button%22:false,%22allow_multiple_devices%22:true,%22practice_session%22:false,%22hd_video%22:false,%22question_answer%22:true,%22registrants_confirmation_email%22:true,%22on_demand%22:false,%22request_permission_to_unmute_participants%22:false,%22global_dial_in_countries%22:%5B%22CA%22,%22US%22%5D,%22global_dial_in_numbers%22:%5B%7B%22country_name%22:%22Canada%22,%22number%22:%22+1) 2042727920”,“type”:“toll”,“country”:“CA”},{“country\_name”:“Canada”,“number”:“+1 4388097799”,“type”:“toll”,“country”:“CA”},{“country\_name”:“Canada”,“number”:“+1 5873281099”,“type”:“toll”,“country”:“CA”},{“country\_name”:“Canada”,“number”:“+1 6473744685”,“type”:“toll”,“country”:“CA”},{“country\_name”:“Canada”,“number”:“+1 6475580588”,“type”:“toll”,“country”:“CA”},{“country\_name”:“Canada”,“number”:“+1 7789072071”,“type”:“toll”,“country”:“CA”},{“country\_name”:“US”,“number”:“+1 6699006833”,“type”:“toll”,“country”:“US”},{“country\_name”:“US”,“number”:“+1 2532158782”,“type”:“toll”,“country”:“US”},{“country\_name”:“US”,“number”:“+1 3462487799”,“type”:“toll”,“country”:“US”},{“country\_name”:“US”,“number”:“+1 3017158592”,“type”:“toll”,“country”:“US”},{“country\_name”:“US”,“number”:“+1 3126266799”,“type”:“toll”,“country”:“US”},{“country\_name”:“US”,“number”:“+1 6465588656”,“type”:“toll”,“country”:“US”}],“contact\_name”:“Arjun [Srivastava",“contact\_email”:"arjun.srivastava@bsci.com](mailto:Srivastava%22,%22contact_email%22:%22arjun.srivastava@bsci.com)”,“registrants\_restrict\_number”:0,“registrants\_email\_notification”:true,“post\_webinar\_survey”:false,“meeting\_authentication”:false,“additional\_data\_center\_regions”:}}

**3. Do you know the timeline for the resolution of the bug listed in the below post:**

> [@Webinar API Add Custom Questions](https://devforum.zoom.us/t/webinar-api-add-custom-questions/27577):
>
> API Docs When i make a request to add a custom question using {“custom\_questions”:[{“title”:“test field”,“type”:“single\_radio”,“required”:true,“answers”:[“Yes”]}]} I ge the following error {“code”:300,“message”:“Validation Failed.”,“errors”:[{“field”:“custom\_questions[0].answers”,“message”:“Invalid field.”}]}stdClass Object ( [code] =\> 300 [message] =\> Validation Failed. [errors] =\> Array ( [0] =\> stdClass Object ( [field] =\> custom\_questions[0].answers [message] =\> Invalid field. ) ) ) I…

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [September 10, 2020, 5:59pm UTC](https://devforum.zoom.us/t/api-registration-form/1216/10 "2020-09-10T17:59:19Z")

</div>

Hi @arjun.bsci,

Thanks so much for getting back to me with all of these details.

> 1. I am using JWT token with “template\_id”:“lYSi9364Rhi5R-iPnjpHhQ” and template\_id exists under the zoom user account.\*\*  
> \*\*Issue: Receiving error: “Only the template owner has the permission to use this template for Webinar creation.”

I’ve raised this issue with our Engineering team and they are actively looking into it. I’ll let you know as soon as I hear back. (ZOOM-195337)

> 1. Creating a webinar via API using JWT token without “template\_id” parameter.  
> Issue: The default Registration form from the Zoom Account level setting is not getting set.  
> Note: If we schedule the Webinar via the Web Interface, the Default Registration form is getting set.

Thank you for raising this—I’ve submitted a feature request to our team to ensure parity between the behavior in our API, compared to when you create a webinar in the UI. It’s a great point, and I’ll make sure to advocate for this. (ZOOM-195340)

> 1. Do you know the timeline for the resolution of the bug listed in the below post

While we don’t yet have a specific timeline, we will be sure to update the post as soon as we have more details.

* * *

I hope this helps!

Best,  
Will

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [September 11, 2020, 1:48pm UTC](https://devforum.zoom.us/t/api-registration-form/1216/11 "2020-09-11T13:48:07Z")

</div>

Hi @arjun.bsci,

I’ve heard back from our team in regards to point 1, and we can see that the JWToken that is being used when trying to apply the template isn’t associated with the account owner for this meeting. You will need to ensure that this request to apply the template is being made by the account owner associated with the JWToken and meeting in question.

In regards to point 2, our team confirmed that this is on our roadmap and will be part of an upcoming release.

Thanks!  
Will

---

<div class="post-metadata">

**Author:** ![arjun.bsci](https://avatars.discourse-cdn.com/v4/letter/a/a4c791/32.png) [@arjun.bsci](https://devforum.zoom.us/u/arjun.bsci)\
**Post date:** [September 11, 2020, 10:58pm UTC](https://devforum.zoom.us/t/api-registration-form/1216/12 "2020-09-11T22:58:25Z")

</div>

Hello @will.zoom,  
Thank you for your reply.

> **I’ve heard back from our team in regards to point 1, and we can see that the JWToken that is being used when trying to apply the template isn’t associated with the account owner for this meeting. You will need to ensure that this request to apply the template is being made by the account owner associated with the JWToken and meeting in question.**

That’s not true. There is little confusion here.

JWT app is an Account-based app, not specific to any zoom user account or owner.  
JWT token cannot be generated by using any user credentials but simply gets generated using client key and secret.  
JWT token can be used to make transactions against different user accounts.

While creating the webinar, we are already passing the **userID** as a param to specify the user context where we need to schedule the webinar.  
Note: Userid passed as a parameter is valid and template\_Id also belongs to the same zoom user account.

**I have even tried to use the OAuth token instead of the JWT token and got the same error.**

This is a blocker for us and we need to urgently work on this requirement. it would be great if we can get on a quick call to resolve this issue, please.

> **In regards to point 2, our team confirmed that this is on our roadmap and will be part of an upcoming release.**

- It will be very helpful if you could please confirm the specific date when this will be resolved?

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [September 15, 2020, 5:38am UTC](https://devforum.zoom.us/t/api-registration-form/1216/13 "2020-09-15T05:38:28Z")

</div>

Hey @arjun.bsci,

I have just private messaged you.

Thanks,  
Tommy
