Classroom activity logs
Console client configuration · Response and shared models
Every activity request specifies classroomId and eduUserId. Filters include time, device, join attempt, category, and relation. Lists use cursor pagination.
tracks returns timeline tracks and overview returns the summary. Detail requests use an activity ID and the query window’s from, to, and asOf values to inspect evidence within the same window. Status, error information, and telemetry completeness fields are returned by the server.
Application backends use application business APIs with app credentials. This page describes the separate tenant management calls.
activity.list
List classroom activity.
GET /v1/classrooms/activity
Authentication: tenant Bearer token and x-app-id.
| Language | Call |
|---|---|
| Node.js | c.activity.list(appId, input) |
| Python | c.activity.list(app_id, **input) |
| Java | c.activity.list(appId, input) |
| Go | c.Activity.List(ctx, appID, input, &result) |
| PHP | $c->activity->list($appId, $input) |
Input: ActivityQuery. Fields are sent as URL query parameters.
| Field | Required | Type | Description |
|---|---|---|---|
classroomId | Yes | string | Classroom ID |
from | No | string | undefined | Range start, ISO 8601 |
to | No | string | undefined | Range end, ISO 8601 |
deviceId | No | string | undefined | Device identifier |
attemptId | No | string | undefined | Join attempt ID |
category | No | "join" | "stage" | "media" | "permission" | "message" | "whiteboard" | "tool" | "connection" | "lifecycle" | "other" | undefined | Activity category |
relation | No | "initiated" | "affected" | "observed" | "system" | "server" | undefined | User relation to the activity |
eduUserId | Yes | string | Classroom user ID |
cursor | No | string | undefined | Cursor returned by the previous page |
pageSize | No | number | undefined | Maximum items per page |
Returns: ActivityPage. See shared models for nested fields.
activity.tracks
Get activity tracks.
GET /v1/classrooms/activity/tracks
Authentication: tenant Bearer token and x-app-id.
| Language | Call |
|---|---|
| Node.js | c.activity.tracks(appId, input) |
| Python | c.activity.tracks(app_id, **input) |
| Java | c.activity.tracks(appId, input) |
| Go | c.Activity.Tracks(ctx, appID, input, &result) |
| PHP | $c->activity->tracks($appId, $input) |
Input: ActivityQuery. Fields are sent as URL query parameters.
| Field | Required | Type | Description |
|---|---|---|---|
classroomId | Yes | string | Classroom ID |
from | No | string | undefined | Range start, ISO 8601 |
to | No | string | undefined | Range end, ISO 8601 |
deviceId | No | string | undefined | Device identifier |
attemptId | No | string | undefined | Join attempt ID |
category | No | "join" | "stage" | "media" | "permission" | "message" | "whiteboard" | "tool" | "connection" | "lifecycle" | "other" | undefined | Activity category |
relation | No | "initiated" | "affected" | "observed" | "system" | "server" | undefined | User relation to the activity |
eduUserId | Yes | string | Classroom user ID |
cursor | No | string | undefined | Cursor returned by the previous page |
pageSize | No | number | undefined | Maximum items per page |
Returns: ActivityTracks. See shared models for nested fields.
activity.overview
Get activity overview.
GET /v1/classrooms/activity/overview
Authentication: tenant Bearer token and x-app-id.
| Language | Call |
|---|---|
| Node.js | c.activity.overview(appId, input) |
| Python | c.activity.overview(app_id, **input) |
| Java | c.activity.overview(appId, input) |
| Go | c.Activity.Overview(ctx, appID, input, &result) |
| PHP | $c->activity->overview($appId, $input) |
Input: ActivityQuery. Fields are sent as URL query parameters.
| Field | Required | Type | Description |
|---|---|---|---|
classroomId | Yes | string | Classroom ID |
from | No | string | undefined | Range start, ISO 8601 |
to | No | string | undefined | Range end, ISO 8601 |
deviceId | No | string | undefined | Device identifier |
attemptId | No | string | undefined | Join attempt ID |
category | No | "join" | "stage" | "media" | "permission" | "message" | "whiteboard" | "tool" | "connection" | "lifecycle" | "other" | undefined | Activity category |
relation | No | "initiated" | "affected" | "observed" | "system" | "server" | undefined | User relation to the activity |
eduUserId | Yes | string | Classroom user ID |
cursor | No | string | undefined | Cursor returned by the previous page |
pageSize | No | number | undefined | Maximum items per page |
Returns: ActivityOverview. See shared models for nested fields.
activity.detail
Get activity detail.
GET /v1/classrooms/activity/detail
Authentication: tenant Bearer token and x-app-id.
| Language | Call |
|---|---|
| Node.js | c.activity.detail(appId, input) |
| Python | c.activity.detail(app_id, **input) |
| Java | c.activity.detail(appId, input) |
| Go | c.Activity.Detail(ctx, appID, input, &result) |
| PHP | $c->activity->detail($appId, $input) |
Input: ActivityDetailInput. Fields are sent as URL query parameters.
| Field | Required | Type | Description |
|---|---|---|---|
classroomId | Yes | string | Classroom ID |
from | Yes | string | Range start, ISO 8601 |
to | Yes | string | Range end, ISO 8601 |
asOf | Yes | string | Observation cutoff returned by the list |
eduUserId | Yes | string | Classroom user ID |
activityId | Yes | string | Activity ID |
cursor | No | string | undefined | Cursor returned by the previous page |
pageSize | No | number | undefined | Maximum items per page |
Returns: ActivityDetail. See shared models for nested fields.