Overview
Quizzes are the core resource in Quiz Quail. A quiz contains one or more rounds, and each round contains one or more questions. This guide walks through the full lifecycle of building a quiz programmatically.Create a Quiz
draft status with a default first round (“Round 1”). If you omit title, it defaults to “Untitled Quiz”.
Update a Quiz
| Field | Type | Description |
|---|---|---|
title | string | Quiz title (cannot be empty) |
description | string | null | Quiz description |
intro_subtitle | string | null | Subtitle shown on intro screen |
outro_text | string | null | Text shown on outro screen |
question_duration_seconds | number | null | Default time to display questions |
answer_duration_seconds | number | null | Default time to display answers |
fact_duration_seconds | number | null | Default time to display fun facts |
hint_timing_percent | number | null | When to show hints (0-100% of countdown) |
resolution | string | null | Video resolution (e.g. “1920x1080”) |
platform_profile | string | null | Platform-specific settings profile |
List Quizzes
| Parameter | Default | Description |
|---|---|---|
limit | 20 | Items per page (1-100) |
sort | updated_at | Sort field: updated_at, created_at, title |
order | desc | Sort order: asc, desc |
status | — | Filter by status (e.g. draft) |
cursor | — | Pagination cursor from previous response |
Get a Quiz
Delete a Quiz
204 No Content on success. This permanently deletes the quiz and all its rounds and questions.
Duplicate a Quiz
draft.
Rounds
Rounds are ordered containers for questions within a quiz.Add a Round
title is omitted, it defaults to “Round N” where N is the next number.
| Field | Type | Description |
|---|---|---|
title | string | Round title |
timer_override | number | null | Override the quiz-level question duration for this round |
Update a Round
Delete a Round
Reorder Rounds
order field is updated to match its array index.
Questions
Questions live inside rounds and represent individual quiz items.Add a Question
| Field | Type | Description |
|---|---|---|
question_type | string | Required. One of the 13 question types (see below) |
content | object | Type-specific content. If omitted, default content is generated |
countdown_seconds | number | Time limit for this question (default: 5) |
difficulty | number | null | Difficulty level (1-5) |
hint | string | null | Hint text shown during countdown |
fact | string | null | Fun fact shown after the answer is revealed |
Question Types
Quiz Quail supports 13 question types, each with its own content schema:| Type | Content Fields | Description |
|---|---|---|
multiple_choice | text, options[], correctOptionIndex | Standard multiple choice (2-6 options) |
true_false | text, correctAnswer | True or false |
short_answer | text, correctAnswer | Free-text answer |
image | text, imageUrl, options[], correctOptionIndex | Image-based multiple choice |
ranking | text, items[], correctOrder[] | Put items in the correct order |
numeric | text, correctAnswer | Numeric answer |
open_reveal | text, revealAnswer | Open-ended with a revealed answer |
video | text, videoUrl, options[], correctOptionIndex | Video-based multiple choice |
audio | text, audioUrl, options[], correctOptionIndex | Audio-based multiple choice |
multi_video | text, videoUrls[], options[], correctOptionIndex | Multiple video clips |
multi_audio | text, audioUrls[], options[], correctOptionIndex | Multiple audio clips |
progressive_reveal | text, mediaUrl, options[], correctOptionIndex | Gradually revealed media |
emoji | text, emojis, options[], correctOptionIndex | Emoji-based clue |
Update a Question
Delete a Question
Reorder Questions
Example: Build a Complete Quiz
This step-by-step example creates a geography quiz with two rounds.Step 1: Create the quiz
id (e.g. quiz-001) and the default round ID (e.g. round-001).
Step 2: Add questions to Round 1
Step 3: Add a second round
round-002).