Skilljar Quiz Questions API

The Quiz Questions API from Skilljar — 2 operation(s) for quiz questions.

OpenAPI Specification

skilljar-quiz-questions-api-openapi.yml Raw ↑
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