curl --request GET \
--url https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "quiz_participant_result",
"quiz_id": "<string>",
"instance_id": "<string>",
"title": "<string>",
"user_id": "<string>",
"display_name": "<string>",
"email": "<string>",
"status": "not_started",
"answered": 123,
"total": 123,
"correct": 123,
"score_pct": 123,
"delivered_at": "<string>",
"started_at": "<string>",
"last_activity_at": "<string>",
"completed_at": "<string>",
"due_at": "<string>",
"delivery_method": "one_off",
"track_id": "<string>",
"track_name": "<string>",
"questions": [
{
"question_id": "<string>",
"question": "<string>",
"their_answer": "<string>",
"correct_answer": "<string>",
"is_correct": true
}
]
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: quiz_abc123",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: quiz_abc123",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: quiz_abc123",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}Get a participant's quiz result
One participant’s per-question result for a single quiz instance: the questions they received, what they answered, and the correct answers. Visible to the quiz’s admins and the participant’s manager-of-record (subject to the quiz’s result visibility).
curl --request GET \
--url https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.doozy.live/v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "quiz_participant_result",
"quiz_id": "<string>",
"instance_id": "<string>",
"title": "<string>",
"user_id": "<string>",
"display_name": "<string>",
"email": "<string>",
"status": "not_started",
"answered": 123,
"total": 123,
"correct": 123,
"score_pct": 123,
"delivered_at": "<string>",
"started_at": "<string>",
"last_activity_at": "<string>",
"completed_at": "<string>",
"due_at": "<string>",
"delivery_method": "one_off",
"track_id": "<string>",
"track_name": "<string>",
"questions": [
{
"question_id": "<string>",
"question": "<string>",
"their_answer": "<string>",
"correct_answer": "<string>",
"is_correct": true
}
]
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: quiz_abc123",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: quiz_abc123",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: quiz_abc123",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}Authorizations
API key for authentication. Generate keys in the Doozy dashboard.
Path Parameters
The unique identifier of the quiz
1 - 128^[A-Za-z0-9_-]+$"quiz_abc123"
The scheduled-activity id that delivered the quiz to the participant
1 - 128^[A-Za-z0-9_-]+$"act_abc123"
The participant's user id
1 - 128^[A-Za-z0-9_-]+$"user_abc123"
Response
The participant's per-question result
quiz_participant_result This participant's status for the quiz run.
not_started, in_progress, completed, expired Correct / total questions as a 0-100 percentage. Null when nothing was received.
When the quiz was delivered to this participant (ISO 8601).
First answer (ISO 8601). Null if not started.
Most recent answer (ISO 8601). Null if not started.
Completion time (ISO 8601). Null if not completed.
When answers are due / the run expires (ISO 8601). Null if no deadline.
How the quiz was delivered to this participant.
one_off, track Track (workflow) ID if delivered via a track.
Track (workflow) name if delivered via a track.
Show child attributes
Show child attributes
Was this page helpful?