Cannot custom_questions for a registrant via the API

I am trying to add my unique user IDs to the Zoom registration via the custom_questions , but when I pull the data the array is blank. I looked at the zoom forums and this issue appears to have been presented but not solved? How can I add custom_questions to the user registration via the API?

Hi @mdickens ,

Can you please share an example of the request you’re passing through compared to the documentation? It would help to also link the dev forum post you’re referencing.

Thanks Gianni!

I am referring to this forum post specifically: On Create registrant, comments, custom_questions or other data isnt saved or cant be accessed

And, upon further research, I’ve noticed the issue is different than what I initially observed it to be.

Originally, I was under the impression that the custom_questions field was having a specific issue and not storing the information submitted to it via the Zoom API. That is, when I pull the registrants info via the API, the custom_questions field returns an empty array:
image

However, upon further review, it has come to my attention that fields that were previously storing data are no longer doing so. Specifically, the "phone" and "org" values are not being populated even though they had been previously. During my investigation I remembered that in the past, when "org" and "phone" were not present, I was able to fix this issue by sending a PATCH request to the meeting itself (meetings/{meeting_id}/registrants/questions) submitting "org" and "phone" in an array called "questions" :
image

As you saw above, now "phone" and "org" are also missing from the Zoom API return. What’s more is if I use the exact same function/code to register for a meeting that was created a few months ago, the "phone" and "org" values are properly filled. Any ideas as to why that might be?

Hi @mdickens ,

I am not sure why the change, but as it currently stands, the example behavior you shared is not documented as being supported. The validated endpoint is POST /meetings/{meetingId}/registrants . “Questions” is not supported as a parameter in the url. Can you confirm if it is accepted when passed through the request body as documented?

Sorry for lack of clarity, that’s not quite what I meant.

I am POSTing the custom_questions as specified in the API documentation and getting a 200 response:
image

However, the custom_questions field returns a blank array when I GET the registrants:
image

You’ll notice that I tried submitting my variable mha_uuid in both the comments field and custom_questions field to no avail. This is how I initially noticed that phone and org are also no longer working.

ETA: It’s worth noting that the endpoint I’m sending the questions to is meetings/{meetingId}/registrants/questions

P.S. I also reverted my function to not send comments or custom_questions just to make sure that these changes weren’t causing the issue and the phone and org fields were still unpopulated.

Hi @mdickens , it does not seem like this endpoint supports POST with questions in the url. It is not documented which is perhaps reason for the change in behavior you’re seeing.

However, please POST to the endpoint I originally linked as it is documented. That url does not take questions in the url itself, but you see if you can successfully add the custom questions as documented.

You can use PATCH to update /meetings/{meetingId}/registrants/questions

Gianni,

I am and have always been POSTing and PATCHing to the URLs as you specified. In the screenshot in my previous comment, you can see that I am making a POST request to /meetings/{meetingId}/registrants (the way this code has been for months at least), and here is a screenshot of where I am creating a meeting and then sending patch requests to update the meeting:
image
While I have added “custom_questions” to the request, there have been no changes to the structure. That is, I have always been sending the update to the questions as PATCH request. I tried again to create a new meeting using this previously working script and got the same results when I downloaded my registrant data:
image

Given that I am successfully creating the meeting (POST(users/{userId}/meetings)), adding livestream keys (PATCH(meetings/{meetingId}/livestream)), updating the meeting questions (PATCH(meetings/{meetingId}/registrants/questions)), and then adding the user as a registrant with the “phone” and “org” parameters in my request (POST(meetings/{meetingId}/registrants)), this issue appears to be something that is happening within Zoom. Again: this same, exact code was working in the past (which I have verified after my attempt to add custom_questions and reverted to before I made these changes to verify as well). Please help me investigate what is happening with these requests when I am sending "phone" and "org": what does Zoom see in the logs of these requests that are preventing the data from being properly appended to the user’s registrant data?

Thanks again!

Hi @mdickens ,

Thank you for clarifying. I understand thoroughly now.

Can you please provide the following in the private message I am initiating with you in response to this post (check your notifications):

  • dev email associated with credentials making API request
  • client id
  • API response zm-tracking-ids (found in the response headers) for all requests
  • screenshots reproducing the unexpected behavior organized in exact order of steps

Hi @mdickens , investigating internally (ZSEE-135359). I will share updates as they become available!

Hi @mdickens , upon closer look, “value” for custom_questions takes a string in that field. Could you please retry your request with this adjustment?

I’m not sure what you mean as “value” is not one of the options specified in the documentation:

image
Moreover, I am less concerned with the “custom_questions” than the fact that “org” and “phone” are no longer being filled as these are critical to our infrastructure. At minimum, Zoom should be storing the user’s phone numbers when they are submitted.

Hi @mdickens ,

I was referring to the following for add a meeting registrant, the endpoint I understood to be the issue:

Given you had not sent value as a string, I believe this is why you received the following:

Please link this endpoint directly.

If you hard code the string values for “phone” and “org”, do you get the same results?

You mean hardcode the registrants phone and org? Or something else?

Link to documentation: Zoom Meeting API

Hi @mdickens , yes since in your code you’re passing them through a variable. If you hard code that info for the request, I want to see if you are still having an issue since we cannot reproduce the behavior you’re experiencing.

Here is my hardcoded request:
image

Here is the tracking id for it:
'x-zm-trackingid': 'v=2.0;clid=us02;rid=WEB_62123d9293adb67e35457bffd216a216'

Here is the registrant data:

Hi @mdickens , waiting to hear back. Thanks for sending this!

1 Like

Happy Wednesday!

Just following up on this.

To add custom questions to a registrant via the API, ensure you are correctly formatting the custom_questions array in your request. If the array is blank upon retrieval, double-check your API call and the structure of your request payload. For detailed guidance, refer to Zoom’s API documentation or support.

For more detailed instructions, visit Plan Piste Verbier.

Happy Monday!

Just following up on this.

Hi @mdickens thanks for your patience. I was out of office. We are not able to reproduce the behavior you’re seeing. See test below:




What do you see in the web portal?