List Students
Authentication
RequiresUSER_MANAGEMENT.can_view permission.
Query parameters
Search by first name, last name, full name, or email (case-insensitive, partial match).
Filter by programme code (matches students enrolled in that programme).
Filter by account status:
active or inactive.Filter by last-seen activity from this date (ISO 8601). Students with no activity are excluded when a date range is applied.
Filter by last-seen activity up to this date (ISO 8601).
Sort field:
name, last_seen, programme, or status.asc or desc.Number of records to skip.
Max records to return (1-100).
Example request
Response
Notes
overall_case_studiesis the count of active case studies assigned to the student through their programme(s) (programme-code overlap).last_seenis derived from the student’s most recent session activity. A student who has never started a session returnsnull.programmesis a list — a student enrolled in more than one programme returns each, andprogramme_labelis the human-readable join of their names.
Export Students
Authentication
RequiresUSER_MANAGEMENT.can_export permission.
Query parameters
Export format:
csv or xlsx.search, programme,
status, start_date, end_date, sort_by, sort_order.
Example request
Response
Returns a file download.| Format | Media type | Filename |
|---|---|---|
csv | text/csv | students_{tenant_slug}_{YYYY-MM-DD}.csv |
xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | students_{tenant_slug}_{YYYY-MM-DD}.xlsx |
Limits
Hard cap of 50,000 rows per export. If exceeded, narrow your filters.Get Student Details
Authentication
RequiresUSER_MANAGEMENT.can_view permission.
Path parameters
The student’s user ID.
Query parameters
When
false, omits the case_study_details array for a lighter header-only response.Example request
Response
Field reference
| Field | Description |
|---|---|
student_number | Currently the student’s user ID. Will map to the SIS/Campus identifier once the Campus integration lands. |
cohort | Reserved; returns null until a cohort source is wired in. |
overall_case_studies | Case studies assigned via the student’s programme(s). Powers “No. of Case Studies”. |
case_studies_attempted | Distinct case studies the student has started at least one session for. |
case_study_details[] | One card per attempted case study. |
attempts_used / attempts_allowed | Overall attempts consumed vs. total allowed (e.g. “1/2”). |
extra_attempts | Extra attempts granted on top of the base allowance. |
best_score | Highest score across the student’s attempts for this case study, or null if none graded. |
attempts[].transcript_status | available, partial, processing, missing, or failed. |
attempts[].grading_status | pending, complete, or failed. |
attempts[].session_id | Use with the Student Performance attempt endpoints to load the transcript and full report. |
Related actions
- Grant / revoke attempts:
POST /v1/console/attempts/grantand…/revoke(single), or…/grant/bulkfor multi-select. - Transcript & report:
GET /v1/console/student-performance/attempts/{session_id}and its/transcript//gradesub-resources.
Error responses
| Status | Code | Condition |
|---|---|---|
404 | NOT_FOUND | Student not found in the current tenant. |