Create/Update exam

Method

Method Description
exam.examCreate Create exam.
exam.examUpdate Update exam.

Request parameters

{
    "exam": {
        "id": {TestId}, /* Only for update operation */
        "type": {ExamType},
        "check_answer": {CheckAnswer},
        "title": "{ExamTitle}",
        "category": "{ExamCategory}",
        "code": "{ExamCode}",
        "shuffle_questsion": {ShuffleQuestions},
        "shuffle_answers": {ShuffleAnswers},
        "testing_questions": {TestingQuestions},
        "testing_time": {TestingTime},
        "evaluation_method": {EvaluationMethod},
        "passing_score": {PassingScore},
        "show_description_page": {ShowDescriptionPage},
        "show_standard_introduction": {ShowStandardIntroduction},
        "description": "{Description}"
    }
    "resources": {
        "{ResourcePath}": "{ResourceCnt}",
        ...
    }
}

Response parameters

{
    "exam": {
        "id": {TestId}, 
        ...
    },
    "resources": {
        "{ResourcePath}": "{NewResourcePath}",
        ...
    },
    "completed": {Comleted}
}

If a specific option is completely omitted from the request, it will not be updated, and the previously stored value will be preserved.

Variable Type Appearance Description
{TestId} Integer Mandatory Exam id.
{ExamType} Integer Required on create / Optional on update Assessment type. Allowed values: 1 (quiz), 2 (test), 3 (exam).
{CheckAnswer} Integer Optional Lets the applicant check, while taking the assessment, whether the answer(s) they selected are correct, via a "Check Answer" button. Only applicable when assessment type is Quiz (1); Allowed values:
  • 0 - None: checking is disabled, the applicant cannot check their answer.
  • 1 - Single: the applicant can submit and check the answer only once, then input locks.
  • 2 - Multiple: the applicant can check the answer, then change it and check again, repeatedly.
{ExamTitle} String Mandatory Exam title.
{ExamCategory} String Mandatory Exam category. For example "Language" for language related exams or vendor name if it is vendor specific exam.
{ExamCode} String Mandatory Exam code.
{ShuffleQuestions} Boolean Optional When enabled, questions will be shuffled. Enabled by default.
{ShuffleAnswers} Boolean Optional When enabled, question answer options will be shuffled. Enabled by default.
{TestingQuestions} Integer Optional Number of questions, which should appear in online exam simulation. If omitted will be handled automatically. Setting to 0 will re-enable auto-handling. Default value is 60 or will be equal to total available questions (multiple of 5) if it less than 60. Auto-handling is enabled by default and, while enabled, keeps recalculating this value (together with testing_time) from the current question count on every save - including automatically as questions are added or removed later. Explicitly setting a nonzero value that differs from what is currently stored switches auto-handling off and locks that value in place - do this only once all the questions you want have been created, since further additions will no longer be reflected until you set this back to 0. Setting a value higher than the total number of existing questions is not allowed - it is silently replaced by the auto-calculated value instead of raising an error.
{TestingTime} Integer Optional Time given to complete online exam simulation (in minutes). Omitted = on create, defaults to a standard value; on update, keeps whatever is already stored. A negative value forces automatic calculation (1.5 minutes per question by default). For assessment type 3 (Exam) specifically, an explicit (or, on update, a stored) value of 0 is rejected - a positive or negative value is required. Shares the same auto-handling flag as testing_questions: while enabled, this is recalculated together with testing_questions on every save, including as questions are added or removed later. Explicitly setting a nonzero value that differs from what is currently stored for either field switches auto-handling off and locks both values in place - do this only once all the questions you want have been created.
{EvaluationMethod} Integer Mandatory Test evaluation method. Following options are available:
  • 1 - Simple: By Percent of Correct Answers. The test is evaluated based on the percentage of correctly answered questions. The user passes if this percentage meets or exceeds the minimum passing value.
  • 2 - Simple: By Gained Points. The test is evaluated based on the total points gained. The user passes if the total points meet or exceed the minimum passing score.
  • 3 - Grades: By Percent of Correct Answers. The test is evaluated based on the percentage of correctly answered questions. Custom grade levels must be defined by setting a percentage range (minimum and maximum) for each grade.
  • 4 - Grades: By Gained Points. The test is evaluated based on the total points gained. Custom grade levels must be defined by setting a points range (minimum and maximum) for each grade.
For methods 1 and 3 ("percent of correct answers"), the percentage is (number of questions answered fully correctly ÷ total questions in the attempt) × 100 - a plain count of questions, each worth exactly 1 toward that count. Question and answer points are not factored into this percentage at all; they are only used by methods 2 and 4, where the score is the literal sum of points earned.
{PassingScore} Integer Mandatory Applies and mandatory to the following evaluation methods:
  • 1 - Simple: By Percent of Correct Answers. The percentage of correctly answered questions required to pass the test. Must be between 0 and 100; a negative value is rejected.
  • 2 - Simple: By Gained Points. The total number of points required to pass the test. No fixed bound - since answer points can be negative, a negative passing score is accepted, but returns a warning since it is most likely unintended.
{ShowDescriptionPage} Boolean Optional When enabled, a dedicated description page is shown to examinees before the exam starts. Automatically set to false if description is empty. Default: false.
{ShowStandardIntroduction} Boolean Optional When enabled, the standard “Before You Begin” introduction page is shown before the exam starts. Default: true.
{Description} String Optional Exam description content. HTML formatted, may contain media resources like images and audio. Please be aware that only relative URLs are allowed. See Rich HTML formatting for the full list of supported tags and attributes. If omitted from the request, the existing value is preserved and not cleared.
The first image will be used as the social media preview image. If none is available, one will be be generated automatically.
resources Object Optional If you are using media resources like images you need to send the content of each media resource under "resources" node.
{ResourcePath} String Mandatory Path of media resource. Same value as it was used in Description.
Example: "fld/image.jpg" for <img src="fld/image.jpg">.
{ResourceCnt} String Mandatory Base64 encoded content of media resource.
{NewResourcePath} String Mandatory New media resource path.
{Completed} Boolean Mandatory Indicates whether action was successfully completed or not.