API V2 – Documentation
Our API version 2.0 is now (August 2019) available. The full API documentation can be found here.
To help you get started, you can use the PHP script below.
It wraps all the functions of our API and allows you to use them with only 2 lines of code.
Please make sure that you inserted your token & API key which can be found either on https://www.riddle.com/creator/account/api or on the edit site of your chosen team.
Keep also in mind how our API responds (https://www.riddle.com/docs/api/v2/#section/Responses-from-the-API): our snippet returns the whole response and not just the body itself – feel free to change this snippet.
token = $token; $this->key = $key; } protected function request($path, $params = null, $method = 'GET', $jsonDecode = true) { $url = $this->url . $path; $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer $this->token", "Key: $this->key"]); if ($params) { $this->_prepareArrayValues($params); if ('POST' === $method) { curl_setopt($ch, CURLOPT_POSTFIELDS, $params); } if ('GET' === $method) { $url .= '?' . http_build_query($params); } } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); return $jsonDecode ? json_decode($response) : $response; } private function _prepareArrayValues(&$params) { foreach ($params as $_key => $_value) { if (is_array($_value)) { $params[$_key] = implode(',', $_value); } } } } class Api extends ApiConnector { public function getRiddleTypes() { return $this->request('/riddle/get/types'); } public function getRiddleList($params = null) { return $this->request('/riddle/get/list', $params); } public function getRiddleEmbedCode($riddleId) { return $this->request('/riddle/get/embed-code', ['riddleId' => $riddleId], 'GET', false); } public function getTeams() { return $this->request('/team/get/list'); } public function getTags($params = null) { return $this->request('/tag/get/list', $params); } public function getAuthors($teamId = null) { return $this->request('/author/get/list', ['teamId' => $teamId]); } } $api = new Api('Insert your Bearer here', 'Insert your API key here'); var_dump($api->getRiddleTypes()); // simple test
Have any questions about our API? Please give us a shout on support chat or at hello@riddle.com – we’re super fast to respond to every message.
(Our entire team, from our CEO Boris on down, race each other to answer messages first.)