API update registrant not working

The API update registrant to set a registrant to approved is not working. I have seen similar posts in this forum, but they seem to be related to the occurrence_id param not being included. I’m currently testing this in Postman as follows:

PUT
https://api.zoom.us/v2/meetings/[REDACTED]/registrants/status/?occurrenceid=[REDACTED]

Authorization: Bearer {My JWT token}
Content-Type: application/json

Body:
{
“action”: “approve”,
“registrants”: [
{
“id”: “JtuCwt0BTd6llH9zXcuvQA”,
“email”: “{user email}”
}
]
}

This API call returns 204 No Content, but the status of the registrant does not change.

Any help would be appreciated.

Hi @kurban ,

Thank you for your inquiry! Do you have the following scopes enabled to grant permission to make the update?

Gianni

Thank you, Gianna. I think that’s moving me in the right direction.

I have used the add meeting, add registrant APIs without setting scopes so I didn’t realize that they existed or that they had to be set.

Could you please let me know where scopes permissions are set?

Thank you!

Karl

So in reading up a bit on scopes, it looks like that is under Oauth authentication. I have been using JWT for authentication for all of the other API calls like add meeting and add registration. So for the update registrant API am I required to use oauth, or can scopes be defined under the JWT? I’m not seeing a place to do that. Thanks.

Hi @kurban,

Ahh sorry that’s on me! I missed that you were using JWT in your initial post.

Your request body looks right from what I can see, but change the endpoint/path URL after v2 to /webinars/{webinarId}/registrants/status

Make sure to include those same query parameters of webinarId and occurrence_id :slight_smile:

Thank you,
Gianni

Hi Gianni,

I have set up a meeting, not a webinar. And I have a meeting ID which was returned from the add meeting API. So if I change the URL to /webinars… it results in an error. I believe the /meetings URL is correct.

Thanks,

Karl

Btw, I tried ?occurrence_id=[REDACTED] and ?occurrenceid=[REDACTED] (without the underscore) so see if that parameter made a difference. I currently have the parameter as occurrence_id.

Hi @kurban ,

You’re absolutely right about the URL then since you’re looking to update a meeting registrant and not webinar, I’m a little off today :sweat_smile:

Please send your full request parameters/body, and response results to developersupport@zoom.us, addressed to me and with a link to this thread and I will try to reproduce this issue and debug.

Thank you,
Gianni

I did finally get this to work. The issue was that in certain API calls, the registrant id is “registrant_id” and in this one it is just “id”. Once I made that change everything worked as expected.

Thanks!

1 Like

Ahh okay, glad it’s resolved! You put “id” in your request body in you initial post, so where did you have it written differently that affected this API endpoint?

In my RestClient code, I created a class using registrant_id. Since that call wasn’t working, I decided to use Postman to find out where the issue was. I structured the json body for Postman by hand and used the correct “id” instead of “registrant_id”.

1 Like

Thank you @kurban , this is helpful. Appreciate you sharing!