curl --request GET \
--url https://api.doozy.live/v1/quizzes/{quizId}/instances \
--header 'x-api-key: <api-key>'import requests
url = "https://api.doozy.live/v1/quizzes/{quizId}/instances"
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', 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",
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"
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")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.doozy.live/v1/quizzes/{quizId}/instances")
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": "list",
"data": [
{
"object": "quiz_instance",
"id": "sched_xyz789",
"quiz_id": "quiz_abc123",
"status": "active",
"timezone": "America/New_York",
"schedule": {
"days": [
"monday",
"wednesday",
"friday"
],
"time": "09:00"
},
"recipients": {
"type": "slackChannel",
"slackChannelId": "C1234567890",
"excludeUserWithValues": [
{
"key": "team",
"value": "Engineering",
"matchMethod": "equals"
}
],
"includeUserWithValues": [
{
"key": "team",
"value": "Engineering",
"matchMethod": "equals"
}
],
"filters": {
"groups": [
"<string>"
],
"countries": [
"<string>"
],
"workLocations": [
"<string>"
],
"excludeUsers": [
"<string>"
]
}
},
"schedule_at": "2026-06-15T09:00:00Z",
"play_mode": "one_question_per_day",
"speed": {
"mode": "none",
"cap": 0.5,
"window_minutes": 60
},
"lateness": {
"mode": "none",
"credit": 0.5
},
"challenge_id": "cmp_abc123",
"expiry": {
"amount": 24,
"unit": "hours"
},
"due": {
"amount": 24,
"unit": "hours"
},
"intro_message": "<string>",
"mandatory_completion": {
"enabled": false,
"reminder_interval_days": 3,
"max_reminder_window_days": 30,
"custom_reminder_message": null
},
"feedback_survey": {
"enabled": false,
"question_text": "How was this quiz?",
"question_type": "emoji_1_to_5",
"allow_comments": true,
"question_hint": null,
"choices": [
"Too easy",
"Just right",
"Too hard"
],
"allow_multiple": false
},
"next_trigger_at": "2026-02-01T09:00:00.000Z",
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-01-20T14:00:00.000Z",
"meta": {
"permissions": {
"can_view_results": true,
"can_clone": true,
"can_manage": true,
"can_edit": true,
"can_pause": true,
"can_resume": true,
"can_delete": true,
"can_activate": true,
"can_manage_admins": true
}
}
}
],
"has_more": false,
"url": "/v1/quizzes/quiz_abc123/instances",
"next_cursor": null,
"tracks": [
{
"id": "wf_abc123",
"name": "Onboarding Track",
"instance_count": 5
}
]
}{
"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"
}
}List quiz instances
List all instances for a specific quiz. Results are paginated and sorted by creation date (newest first).
curl --request GET \
--url https://api.doozy.live/v1/quizzes/{quizId}/instances \
--header 'x-api-key: <api-key>'import requests
url = "https://api.doozy.live/v1/quizzes/{quizId}/instances"
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', 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",
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"
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")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.doozy.live/v1/quizzes/{quizId}/instances")
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": "list",
"data": [
{
"object": "quiz_instance",
"id": "sched_xyz789",
"quiz_id": "quiz_abc123",
"status": "active",
"timezone": "America/New_York",
"schedule": {
"days": [
"monday",
"wednesday",
"friday"
],
"time": "09:00"
},
"recipients": {
"type": "slackChannel",
"slackChannelId": "C1234567890",
"excludeUserWithValues": [
{
"key": "team",
"value": "Engineering",
"matchMethod": "equals"
}
],
"includeUserWithValues": [
{
"key": "team",
"value": "Engineering",
"matchMethod": "equals"
}
],
"filters": {
"groups": [
"<string>"
],
"countries": [
"<string>"
],
"workLocations": [
"<string>"
],
"excludeUsers": [
"<string>"
]
}
},
"schedule_at": "2026-06-15T09:00:00Z",
"play_mode": "one_question_per_day",
"speed": {
"mode": "none",
"cap": 0.5,
"window_minutes": 60
},
"lateness": {
"mode": "none",
"credit": 0.5
},
"challenge_id": "cmp_abc123",
"expiry": {
"amount": 24,
"unit": "hours"
},
"due": {
"amount": 24,
"unit": "hours"
},
"intro_message": "<string>",
"mandatory_completion": {
"enabled": false,
"reminder_interval_days": 3,
"max_reminder_window_days": 30,
"custom_reminder_message": null
},
"feedback_survey": {
"enabled": false,
"question_text": "How was this quiz?",
"question_type": "emoji_1_to_5",
"allow_comments": true,
"question_hint": null,
"choices": [
"Too easy",
"Just right",
"Too hard"
],
"allow_multiple": false
},
"next_trigger_at": "2026-02-01T09:00:00.000Z",
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-01-20T14:00:00.000Z",
"meta": {
"permissions": {
"can_view_results": true,
"can_clone": true,
"can_manage": true,
"can_edit": true,
"can_pause": true,
"can_resume": true,
"can_delete": true,
"can_activate": true,
"can_manage_admins": true
}
}
}
],
"has_more": false,
"url": "/v1/quizzes/quiz_abc123/instances",
"next_cursor": null,
"tracks": [
{
"id": "wf_abc123",
"name": "Onboarding Track",
"instance_count": 5
}
]
}{
"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 ID of the quiz
1 - 128^[A-Za-z0-9_-]+$"quiz_abc123"
Query Parameters
Maximum number of results to return (1-100, default 25)
1 <= x <= 10025
Cursor for pagination. Returns results after this instance ID.
256"inst_xyz789"
Filter by whether the instance was created by a track. When false, only standalone instances are returned. When true, only track-created instances are returned.
true, false "false"
Response
List of quiz instances
Object type identifier
list "list"
Array of quiz schedule objects
Show child attributes
Show child attributes
Whether there are more results available
false
The URL for this list endpoint
"/v1/quizzes/quiz_abc123/instances"
Cursor for the next page of results
null
Tracks that deliver this quiz. Only included when scheduled_by_track is false.
Show child attributes
Show child attributes
Was this page helpful?