TrainingEvent
A request or response body; the type column links to the schemas it refers to.
TrainingEvent
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | yes | — |
| owner_organization_id | string (uuid) | yes | — |
| owner_department_id | string (uuid) | null | yes | Owning department within the organization; null = owned by the organization directly. Scopes which events:read/events:write grants cover the event. |
| title | string | yes | — |
| description_markdown | string | null | yes | — |
| starts_at | string (date-time) | null | yes | When the event starts; null while the time is not yet known (then ends_at is null too). |
| ends_at | string (date-time) | null | yes | When the event ends; null while the time is not yet known. |
| meeting_url | string | null | yes | — |
| location | string | null | yes | — |
| credit_hours | number | null | yes | Hours an attendance is worth; null = the event's wall-clock duration is credited. |
| created_by | string | null | yes | — |
| cancelled_at | string (date-time) | null | yes | Set when the event was cancelled; final. A cancelled event takes no attendance. |
| created_at | string (date-time) | yes | — |
| archived_at | string (date-time) | null | yes | An archived event is hidden from listings; its roster stays on record. |
jsonExample
{
"id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"owner_organization_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"owner_department_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"title": "string",
"description_markdown": "string",
"starts_at": "2026-01-01T00:00:00.000Z",
"ends_at": "2026-01-01T00:00:00.000Z",
"meeting_url": "string",
"location": "string",
"credit_hours": 0,
"created_by": "string",
"cancelled_at": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"archived_at": "2026-01-01T00:00:00.000Z"
}