Skilljar Quiz Questions API
The Quiz Questions API from Skilljar — 2 operation(s) for quiz questions.
The Quiz Questions API from Skilljar — 2 operation(s) for quiz questions.
openapi: 3.0.3
info:
title: Skilljar Assets Quiz Questions API
version: 1.0.0
description: 'The Skilljar API provides comprehensive access to our customer education platform, enabling you to programmatically manage courses, users, enrollments, and more.
This interactive documentation is automatically generated from our codebase and stays current with the latest features and endpoints.
## Getting Started
New to the Skilljar API? Check out these essential resources:
- **[API Getting Started Guide](https://support.gainsight.com/Skilljar/Develop_and_Customize/API/Getting_started_with_the_Skilljar_API)** - Authentication, basic concepts, and your first API call
- **[Token-based SSO](https://support.gainsight.com/Skilljar/Develop_and_Customize/Single_Sign_on_(SSO)/Configuring_Token-Based_Single_Sign-On_(SSO))** - Seamlessly integrate user authentication
- **[Webhooks](https://support.gainsight.com/Skilljar/Develop_and_Customize/API/Using_Webhooks_API)** - Real-time notifications for platform events
'
tags:
- name: Quiz Questions
paths:
/v1/quiz-questions:
post:
operationId: quiz_questions_create
description: 'Create a new quiz question.
Required fields:
- `quiz` or `question_bank`: The ID of the quiz or question bank to associate the question with.
- `html`: The HTML content of the question.
- `type`: The type of question.
- `answers`: List of possible answers (for applicable question types).'
tags:
- Quiz Questions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/QuestionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/QuestionRequest'
required: true
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
description: ''
/v1/quiz-questions/{question_id}:
get:
operationId: quiz_questions_retrieve
description: Retrieve the details of a specific quiz question by its ID.
parameters:
- in: path
name: question_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Quiz Questions
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
description: ''
put:
operationId: quiz_questions_update
description: 'Update an existing quiz question.
Allows modification of question content, type, and answers.'
parameters:
- in: path
name: question_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Quiz Questions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/QuestionUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/QuestionUpdateRequest'
required: true
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionUpdate'
description: ''
patch:
operationId: quiz_questions_partial_update
description: "Manage quiz questions for your organization.\n\nThis endpoint allows you to create, retrieve, update, and delete questions for quizzes or question banks.\nQuestions can be of various types, such as multiple choice or true/false,\n and must be associated with either a quiz or a question bank.\n\nQuestion types:\n- `MULTIPLE_CHOICE`\n- `TRUE_FALSE`\n- `SHORT_ANSWER`"
parameters:
- in: path
name: question_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Quiz Questions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedQuestionUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedQuestionUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedQuestionUpdateRequest'
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionUpdate'
description: ''
delete:
operationId: quiz_questions_destroy
description: 'Delete a Question.
Permanently removes the question from the quiz or question bank.'
parameters:
- in: path
name: question_id
schema:
type: string
pattern: ^[0-9a-z]+$
required: true
tags:
- Quiz Questions
security:
- OrganizationApiKey: []
- tokenAuth: []
responses:
'204':
description: No response body
components:
schemas:
QuestionRequest:
type: object
properties:
quiz:
type: string
description: The quiz that this question belongs to. It is required to set either this or <code>quiz_question_bank</code>.
quiz_question_bank:
type: string
description: The question bank that this question belongs to. It is required to set either this or <code>quiz</code>.
html:
type: string
minLength: 1
description: The HTML content of the question.
type:
allOf:
- $ref: '#/components/schemas/Type5d1Enum'
description: 'The type of question to create. Can be: MULTIPLE_CHOICE, MULTIPLE_ANSWER, FILL_IN_THE_BLANK, FREEFORM.
* `MULTIPLE_CHOICE` - MULTIPLE_CHOICE
* `MULTIPLE_ANSWER` - MULTIPLE_ANSWER
* `FILL_IN_THE_BLANK` - FILL_IN_THE_BLANK
* `FREEFORM` - FREEFORM'
requires_manual_grading:
type: boolean
description: If true for any question on the quiz, student responses for the corresponding quiz must be manually graded by a dashboard user.
case_sensitive:
type: boolean
description: If true, student responses must match the case of the answer to be correct. This only impacts FILL_IN_THE_BLANK questions.
correct_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question correctly.
incorrect_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question incorrectly.
answers:
type: array
items:
$ref: '#/components/schemas/AnswerRequest'
default: []
description: "The answers for the question. This is required for MULTIPLE_CHOICE, MULTIPLE_ANSWER, and FILL_IN_THE_BLANK question types.<br><br>Example:<pre><code>[\n\t{\"answer_text\": \"Correct answer\", \"correct\": true},\n\t{\"answer_text\": \"Incorrect answer\", \"correct\": false},\n\t{\"answer_text\": \"Second incorrect answer\", \"correct\": false}\n]</pre></code>"
required:
- html
- type
Question:
type: object
properties:
id:
type: string
readOnly: true
quiz:
type: string
description: The quiz that this question belongs to. It is required to set either this or <code>quiz_question_bank</code>.
quiz_question_bank:
type: string
description: The question bank that this question belongs to. It is required to set either this or <code>quiz</code>.
html:
type: string
description: The HTML content of the question.
type:
allOf:
- $ref: '#/components/schemas/Type5d1Enum'
description: 'The type of question to create. Can be: MULTIPLE_CHOICE, MULTIPLE_ANSWER, FILL_IN_THE_BLANK, FREEFORM.
* `MULTIPLE_CHOICE` - MULTIPLE_CHOICE
* `MULTIPLE_ANSWER` - MULTIPLE_ANSWER
* `FILL_IN_THE_BLANK` - FILL_IN_THE_BLANK
* `FREEFORM` - FREEFORM'
requires_manual_grading:
type: boolean
description: If true for any question on the quiz, student responses for the corresponding quiz must be manually graded by a dashboard user.
case_sensitive:
type: boolean
description: If true, student responses must match the case of the answer to be correct. This only impacts FILL_IN_THE_BLANK questions.
correct_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question correctly.
incorrect_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question incorrectly.
answers:
type: array
items:
$ref: '#/components/schemas/Answer'
default: []
description: "The answers for the question. This is required for MULTIPLE_CHOICE, MULTIPLE_ANSWER, and FILL_IN_THE_BLANK question types.<br><br>Example:<pre><code>[\n\t{\"answer_text\": \"Correct answer\", \"correct\": true},\n\t{\"answer_text\": \"Incorrect answer\", \"correct\": false},\n\t{\"answer_text\": \"Second incorrect answer\", \"correct\": false}\n]</pre></code>"
required:
- html
- type
PatchedQuestionUpdateRequest:
type: object
description: Serializer for updating Question model within a Quiz or Question Bank.
properties:
quiz:
type: string
description: The quiz that this question belongs to. It is required to set either this or <code>quiz_question_bank</code>.
quiz_question_bank:
type: string
description: The question bank that this question belongs to. It is required to set either this or <code>quiz</code>.
html:
type: string
minLength: 1
description: The HTML content of the question.
type:
allOf:
- $ref: '#/components/schemas/Type5d1Enum'
description: 'The type of question to create. Can be: MULTIPLE_CHOICE, MULTIPLE_ANSWER, FILL_IN_THE_BLANK, FREEFORM.
* `MULTIPLE_CHOICE` - MULTIPLE_CHOICE
* `MULTIPLE_ANSWER` - MULTIPLE_ANSWER
* `FILL_IN_THE_BLANK` - FILL_IN_THE_BLANK
* `FREEFORM` - FREEFORM'
requires_manual_grading:
type: boolean
description: If true for any question on the quiz, student responses for the corresponding quiz must be manually graded by a dashboard user.
case_sensitive:
type: boolean
description: If true, student responses must match the case of the answer to be correct. This only impacts FILL_IN_THE_BLANK questions.
correct_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question correctly.
incorrect_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question incorrectly.
Answer:
type: object
properties:
id:
type: string
readOnly: true
answer_text:
type: string
maxLength: 1000
correct:
type: boolean
order:
type: integer
readOnly: true
required:
- answer_text
AnswerRequest:
type: object
properties:
answer_text:
type: string
minLength: 1
maxLength: 1000
correct:
type: boolean
required:
- answer_text
QuestionUpdateRequest:
type: object
description: Serializer for updating Question model within a Quiz or Question Bank.
properties:
quiz:
type: string
description: The quiz that this question belongs to. It is required to set either this or <code>quiz_question_bank</code>.
quiz_question_bank:
type: string
description: The question bank that this question belongs to. It is required to set either this or <code>quiz</code>.
html:
type: string
minLength: 1
description: The HTML content of the question.
type:
allOf:
- $ref: '#/components/schemas/Type5d1Enum'
description: 'The type of question to create. Can be: MULTIPLE_CHOICE, MULTIPLE_ANSWER, FILL_IN_THE_BLANK, FREEFORM.
* `MULTIPLE_CHOICE` - MULTIPLE_CHOICE
* `MULTIPLE_ANSWER` - MULTIPLE_ANSWER
* `FILL_IN_THE_BLANK` - FILL_IN_THE_BLANK
* `FREEFORM` - FREEFORM'
requires_manual_grading:
type: boolean
description: If true for any question on the quiz, student responses for the corresponding quiz must be manually graded by a dashboard user.
case_sensitive:
type: boolean
description: If true, student responses must match the case of the answer to be correct. This only impacts FILL_IN_THE_BLANK questions.
correct_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question correctly.
incorrect_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question incorrectly.
required:
- html
- type
QuestionUpdate:
type: object
description: Serializer for updating Question model within a Quiz or Question Bank.
properties:
id:
type: string
readOnly: true
quiz:
type: string
description: The quiz that this question belongs to. It is required to set either this or <code>quiz_question_bank</code>.
quiz_question_bank:
type: string
description: The question bank that this question belongs to. It is required to set either this or <code>quiz</code>.
html:
type: string
description: The HTML content of the question.
type:
allOf:
- $ref: '#/components/schemas/Type5d1Enum'
description: 'The type of question to create. Can be: MULTIPLE_CHOICE, MULTIPLE_ANSWER, FILL_IN_THE_BLANK, FREEFORM.
* `MULTIPLE_CHOICE` - MULTIPLE_CHOICE
* `MULTIPLE_ANSWER` - MULTIPLE_ANSWER
* `FILL_IN_THE_BLANK` - FILL_IN_THE_BLANK
* `FREEFORM` - FREEFORM'
requires_manual_grading:
type: boolean
description: If true for any question on the quiz, student responses for the corresponding quiz must be manually graded by a dashboard user.
case_sensitive:
type: boolean
description: If true, student responses must match the case of the answer to be correct. This only impacts FILL_IN_THE_BLANK questions.
correct_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question correctly.
incorrect_answer_feedback_html:
type: string
description: The feedback to display if the student answers the question incorrectly.
answers:
type: array
items:
$ref: '#/components/schemas/Answer'
readOnly: true
default: []
description: "The answers for the question. This is required for MULTIPLE_CHOICE, MULTIPLE_ANSWER, and FILL_IN_THE_BLANK question types.<br><br>Example:<pre><code>[\n\t{\"answer_text\": \"Correct answer\", \"correct\": true},\n\t{\"answer_text\": \"Incorrect answer\", \"correct\": false},\n\t{\"answer_text\": \"Second incorrect answer\", \"correct\": false}\n]</pre></code>"
required:
- html
- type
Type5d1Enum:
enum:
- MULTIPLE_CHOICE
- MULTIPLE_ANSWER
- FILL_IN_THE_BLANK
- FREEFORM
type: string
description: '* `MULTIPLE_CHOICE` - MULTIPLE_CHOICE
* `MULTIPLE_ANSWER` - MULTIPLE_ANSWER
* `FILL_IN_THE_BLANK` - FILL_IN_THE_BLANK
* `FREEFORM` - FREEFORM'
securitySchemes:
OrganizationApiKey:
type: http
scheme: basic
description: API key authentication using HTTP Basic Auth. Use your API key as the username and leave password empty.
tokenAuth:
type: http
scheme: bearer