Add a question to a test library

Adds a single question to the given test library.

Behavior to be aware of:

  • If a question with the same text, type, and answer options already exists in this library, the request is rejected as a duplicate.
  • skillId may reference an existing skill on the library, or a skill name that doesn't exist yet — in the latter case it's automatically added as a new skill. If it's left blank and the library has no skills yet, the request is rejected.
  • If isCommentMandatory is enabled, isCommentAllowed must also be enabled.
  • Audio/video-based question types require recordingTime greater than 0.
  • For a "most/least impactful" multiple-choice question, exactly one option must be marked most impactful and exactly one least impactful, and both must carry a numeric score.
  • AI-driven question types using an advanced prompt require a non-blank aiPrompt; conversation-simulation questions also require a non-blank aiPersona.
  • Newly created questions are always published immediately.
  • After a question is added, the parent library's question count, scoring, and status (draft → published once it has at least one question) update automatically.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
^[0-9a-fA-F]{24}$

The test library's unique identifier.

Body Params

Question details. classification determines the question type and which other fields apply.

Fields you can set when adding a question. Which ones apply depends on classification.

string
length between 1 and 100

The skill this question tests. May reference an existing skill on the library, or a new skill name — new names are added to the library automatically. Required if the library has no skills yet.

string
enum
required

The question type. Determines which other fields are relevant and how the question is validated and presented.

string
enum
Defaults to PLAIN

Text formatting used for the question's content.

Allowed:
string
required

The question text shown to candidates.

testCases
array of objects

Used for coding and hands-on spreadsheet question types.

testCases
textLimit
object
string
length between 0 and 10000

Instructions shown alongside this question.

boolean
Defaults to false
string

Starting code shown to the candidate, for coding questions.

string

Reference solution code, for coding questions.

string | null

Default coding language for this question, where applicable.

options
array of objects

Answer options, used for choice-based question types.

options
FIBOption
array of objects

Configuration for fill-in-the-blank questions.

FIBOption
number
0 to 4000
Defaults to 1

Maximum score for this question.

codingLanguages
array of strings

Coding languages allowed for this question.

codingLanguages
boolean
Defaults to false

Whether this question is shown as a preview before the test starts.

boolean
Defaults to false

Whether candidates may leave a comment on this question.

boolean
Defaults to false

Whether a comment is required. Requires comments to be allowed.

boolean
Defaults to false
number
Defaults to 1

Time allowed for this question, in seconds. Recalculated automatically based on the library's timing mode.

number
Defaults to 0
number

Required, and must be greater than 0, for audio and video question types.

number
Defaults to 3

Number of attempts a candidate is allowed on this question.

string | null
enum
Defaults to INTERMEDIATE

Difficulty level of this question.

Allowed:
string | null
boolean

Whether candidates must answer this question.

string
Defaults to English

Language of this question's content.

questionMetadata
object
string
Defaults to UPLOAD_FILE_OR_ADD_URL

How the candidate submits their answer, for file/document-style questions.

number

Maximum character length allowed for a text answer.

string
Defaults to QUESTION

Whether scoring is applied at the question or option level.

boolean
Defaults to false
boolean
Defaults to false
boolean
Defaults to true
number | null
number
Defaults to 0

Points deducted for an incorrect answer.

ratingOption
array of objects

Configuration for rating-scale questions.

ratingOption
boolean
Defaults to false
boolean
Defaults to false
boolean
Defaults to true

Whether test cases apply to this question. Only relevant for coding and hands-on spreadsheet question types.

boolean
Defaults to true
boolean
Defaults to false
aiCompetencySkills
array of strings

Competency skills evaluated by AI for this question. May not contain angle bracket characters.

aiCompetencySkills
string

How code is organized for this coding question, e.g. single-file or multi-file.

string
string
Defaults to English
string
string
enum
Defaults to HORIZONTAL
Allowed:
string
enum
Defaults to LINEAR
Allowed:
string | null

Prompt used to drive this AI question. Required for advanced AI-driven question types.

string | null
Defaults to INTERVIEWER

The AI persona used for conversation-simulation questions. Required for that question type.

string | null
enum
Defaults to BASIC

Whether this AI question uses a basic or advanced prompt configuration.

Allowed:
interviewQuestions
array of strings
interviewQuestions
string | null
Defaults to WEB

Delivery mode for AI-driven questions.

criteriaScoring
array of objects | null

Named scoring criteria for this question.

criteriaScoring
boolean
Defaults to false
boolean
Defaults to false
string
string
boolean
Defaults to true
string | null
enum

Character set used for typing-test questions.

Allowed:
boolean
Defaults to false
string | null
Defaults to English
string
string
string | null
string | null

A short label for this question, shown in the question list.

boolean
Defaults to false

Whether this question has a defined correct answer.

boolean
Defaults to false
string
boolean
Defaults to false
boolean
Defaults to false
string | null
boolean
Defaults to false
number

Time allowed for a typing-test question.

typingWeights
object

Relative weighting of accuracy versus speed for typing-test scoring.

boolean
Defaults to false

Whether this question's answer options are shuffled for each candidate.

string
enum
Defaults to MULTIPLE_ANSWERS

For multi-select questions, whether candidates choose multiple correct answers or mark options as most/least impactful.

Allowed:
boolean
string | null
boolean
Defaults to false

Whether this question's answers require manual review.

manualReviewOptions
object | null

Configuration for manual review of this question's answers. Required when manual review is enabled — either a reviewing team or at least one reviewer must be specified.

Responses

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json