Skip to Content
Reports

Reports

Reports provides structured training analytics on TA performance across your institution. It computes overview tables, leaderboard rankings, trend charts, and detailed attempt history — all filterable by date range, cohort, department, simulation, and scenario.

Reports list showing learner profiles with aggregate scores and attempt counts

What is Reports?

Reports is the analytics engine that aggregates TA training data into five computed sections:

  • Header Metrics — Total attempts, average score, completion percentage, first-attempt pass rate (each with trend data and hover tooltips).
  • Overview — Per-simulation breakdown showing attempts, completed attempts, passed attempts, average score, completion percentage, and pass rate.
  • Leaderboard — Ranked TA profiles with metrics like average score, highest score, total attempts, and first-attempt pass rate.
  • Trends — Time-series chart data with daily aggregations of attempts, scores, and pass rates.
  • History — Paginated attempt rows with scores, chat counts, and completion details.

Individual report showing per-attempt scores, rubric standard breakdowns, and improvement trends

Reports is designed for program coordinators who need to evaluate how a cohort of TAs is performing across Confused, Aggressive, Passive, and Happy student persona simulations.

Quick Start

CLI

Calls below use $GLOW_INSTANCE_URL + $GLOW_TOKEN — see Authentication to export them once.

# Fetch the full reports bundle glow attempts report # Fetch reports filtered by cohort and date range glow attempts report --body '{"cohort_ids": ["fall-2025-cs101"], "start_date": "2025-01-01", "end_date": "2025-06-30"}' # Export all reports data as a ZIP glow attempts export

API

# Get reports with filters curl -X POST $GLOW_INSTANCE_URL/attempt/report \ -H "Authorization: Bearer $GLOW_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "department_ids": ["dept-cs"], "simulation_ids": ["sim-confused-student"], "start_date": "2025-01-01", "end_date": "2025-06-30", "sort_by": "average_score", "sort_order": "desc", "page_limit": 50 }'

Filtering

FilterFieldDescription
Date rangestart_date, end_dateScope to a semester or custom window
Cohortscohort_idsFilter by training cohort
Simulationssimulation_idsFilter by specific persona simulations
Departmentsdepartment_idsFilter by academic department
RolesrolesFilter by TA role type
Scenariosscenario_idsFilter by individual scenarios
Profilesprofile_idsScope to specific TA profiles
Single TAtarget_profile_idView data for one TA
SearchsearchText search across profiles
Paginationpage_limit, page_offsetControl result page size

Understanding the Response

The ReportsResponse contains:

sections

The computed report sections:

  • header_metricstotal_attempts, average_score, completion_percentage, first_attempt_pass_rate. Each metric includes current_value, has_data, data_points, and hover details (mean, median, mode, count, percent).
  • overview — Array of ReportsOverviewRow grouped by simulation: simulation_id, attempts, completed_attempts, passed_attempts, average_score, pass_rate.
  • leaderboard — Array of ReportsLeaderboardRow with rank, profile_id, total_attempts, average_score, highest_score, plus detailed profile_metrics (messages per session, session efficiency, stagnation rate, time spent).
  • trends — Array of ReportsTrendPoint with date, attempts, average_score, pass_rate for charting.
  • history — Array of ReportsHistoryRow with attempt_id, score_percent, has_passed, num_chats, total_time_seconds.

resources

Resource metadata keyed by ID for hydrating IDs into display names:

  • simulations, profiles, scenarios, cohorts, personas, rubrics

Filter options

  • simulation_options, profile_options, scenario_options — dropdown options with value, label, and count.

Refreshing and Exporting

# Refresh materialized views and caches curl -X POST $GLOW_INSTANCE_URL/attempt/refresh \ -H "Authorization: Bearer $GLOW_TOKEN" # Export all reports data as a denormalized ZIP curl -X POST $GLOW_INSTANCE_URL/attempt/export \ -H "Authorization: Bearer $GLOW_TOKEN"

The export returns content (base64-encoded), file_name, mime_type, and row_count.

Common Operations

TaskCLIAPI Endpoint
Get reports dataglow attempts reportPOST /attempt/report
Export dataglow attempts exportPOST /attempt/export
Refresh cachesPOST /attempt/refresh
View API docsPOST /reports/docs
Last updated on