Hi, I am trying to create a recurring meeting but am getting the following error. I am using SpringFramework’s RestTemplate to make the request.

I have set the api key, secret etc in the request object but am getting the following error

{error={code=300, message=Api key and secret are required.}}

If I pass the api key etc as query parameter, it works.

I cant use query parameters since the “recurrence” object needs to be passed too.


You should be able to pass the key/secret in the body as well


Here’s my request and code, and the error I am getting back

params Map : 

{option_jbh=true, option_participants_video=true, option_host_video=true, option_audio=both, type=8, host_id=XXXXXXXX, duration=30, recurrence={end_times=3, repeat_interval=2, type=2, weekly_days=4}, start_time=10/10/17 3:00 PM, api_key=XXXXXXXXXX topic=Test, option_auto_record_type=none, api_secret=XXXXXXXXX}


RestTemplate template = new RestTemplate();

ResponseEntity<String> responseFromService = template.postForEntity(endPoint, params, String.class);


{error={code=300, message=Api key and secret are required.}}

What do you see when you visit https://developer.zoom.us/me/call-logs/


Did zoom get the full body? Not familiar with RestTemplate, is it sending as a JSON payload or form url encoded?

This is what I see in the call logs



Method / Endpoint

POST https://api.zoom.us/v1/meeting/create


accept-encoding: gzip, deflate, br
accept: application/json
connection: close
content-type: application/x-www-form-urlencoded
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36


api_key: xxxxxxg
api_secret: ******
duration: 30
host_id: XXXXX
option_audio: both
option_auto_record_type: local
option_host_video: true
option_participants_video: true
option_start_type: video
recurrence: {type:2, weekly_days:“4”, end_times:3, repeat_interval:2}
registration_type: 1
start_time: 10/10/17 3:00 PM
topic: Test
type: 8



Response Information

Set-Cookie: cred=B61E802B06B47F2FEF7A1C83FA568F4C; Path=/; Secure; HttpOnly

“error”: {
“code”: 300,
“message”: “Invalid parameter: recurrence”

I tried with a Rest client on chrome and I still get the following error and I dont see the request in the call logs



{“option_jbh”:true,“option_participants_video”:true,“option_host_video”:true,“option_audio”:“both”,“type”:“8”,“host_id”:“XXXXXXXXX”,“duration”:“30”,“recurrence”:{“end_times”:3,“repeat_interval”:2,“type”:“2”,“weekly_days”:“4”},“start_time”:“10/10/17 3:00 PM”,“api_key”:“XXXXXXXXXXX”,“topic”:“Milfar Test”,“option_auto_record_type”:“none”,“api_secret”:“XXXXXXXXXX”}





“code”: 300,

“message”: “Api key and secret are required.”




Try by passing the minimum parameters; api_key, api_secret, host_id, type, topic - start debugging from there

It doesnt work with just the minimal parameter. 


{“host_id”:“XXXXXXX”,“api_key”:"XXXXXXXXX,“topic”:“Milfar Test”,“api_secret”:“XXXXXXXXX”}




“code”: 300,

“message”: “Api key and secret are required.”






It doesnt work here either : https://developer.zoom.us/playground/  


I dont see the options to put in the api_secret & api_key in the playground

can you send an email (joshua.woodward@zoom.us) with the the email of your zoom account so i can look it up and debug