Post request keeps asking me "Api Key and secret are required."


I sent this data with the POST Request.

data =
api_key: “xxxx”,
api_secret: “xxx”,
data_type: “JSON”,
host_id: “xxxx”,
topic: “Testing!!!”,
type: 2,
start_time: “#{}”,
duration: 120,
timezone: “#{User.first.timezone}”,
option_host_video: false

“x"api_key”:“xxxsomevalue”,“api_secret”:“xxxsomevalue”,“host_id”:“xxx”,“topic”:“Testing!!!”,“type”:2,“start_time”:“2017-05-01 09:40:01 +0900”,“duration”:120,“timezone”:“Asia/Seoul”,“option_host_video”:false}"

Then error code says “api key and secret were not inserted”.

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

Would you help me on this issue?

I’m looking forward to seeing your reply!




With Postman, the result is also same. Only API playground works as expected. Would you give me a solution?

Looking forward to seeing your quick reply!




I don’t work for zoom but just did this few weeks ago and you need to first check out their documentation - zoom api’s are quite straightforward to use.

get the api key pair and host id from your account - “xxx” is not a valid api key pair - zoom has provided that as an example -) and check out their node.js sample code. 


Hi Scott, 

Of course I put the correct API and Secret pair that I got from the credential tab. ( I didn’t want to publicly put my pair on the public website! )


I will checkout the node.js sample code!


Thanks for your comment!





Sungpah, you may not be encoding this correctly. Have you set the content-type header ? can you check ?

see the following postman data that works.






Hi Scott! I think you are right.


when I changed to www form urlencoded, Post man works.!


However, my web code has not worked yet ( Although content type is application/x-www-form-urlencoded ).

Do you have any suggestion? (:

#<Faraday::Response:0x007fdf7e796048 @on_complete_callbacks=, @env=#<Faraday::Env @method=:post @body="{“error”:{“code”:300,“message”:“Api key and secret are required.”}}" @url=#<URI::HTTPS:0x007fdf7e79e158 URL:> @request=#<Faraday::RequestOptions (empty)> @request_headers={“User-Agent”=>“Faraday v0.9.2”, “Content-Type”=>“application/x-www-form-urlencoded”} @ssl=#<Faraday::SSLOptions verify=true> @response=#<Faraday::Response:0x007fdf7e796048 …> @response_headers={“cache-control”=>“no-cache, no-store, must-revalidate”, “content-type”=>“application/json;charset=UTF-8”, “date”=>“Tue, 02 May 2017 03:52:05 GMT”, “expires”=>“Thu, 01 Jan 1970 00:00:00 GMT”, “pragma”=>“no-cache”, “server”=>“ZOOM”, “content-length”=>“67”, “connection”=>“Close”} @status=200>>


Hi Scott, I found the ruby code from PostMan for the implementation!

Thanks for your comment!! 


Hi Scott, thanks for jumping in and helping our community.  We owe you a Zoom T-shirt.

Sungpah, I assume you are good now.



Wei @ Zoom



In Terminal on my Mac I do this:

curl -i -X post -H “Content-Type:application/json”

I get this response:

HTTP/1.1 200 OK

Cache-Control: no-cache, no-store, must-revalidate

Content-Type: application/json;charset=UTF-8

Date: Fri, 09 Jun 2017 20:02:25 GMT

Expires: Thu, 01 Jan 1970 00:00:00 GMT

Pragma: no-cache

Server: ZOOM

Content-Length: 67

Connection: keep-alive

{“error”:{“code”:300,“message”:“Api key and secret are required.”}}

Any idea why the error? I’m using my API key and secret from credentials. Thx