RoleCertificationCompletion
A request or response body; the type column links to the schemas it refers to.
RoleCertificationCompletion
| Field | Type | Required | Description |
|---|---|---|---|
| role | TeamRoleRef | yes | — |
| trainee_count | integer | yes | Holders of the role whose grant has not expired. |
| fully_complete_count | integer | yes | Trainees whose every required type is complete. |
| fully_complete_percent | number | null | yes | fully_complete_count over trainee_count, 0–100; null with no trainees. |
| certifications | array of RoleRequiredCertificationStat | yes | One tally per required certification type, archived types left out. Empty when the role requires nothing — every trainee is then vacuously complete. |
| trainees | array of TraineeCompletion | yes | The roster, named members first, each with their per-type standing. |
jsonExample
{
"role": {
"role_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"role_slug": "string",
"role_name": "string",
"department_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"department_slug": "string",
"department_name": "string",
"organization_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"organization_slug": "string",
"organization_name": "string"
},
"trainee_count": 0,
"fully_complete_count": 0,
"fully_complete_percent": 0,
"certifications": [
{
"certification_type": {
"id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"slug": "string",
"name": "string",
"awarding_mode": "automatic"
},
"complete_count": 0,
"overdue_count": 0,
"not_certified_count": 0,
"complete_percent": 0
}
],
"trainees": [
{
"user_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"display_name": "string",
"email": "string",
"fully_complete": true,
"requirements": [
{
"certification_type_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"state": "complete",
"due_at": "2026-01-01T00:00:00.000Z",
"awarded_at": "2026-01-01T00:00:00.000Z"
}
]
}
]
}