Attendance Records JSON Fields
Attendance Records JSON uses a bundle shape:
- version: number, currently 3
- exportedAt: ISO timestamp
- session: Attendance record object
Attendance record object fields
Section titled “Attendance record object fields”| Field | Type | Required | Notes |
|---|---|---|---|
| id | number | No | Local database key. |
| sessionId | string | Yes | Unique record ID in payload. |
| originSessionKey | string | Yes | Cross-runtime logical identity key. |
| sessionRevision | number | Yes | Monotonic revision value. |
| recordSource | string | Yes | meeting_live, main_import, or main_restore. |
| startedAt | string | Yes | ISO timestamp when tracking began. |
| endedAt | string | No | ISO timestamp when tracking ended. |
| isActive | boolean | Yes | True while tracking is active. |
| needsExport | boolean | Yes | True if export is pending. |
| mode | string | Yes | generic or roster. |
| meetingUUID | string | No | Zoom meeting UUID. |
| meetingId | string | No | Zoom meeting ID. |
| meetingTopic | string | No | Meeting topic text. |
| privilegeAcquiredAt | string | Yes | ISO timestamp when role privilege was confirmed. |
| guessedProfileId | string | No | Auto-selected Attendance Profile hint. |
| selectedProfileId | string | No | Explicit Attendance Profile in use. |
| selectedIncludedSubgroups | string[] | Yes | Captured subgroup scope from selected profile. |
| selectedGroupSortOrder | string[] | No | Captured group ordering from selected profile. |
| movementEvents | array | Yes | Participant movement event timeline. |
| sessionParticipants | array | Yes | Identity-stitched participant entities. |
| rosterObservations | array | Yes | Poll snapshots captured during meeting. |
| nameChangeEvents | array | Yes | Display name change timeline entries. |
| latestRoster | array | Yes | Latest live roster snapshot at runtime. |
| manualSnapshots | array | Yes | Manual attendance snapshot entries. |
| reconciliationDecisions | array | Yes | Post-match operator decisions list. |
| derivedRows | array | Yes | Computed attendance rows for UI and export. |
| exportedAt | string | No | ISO timestamp of latest export action. |
| raiseHandEntries | array | Yes | Raise/lower event timeline entries. |
| raiseHandCaptures | array | Yes | Aggregate raise-hand capture snapshots. |
| lastSubmittedAt | string | No | Last sync submission timestamp. |
| lateThresholdMinutes | number | Yes | Active late threshold used in this record. |
| returnWindowMinutes | number | Yes | Active return window used in this record. |
Required import validations
Section titled “Required import validations”Import rejects payload when any required field fails:
- sessionId missing
- originSessionKey missing
- startedAt missing
- mode not generic or roster
- movementEvents not array
- sessionParticipants not array
- rosterObservations not array
- nameChangeEvents not array
- manualSnapshots not array
- reconciliationDecisions not array