AlmondTill/G3N API

On this page

startTrainingPractice

mutation · in the family Your own session

What it does

Start a practice run of a course’s test — the same draw a sitting makes, rehearsed against your pass mark; nothing is certified.

Start YOUR OWN practice of a course's test (🎓: the SAME draw a sitting makes (10 ACTIVE questions, every one when fewer; below 3 refuses CONFLICT/TRAINING_TOO_FEW_QUESTIONS) written into your own progress record — a NEW start REPLACES an open practice (never a conflict); at most 20 starts per course per UTC day (CONFLICT/TRAINING_CAP · cap practice_per_day). passMark = the strictest active requirement binding your roles for the course, else 80. The answer carries NO keys. A practice never touches your sittings, never mints a certificate, never notifies. Requires the unrestricted capability on a USER session.

What happens

Writes only your own progress record; a new start replaces the open practice; at most twenty a day.

Who may call it

Capability area: Your own session — What every signed-in person may do for themselves — their session, their profile and their own work.

Arguments

NameTypeRequiredNotes
courseKeyString String!yesNo further notes.

Returns

TrainingPracticeSitting TrainingPracticeSitting! — A practice draw opened: the course, the pass mark you rehearse against (the strictest rule binding your roles for the course, else 80), the drawn questions in the order asked, when. Nothing is certified.

Example request

mutation ExampleStartTrainingPractice($courseKey: String!) {
  startTrainingPractice(courseKey: $courseKey) {
    courseKey
    passMark
    startedAt
  }
}

Variables:

{
  "courseKey": "<course key>"
}

Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.

Example response

{
  "data": {
    "startTrainingPractice": {
      "courseKey": "<course key>",
      "passMark": 1,
      "startedAt": "2027-01-31T00:00:00.000Z"
    }
  },
  "extensions": {
    "at": {
      "callId": "01EXAMPLE-CALL-ID",
      "version": {
        "requested": {
          "name": "genesis",
          "number": 0
        },
        "serviced": {
          "name": "genesis",
          "number": 0
        }
      }
    }
  }
}

Errors this call can answer