Quizzes
This endpoint provides comprehensive quiz management functionality.
Overview
The Quizzes API allows you to create, update, and manage assessment quizzes within the system. Each quiz consists of a collection of questions that can be used to evaluate candidates’ knowledge, skills, and abilities in specific domains.
Quiz Lifecycle
- Creation: Administrators create quizzes and define their questions
- Assignment: Quizzes are assigned to sessions for specific purposes
- Distribution: Sessions are shared with candidates for completion
- Evaluation: Results are collected and analyzed
Key Features
- Create and manage quiz templates
- Define various question types (multiple choice, free text, etc.)
- Enable/disable quizzes as needed
- Duplicate existing quizzes to create variations
- Track usage statistics across sessions
Related Endpoints
- Questions API: Manage individual questions within quizzes
- Sessions API: Assign quizzes to candidates and collect responses
- Instances API: Track individual quiz attempts and results
Endpoints
- get /api/v3/quiz/quizzes
- post /api/v3/quiz/quizzes
- post /api/v3/quiz/quizzes/:id/duplicate
- delete /api/v3/quiz/quizzes/:resource_id
- get /api/v3/quiz/quizzes/:resource_id
- patch /api/v3/quiz/quizzes/:resource_id
get/api/v3/quiz/quizzes
Return a paginated list of quiz/quizzes
Input Schema
object
object
object
- `questions`
array
The key is the resource type and the value is an array of fields.
dictionary
Typescript
type InputSchema = {
page?: {
// The page number, default to 1
number?: number;
// The number of items per page, default to 1000
size?: number;
};
// The sort order, comma separated list of fields. See sorting section for more details
sort?: string;
// Set to true to return the total number of items in the collection
count?: boolean;
filter?: {
id?: any;
enabled?: any;
name?: any;
instruction_md?: any;
topic?: any;
organizational_unit?: any;
pass_score?: any;
max_score?: any;
has_instance?: any;
duration?: any;
id?: any;
name__match?: any;
enabled?: any;
with_instance_counter?: any;
};
// The related resources to include in the response. Allowed resources are:
// - `questions`
included?: Array<string>;
// The fields to include in the response.
// The key is the resource type and the value is an array of fields.
fields?: { [key: string]: Array<any> };
};
Output Schema
object
array
object
object
array
Typescript
type OutputSchema = {
data: Array<{
type: string;
id?: string;
attributes?: {
id?: number;
enabled?: boolean;
name?: string;
instruction_md?: string;
topic?: string;
organizational_unit?: string;
pass_score?: number;
max_score?: number;
has_instance?: boolean;
duration?: number;
};
relationships?: Record<string, any>;
}>;
included?: Array<Record<string, any>>;
};
post/api/v3/quiz/quizzes
Create a new quiz/quizzes
Input Schema
object
object
object
Typescript
type InputSchema = {
data: {
type: string;
attributes: {
id?: number;
enabled?: boolean;
name?: string;
instruction_md?: string;
topic?: string;
organizational_unit?: string;
pass_score?: number;
max_score?: number;
has_instance?: boolean;
duration?: number;
};
};
};
post/api/v3/quiz/quizzes/:id/duplicate
Create a duplicate copy of an existing quiz.
This endpoint allows you to create an exact copy of an existing quiz, including all its questions and configuration settings. This is useful when you need to create variations of a quiz or when you want to use an existing quiz as a template for a new one.
Behavior
- Creates a new quiz record with the same properties as the source quiz
- Duplicates all questions associated with the source quiz
- Links the duplicated questions to the new quiz
- Appends “(Copy)” to the name of the duplicated quiz to distinguish it from the original
Response
Returns the newly created quiz record with its questions included in the response. The response has a 201 Created status code.
Input Schema
object
Typescript
type InputSchema = { id: number };
delete/api/v3/quiz/quizzes/:resource_id
Delete the quiz/quizzes
Input Schema
object
Typescript
type InputSchema = { resource_id: number };
get/api/v3/quiz/quizzes/:resource_id
Show a specific quiz/quizzes
Input Schema
object
array
dictionary
Typescript
type InputSchema = {
resource_id: number;
included?: Array<string>;
fields?: { [key: string]: Array<any> };
};
Output Schema
object
object
object
array
Typescript
type OutputSchema = {
data: {
type: string;
id?: string;
attributes?: {
id?: number;
enabled?: boolean;
name?: string;
instruction_md?: string;
topic?: string;
organizational_unit?: string;
pass_score?: number;
max_score?: number;
has_instance?: boolean;
duration?: number;
};
relationships?: Record<string, any>;
};
included?: Array<Record<string, any>>;
};
patch/api/v3/quiz/quizzes/:resource_id
Update a quiz/quizzes
Input Schema
object
object
object
Typescript
type InputSchema = {
resource_id: number;
data: {
type: string;
attributes: {
id?: number;
enabled?: boolean;
name?: string;
instruction_md?: string;
topic?: string;
organizational_unit?: string;
pass_score?: number;
max_score?: number;
duration?: number;
};
};
};