Skip to main content

Get Quiz by ID

Retrieve a quiz by its ID. Returns the quiz if it’s public or belongs to the authenticated user.

Path Parameters

quiz_id
string
required
UUID of the quiz to retrieve

Authentication

Optional - If authenticated, can access own quizzes. If not authenticated, only public quizzes are accessible.

Response

id
uuid
Quiz ID
title
string
Quiz title
description
string
Quiz description
questions
array
Array of quiz questions
public
boolean
Whether the quiz is public
cover_image
string
URL of the cover image
background_color
string
Background color hex code

Example Response

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "title": "Science Quiz",
  "description": "Test your science knowledge",
  "public": true,
  "questions": [...],
  "cover_image": "https://...",
  "background_color": "#4A90E2"
}

Get Public Quiz

Retrieve a public quiz with additional metadata including user information, likes, dislikes, views, and plays.

Path Parameters

quiz_id
uuid
required
UUID of the quiz to retrieve

Response

id
uuid
Quiz ID
title
string
Quiz title
user_id
object
User information
  • username (string): Username of quiz creator
  • id (uuid): User ID of quiz creator
likes
integer
Number of likes
dislikes
integer
Number of dislikes
views
integer
Number of views
plays
integer
Number of times the quiz has been played

Start Quiz Game

Start a new quiz game session. Creates a game with a unique game PIN and returns game configuration.

Path Parameters

quiz_id
string
required
UUID of the quiz to start

Query Parameters

game_mode
string
required
Game mode (e.g., “normal”, “kahoot”)
captcha_enabled
boolean
default:"true"
Enable CAPTCHA for player joins
custom_field
string
Custom field for collecting player data
cqcs_enabled
boolean
default:"false"
Enable ClassQuiz Controller System
randomize_answers
boolean
default:"false"
Randomize answer order for each question

Authentication

Required - Must be authenticated as the quiz owner or quiz must be public.

Response

game_pin
string
6-digit game PIN for players to join
game_id
uuid
Unique game session ID
title
string
Quiz title
description
string
Quiz description
cqc_code
string
ClassQuiz Controller code (if cqcs_enabled)

Example Response

{
  "game_pin": "123456",
  "game_id": "789e4567-e89b-12d3-a456-426614174000",
  "title": "Science Quiz",
  "description": "Test your science knowledge",
  "game_mode": "normal",
  "captcha_enabled": true,
  "cqc_code": "ABC123"
}

Check CAPTCHA Status

Check if CAPTCHA is enabled for a game and get game configuration.

Path Parameters

game_pin
string
required
6-digit game PIN

Response

enabled
boolean
Whether CAPTCHA is enabled
game_mode
string
Game mode
custom_field
string
Custom field name if configured

List User Quizzes

Get paginated list of quizzes created by the authenticated user.

Query Parameters

page_size
integer
default:"10"
Number of quizzes per page
page
integer
default:"1"
Page number (1-indexed)

Authentication

Required

Response

Array of quiz objects ordered by updated_at (most recent first).

Delete Quiz

Delete a quiz and associated images.

Path Parameters

quiz_id
string
required
UUID of the quiz to delete

Authentication

Required - Must be the quiz owner

Response

Returns the deleted quiz object.

Import Quiz from Kahoot

Import a quiz from Kahoot by its ID.

Path Parameters

quiz_id
string
required
Kahoot quiz ID to import

Authentication

Required

Response

Returns the imported quiz object.

Error Codes

  • 409: Storage limit reached
  • 400: Unsupported quiz format

Export Quiz Data

Export quiz game results as an Excel spreadsheet.

Path Parameters

export_token
string
required
Temporary export token

Query Parameters

game_pin
string
required
Game PIN for the session to export

Response

Returns an Excel file (.xlsx) with game results including:
  • Player responses
  • Custom field data
  • Player scores
  • Question details

Import from Excel

Import a quiz from an Excel file.

Request Body

file
file
required
Excel file (.xlsx) containing quiz data

Authentication

Required

Response

Returns the created quiz object.

Question Types

ABCD Question

{
  "question": "What is 2+2?",
  "time": "30",
  "type": "ABCD",
  "answers": [
    {"answer": "3", "right": false, "color": "#FF0000"},
    {"answer": "4", "right": true, "color": "#00FF00"},
    {"answer": "5", "right": false, "color": "#0000FF"}
  ],
  "image": "https://..."
}

Range Question

{
  "question": "Estimate the year",
  "time": "30",
  "type": "RANGE",
  "answers": {
    "min": 1900,
    "max": 2000,
    "min_correct": 1940,
    "max_correct": 1950
  }
}

Voting Question

{
  "question": "Which is your favorite?",
  "time": "30",
  "type": "VOTING",
  "answers": [
    {"answer": "Option A", "color": "#FF0000"},
    {"answer": "Option B", "color": "#00FF00"}
  ]
}

Text Question

{
  "question": "What is the capital?",
  "time": "30",
  "type": "TEXT",
  "answers": [
    {"answer": "Paris", "case_sensitive": false}
  ]
}

Build docs developers (and LLMs) love