CertificationNotificationResult

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

CertificationNotificationResult

FieldTypeRequiredDescription
outcomestringyes

`sent`: the mail server accepted the email. `dry_run`: built and validated, not sent. `skipped_empty`: nothing falls in a window, no training event is upcoming, nothing awaits a person (a submission sent back or pending, an open request), and include_empty was false.

one of "sent" | "dry_run" | "skipped_empty"

audiencestringyes

Whose deadlines the digest covers: `trainee` — the user's own certification requirements; `manager` — the requirements of every trainee holding a role the user manages (scoped to those managed roles).

one of "trainee" | "manager"

user_idstring (uuid)yes

Who the digest covers.

tostring | nullyes

The recipient address used, or null when the digest was skipped.

subjectstring | nullyes

The email's subject line, or null when the digest was skipped.

total_itemsintegeryes

Requirements in the digest across all windows.

minimum 0

window_countsobjectyes

Requirements per window: overdue, and due in 10/30/60 days.

upcoming_eventsintegeryes

Training events in the digest starting within the next 60 days.

minimum 0

preview_textstring | nullyes

The plaintext body that was (or, for dry_run, would have been) sent; the HTML variant is rendered from the same digest.

jsonExample
{
  "outcome": "sent",
  "audience": "trainee",
  "user_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "to": "string",
  "subject": "string",
  "total_items": 0,
  "window_counts": {
    "overdue": 0,
    "next_10_days": 0,
    "next_30_days": 0,
    "next_60_days": 0
  },
  "upcoming_events": 0,
  "preview_text": "string"
}