kapi WorksDocs
Format reference

Questions

Question kinds, answer keys, feedback and explanations, and the held questions Kapi's test draws from.

Every question, with its answer, feedback and explanation. Practice questions sit on pages; held questions sit only in a test's pool.

Every question

A question. Its kind sets the keys it takes besides id, kind, prompt, situation and explanation.

  • id: ID, required. The question's ID. Its text IDs start with it, such as q1.prompt.
  • kind: "choice", "multi", "exact", "order", "match", required. The question's kind.
  • prompt: text ID, required. The text ID of the question.
  • situation: text ID. The text ID of the situation it's set in, shown before the question.
  • explanation: text ID. The text ID of why the answer is right, shown after an answer.

Kinds

KindWhat it asks
choiceOne right choice.
multiOne or more right choices.
exactA typed answer.
orderPut items in order.
matchSort items into groups.

choice

One right choice.

  • choices: list of choices, required. The choices.
  • choices[].id: ID, required. The choice's ID.
  • choices[].text: text ID, required. The text ID of the choice.
  • choices[].feedback: text ID. The text ID of why this choice is right or wrong, shown after an answer.
  • answer: ID, required. The ID of the right choice.

multi

One or more right choices.

  • choices: list of choices, required. The choices.
  • choices[].id: ID, required. The choice's ID.
  • choices[].text: text ID, required. The text ID of the choice.
  • choices[].feedback: text ID. The text ID of why this choice is right or wrong, shown after an answer.
  • answer: list of IDs, required. The IDs of every right choice.

exact

A typed answer.

  • accepted: list of texts, required. The answers Kapi accepts, as the words themselves.
  • match: "prose", "exact", required. prose ignores case, accents, punctuation and extra spaces. exact keeps them all, for code and symbols.

order

Put items in order.

  • items: list of items, required. The items.
  • items[].id: ID, required. Its ID.
  • items[].text: text ID, required. The text ID of its words.
  • answer: list of IDs, required. The item IDs, in the right order.

match

Sort items into groups.

  • items: list of items, required. The items to sort.
  • items[].id: ID, required. Its ID.
  • items[].text: text ID, required. The text ID of its words.
  • groups: list of items, required. The groups.
  • groups[].id: ID, required. Its ID.
  • groups[].text: text ID, required. The text ID of its words.
  • answer: object, required. Each item's ID, with the ID of its group.

Choices and items

Each choice in choices:

  • id: ID, required. The choice's ID.
  • text: text ID, required. The text ID of the choice.
  • feedback: text ID. The text ID of why this choice is right or wrong, shown after an answer.

Each item or group in items and groups:

  • id: ID, required. Its ID.
  • text: text ID, required. The text ID of its words.

Practice and the test

A practice question sits on one page, in a question block, and shows its feedback and explanation after an answer. A held question sits only in a test's pool, in assessments in kapi-works.json, and Kapi's test draws from it.

  • assessments[].id: ID, required. The test's ID.
  • assessments[].title: text ID, required. The text ID of the test's name.
  • assessments[].pool: list of IDs, required. The IDs of the questions the test draws from. These held questions sit on no page.
  • assessments[].suggest: object. The test settings Kapi suggests. The company decides.
  • assessments[].suggest.draw: whole number, required. How many questions each attempt draws, up to 50.
  • assessments[].suggest.passMark: whole number, required. The pass mark, as a percentage.
  • assessments[].suggest.attempts: whole number. How many attempts a person gets, up to 10.

What Kapi checks

CheckSeverityWhat Kapi says
answer_key_invalidErrorThe answer key ….
explanation_missingErrorThis question has no explanation of why the answer is right.
feedback_missingErrorChoice … has no feedback. Every choice says why it's right or wrong.
held_question_on_pageErrorThis question is in …'s pool, so it can't also sit on a page. Kapi's test would show it again.
held_kind_not_allowedErrorKapi's test takes choice and multi questions only.
pool_too_smallErrorThe pool holds fewer questions than the test draws (…).
pool_smallWarningThe pool holds less than one and a half times the draw (…), so retakes repeat questions.
question_unusedWarningNo page or pool uses this question.
few_situationsTip… Questions set in a situation check that people can use what they learned.

On this page