AlmondTill/G3N API

TrainingQuestion

object type

A TrainingQuestion (πŸŽ“ β€” THE TRAINING PROGRAM, THE WIRE): ONE multiple-choice question of a course's bank β€” the prompt (at most 400 characters), 2..6 options (each at most 200 characters), correctIndex (0-based, below the options' count), the explanation shown after a sitting (at most 400 characters), the optional play step it tests and its source (drafted | written). THE STRICT SCHEMA: no unknown keys. active = in the draw Β· inactive = retired from the draw, kept Β· doomed. A course's bank holds at most 60 non-doomed questions (CONFLICT/TRAINING_CAP past it). courseKey is IMMUTABLE after birth. A submitted attempt is graded against ITS stored draw β€” a later edit here never re-grades it. NOT searchable (no filter roster until the face).

Fields

FieldTypeNotes
idID ID!The record’s id β€” a UUID the platform assigned when the record was created; every reference to this record uses it.
sysIdString String!The group-scoped human-facing system id (TQ-…).
typeString String!The kind of record β€” always TrainingQuestion here.
captionString String!The record’s display name β€” what people see it called.
statusString String!The FSM state: active | inactive | doomed.
parentIdID ID!The parent org group; for a TrainingQuestion parentId === rootId.
rootIdID ID!The org-group family root.
createdAtString String!When the record was created, as a UTC timestamp.
updatedAtString String!When the record last changed, as a UTC timestamp.
revisionNumInt Int!How many times this record has been edited; the first save is 0.
revisionID ID!The OCC revision token β€” supply it on every mutation of this record; rotates on every write.
refCaptionsRefCaption [RefCaption!]!The server-composed captions of this record's declared references (the referenced-caption rule) β€” one row per referenced id; see RefCaption.
courseKeyString String!The course β€” a LIVE play key. IMMUTABLE at birth.
stepNIntThe play step this question tests (1-based), when one step alone; null when the whole play.
promptString String!The question (at most 400 characters).
optionsString [String!]!2..6 options, each at most 200 characters; replaced WHOLESALE on an edit.
correctIndexInt Int!The right option (0-based; below the options count).
explanationString String!Why that option is right β€” shown after a sitting (at most 400 characters).
sourceString String!Where it came from β€” drafted | written (the assistant's draft the owner kept, or written by hand). IMMUTABLE at birth.

Used by