Clarification on handling webinar registrations

Description
I am trying to sync my app’s booking processes with Zoom’s webinar registrant status and I would like to make sure I understand my options there. The API documentation is somewhat lacking in this regard.

Error
For example: https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrantget gives no indication which values the field “status” can have.

https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrants lists the possible values as approved, pending, denied.

https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrantstatus indicates I can PUT a status of approve, cancel and deny.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
JWT

Which Endpoint/s?
/webinars/{webinarId}/registrants/status
/webinars/{webinarId}/registrants
/webinars/{webinarId}/registrants/{registrantId}

Additional context
So, from what I have gathered from my own issues and #34478 so far is that:

The only way for me to get someone into the status of pending through the API is to newly register them. Using the /webinars/{webinarId}/registrants/status endpoint, my only options are setting a user to approved or denied. Using the status of cancel is indistinguishable from using deny as a user will end up with a denied status in any event. This means subsequent attempts to re-register this user using the same e-mail address will fail.

Our use case is that we usually register users to a webinar in a pending state and approve their registration once the requirements are met on our side (usually payment). That works well so far if this is done in order - register = status pending, payment = status approved. If however, the payment is confirmed in error, there currently is no way for us to truly undo the approval and set it back to a pending state. We can neither just set a status of pending, nor can we actually delete the registration and re-register them so they achieve pending status. We have to mark them as denied, which is equivalent to “blocked”, right?

And one last thing: On the Zoom website, when administering the webinar, at least the German version lists the status of users who are pending as approval (which is not a German word), it’s not another possible status though, right?

Bildschirmfoto von 2020-12-29 08-42-14

Hey @philvdb,

Thank you for reaching out to the Zoom Developer Forum. I definitely understand the issue here. If a user’s payment is denied, you can cancel the registration. Once their payment processes successfully, you can then use the Update a Webinar Registrant Status API. We cover this in a previous post:

In regard to the incorrect German translation, please reach out to our Customer Support team as they will be able to assist you directly with that issue.

I hope that helps! Let me know if you have any questions.

Thanks,
Max

Hello again @MaxM, thank you for your reply.

That is what I have been doing, thank you for confirming that this is the “proper” way.

I’m afraid you seem to have pasted the wrong link there?

Thank you for your support
Philip

Hey @philvdb,

Good catch! Sorry about posting the link to this thread, I’m not sure how that happened but I suppose it wasn’t very helpful regardless. I’ve updated the link in my previous post to what I meant to send, it essentially goes over the Update a Webinar Registrant Status API call that you would make.

Thanks,
Max