RoleCertificationCompletion

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

RoleCertificationCompletion

FieldTypeRequiredDescription
roleTeamRoleRefyes—
trainee_countintegeryes

Holders of the role whose grant has not expired.

fully_complete_countintegeryes

Trainees whose every required type is complete.

fully_complete_percentnumber | nullyes

fully_complete_count over trainee_count, 0–100; null with no trainees.

certificationsarray of RoleRequiredCertificationStatyes

One tally per required certification type, archived types left out. Empty when the role requires nothing — every trainee is then vacuously complete.

traineesarray of TraineeCompletionyes

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"
        }
      ]
    }
  ]
}