CertificationRuleProgress

A request or response body; the type column links to the schemas it refers to.

CertificationRuleProgress

FieldTypeRequiredDescription
rule_idstring (uuid)yes—
rule_kindstringyes

one of "subject_hours" | "subject_record_count" | "evidence_document" | "manual_sign_off" | "quiz_pass" | "external_course_pass" | "scorm_course_complete" | "job_aid_viewed"

labelstring | nullyes—
currentnumber | nullyes

Hours or completed records accumulated in the evaluation window, for the threshold rule kinds; null for the others.

pending_currentnumber | nullyes

Hours or records the user's still-pending submissions in the window would add once a manager approves them, for the threshold rule kinds; null for the others.

targetnumber | nullyes

The rule's threshold, for the threshold rule kinds; null for the others.

subject_matter_idstring (uuid) | nullyes

The one subject a threshold rule is narrowed to; null when it counts every tag of the type, and always null on the other kinds.

subject_namestring | nullyes

That subject's name, for display; null whenever subject_matter_id is.

evidence_typestring | nullyes

The evidence type an evidence_document rule looks for.

one of "score" | "date_range" | "quantity" | "url" | "file" | "pass_fail" | "note" | null

evidence_presentboolean | nullyes

Whether a completed record in the window carries that evidence (for pass_fail, a row recording a pass); null for other kinds.

pending_evidence_presentboolean | nullyes

Whether a still-pending submission in the window carries that evidence; null for other kinds.

last_sign_off_atstring (date-time) | nullyes

Most recent sign-off for a manual_sign_off rule, window regardless.

quiz_idstring (uuid) | nullyes

The quiz a quiz_pass rule requires; null for other kinds.

quiz_slugstring | nullyes—
quiz_namestring | nullyes—
last_quiz_pass_atstring (date-time) | nullyes

Most recent passing attempt for a quiz_pass rule, window regardless.

external_course_idstring (uuid) | nullyes

Catalogue id of the course an external_course_pass rule requires; null for other kinds.

external_course_namestring | nullyes—
external_course_codestring | nullyes

The LMS's own identifier of that course.

external_server_namestring | nullyes—
external_course_urlstring (uri) | nullyes

That course's page on its LMS, as the catalogue records it — the learner's way to a course that lives outside this system. Null when the catalogue has no URL for it, and on other kinds.

last_course_pass_atstring (date-time) | nullyes

Most recent passing grade for an external_course_pass rule, window regardless.

scorm_course_idstring (uuid) | nullyes

The hosted SCORM course a scorm_course_complete rule requires; null for other kinds.

scorm_course_namestring | nullyes—
scorm_course_archivedboolean | nullyes

Whether that course is archived — hidden from learners, so no longer takeable; null for other kinds.

last_scorm_complete_atstring (date-time) | nullyes

Most recent counting completion for a scorm_course_complete rule, window regardless: an attempt reported complete without an explicit failed verdict.

scorm_course_recertification_required_atstring (date-time) | nullyes

When that course's package was last replaced with recertification required; completions of earlier package versions no longer satisfy the rule. Null while every completion counts, and on other kinds.

scorm_completion_supersededboolean | nullyes

Whether last_scorm_complete_at was of a package version before the one that required recertification, so it does not satisfy the rule whatever the window. False while no completion is on record; null on other kinds.

job_aid_idstring (uuid) | nullyes

The job aid a job_aid_viewed rule requires opening; null for other kinds.

job_aid_titlestring | nullyes—
job_aid_archivedboolean | nullyes

Whether that aid is archived — hidden from its audience, so no longer openable; null for other kinds.

last_job_aid_view_atstring (date-time) | nullyes

Most recent open of the aid's page for a job_aid_viewed rule, window regardless. Opens of its files do not count.

job_aid_recertification_required_atstring (date-time) | nullyes

That aid's recertification cutoff, when its content was replaced with recertification required: an open before it does not satisfy the rule, whatever the window. Null while every open counts, and on other kinds.

supporting_recordsarray of CertificationSupportingRecord | nullyes

The user's learning records in the evaluation window that count towards a subject_hours, subject_record_count or evidence_document rule, or would once approved — most recent first, each with its status, so a learner can see which records stand behind the rule and which are still awaiting a manager. Records a narrowed threshold rule does not cover are left out. Null for the other kinds.

satisfiedbooleanyes—
jsonExample
{
  "rule_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "rule_kind": "subject_hours",
  "label": "string",
  "current": 0,
  "pending_current": 0,
  "target": 0,
  "subject_matter_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "subject_name": "string",
  "evidence_type": "score",
  "evidence_present": true,
  "pending_evidence_present": true,
  "last_sign_off_at": "2026-01-01T00:00:00.000Z",
  "quiz_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "quiz_slug": "string",
  "quiz_name": "string",
  "last_quiz_pass_at": "2026-01-01T00:00:00.000Z",
  "external_course_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "external_course_name": "string",
  "external_course_code": "string",
  "external_server_name": "string",
  "external_course_url": "string",
  "last_course_pass_at": "2026-01-01T00:00:00.000Z",
  "scorm_course_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "scorm_course_name": "string",
  "scorm_course_archived": true,
  "last_scorm_complete_at": "2026-01-01T00:00:00.000Z",
  "scorm_course_recertification_required_at": "2026-01-01T00:00:00.000Z",
  "scorm_completion_superseded": true,
  "job_aid_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "job_aid_title": "string",
  "job_aid_archived": true,
  "last_job_aid_view_at": "2026-01-01T00:00:00.000Z",
  "job_aid_recertification_required_at": "2026-01-01T00:00:00.000Z",
  "supporting_records": [
    {
      "id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "title": "string",
      "redacted": true,
      "status": "completed",
      "completed_at": "2026-01-01T00:00:00.000Z",
      "hours": 0,
      "evidence_types": [
        "score"
      ]
    }
  ],
  "satisfied": true
}