Skip to main content
GET
Get quiz details

Authorizations

x-api-key
string
header
required

API key for authentication. Generate keys in the Doozy dashboard.

Path Parameters

quizId
string
required

The unique identifier of the quiz

Required string length: 1 - 128
Pattern: ^[A-Za-z0-9_-]+$
Example:

"quiz_abc123"

Response

Quiz details with rounds and questions

object
enum<string>
required

Object type identifier

Available options:
quiz
Example:

"quiz"

id
string
required

Unique quiz identifier

Example:

"quiz_abc123"

title
string
required

Quiz title

Example:

"Product Knowledge Assessment"

description
string | null
required

Quiz description

Example:

"Test your knowledge of our product lineup"

visibility
enum<string>
required

Quiz visibility setting

Available options:
public,
public_unlisted,
account,
private
Example:

"private"

is_trivia
boolean
required

Whether this is a "trivia" quiz (live leaderboard play) versus a learning quiz.

Example:

false

status
enum<string>
required

Lifecycle status. draft covers both a never-published draft and a finalized quiz that hasn't yet been put into service (scheduled or activated in a track) — use published_version to tell them apart (0 = never published). active quizzes are in service; archived quizzes are retired. Both draft and active appear under the library's Active tab.

Available options:
draft,
active,
archived
Example:

"active"

published_version
integer
required

Monotonic publish counter, incremented on each publish; 0 before the first publish. Distinguishes a never-published draft from a finalized draft that is still status: "draft" until put into service.

Required range: x >= 0
Example:

1

round_count
integer
required

Number of rounds in the quiz

Example:

3

question_count
integer
required

Total number of questions across all rounds

Example:

15

created_at
string | null
required

When the quiz was created (ISO 8601 format)

Example:

"2026-01-15T10:30:00.000Z"

updated_at
string | null
required

When the quiz was last updated (ISO 8601 format)

Example:

"2026-01-20T14:00:00.000Z"

meta
object
required

What the requesting user can do with this quiz (edit, pause, resume, delete, activate, manage admins). Use these to drive UI affordances.

rounds
object[]
required

Rounds containing questions

admin_users
string[]
required

Doozy user IDs of members who can edit this quiz and view its results.

Example:
delegated_admin_users
string[]
required

Doozy user IDs of admins inherited from a track. Read-only — managed via track admin endpoints.

Example:
result_visibility
object | null
required

Who can see this quiz's results in the People view. Null = owner only. Set via the result-visibility endpoint.

current_draft_id
string | null
required

Active collaborative draft id. Clients connect their Yjs provider to /quizes/{id}/drafts/{current_draft_id} to participate in realtime editing. Null only for legacy quizzes created before the collaborative editor rollout — those will lazy-mint a draft on first edit.

Example:

"draft_abc123"

last_published_at
string | null
required

ISO 8601 timestamp of the most recent publish, or null if never published.

Example:

"2026-06-10T09:48:36.000Z"

last_published_by
object | null
required

Profile of the person who last published, or null.

draft_has_unpublished_changes
boolean
required

True when the current draft has edits that diverge from the published quiz.

Example:

true

draft_last_edited_at
string | null
required

ISO 8601 timestamp of the last edit to the current draft, or null.

Example:

"2026-06-10T10:15:00.000Z"

draft_last_edited_by
object | null
required

Profile of the last person to edit the current draft, or null.