CertificationRuleProgress
A request or response body; the type column links to the schemas it refers to.
CertificationRuleProgress
| Field | Type | Required | Description |
|---|---|---|---|
| rule_id | string (uuid) | yes | — |
| rule_kind | string | yes | one of "subject_hours" | "subject_record_count" | "evidence_document" | "manual_sign_off" | "quiz_pass" | "external_course_pass" | "scorm_course_complete" | "job_aid_viewed" |
| label | string | null | yes | — |
| current | number | null | yes | Hours or completed records accumulated in the evaluation window, for the threshold rule kinds; null for the others. |
| pending_current | number | null | yes | 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. |
| target | number | null | yes | The rule's threshold, for the threshold rule kinds; null for the others. |
| subject_matter_id | string (uuid) | null | yes | 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_name | string | null | yes | That subject's name, for display; null whenever subject_matter_id is. |
| evidence_type | string | null | yes | The evidence type an evidence_document rule looks for. one of "score" | "date_range" | "quantity" | "url" | "file" | "pass_fail" | "note" | null |
| evidence_present | boolean | null | yes | Whether a completed record in the window carries that evidence (for pass_fail, a row recording a pass); null for other kinds. |
| pending_evidence_present | boolean | null | yes | Whether a still-pending submission in the window carries that evidence; null for other kinds. |
| last_sign_off_at | string (date-time) | null | yes | Most recent sign-off for a manual_sign_off rule, window regardless. |
| quiz_id | string (uuid) | null | yes | The quiz a quiz_pass rule requires; null for other kinds. |
| quiz_slug | string | null | yes | — |
| quiz_name | string | null | yes | — |
| last_quiz_pass_at | string (date-time) | null | yes | Most recent passing attempt for a quiz_pass rule, window regardless. |
| external_course_id | string (uuid) | null | yes | Catalogue id of the course an external_course_pass rule requires; null for other kinds. |
| external_course_name | string | null | yes | — |
| external_course_code | string | null | yes | The LMS's own identifier of that course. |
| external_server_name | string | null | yes | — |
| external_course_url | string (uri) | null | yes | 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_at | string (date-time) | null | yes | Most recent passing grade for an external_course_pass rule, window regardless. |
| scorm_course_id | string (uuid) | null | yes | The hosted SCORM course a scorm_course_complete rule requires; null for other kinds. |
| scorm_course_name | string | null | yes | — |
| scorm_course_archived | boolean | null | yes | Whether that course is archived — hidden from learners, so no longer takeable; null for other kinds. |
| last_scorm_complete_at | string (date-time) | null | yes | 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_at | string (date-time) | null | yes | 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_superseded | boolean | null | yes | 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_id | string (uuid) | null | yes | The job aid a job_aid_viewed rule requires opening; null for other kinds. |
| job_aid_title | string | null | yes | — |
| job_aid_archived | boolean | null | yes | Whether that aid is archived — hidden from its audience, so no longer openable; null for other kinds. |
| last_job_aid_view_at | string (date-time) | null | yes | 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_at | string (date-time) | null | yes | 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_records | array of CertificationSupportingRecord | null | yes | 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. |
| satisfied | boolean | yes | — |
{
"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
}