Skip to content

Returns the paginated roster of a course, each student carrying their enrolment pivot and their completion percentage.

Filter with search; sort with sort_by set to created_at (enrolment date, the default), display_name or last_activity, and sort_dir. Progress is resolved for the whole page in one bulk query.

Endpoint

  • Method: GET

  • Path: /admin/courses/{course_id}/students

  • Edition: Core

  • Controller: CourseAdminController@getCourseStudents

  • Route source: fluent-community/Modules/Course/Http/course_api.php:29

  • Controller source: fluent-community/Modules/Course/Http/Controllers/CourseAdminController.php

  • Requires the course-creator permission and management access to this course.

Live sample

The request and response below were recorded against a running FluentCommunity install and then anonymised — member names, emails, avatars and post content are fictional, and long collections are trimmed to a few entries.

GET List Course Students

GET
/admin/courses/{course_id}/students

Returns the paginated roster of a course, each student carrying their enrolment pivot and their completion percentage.

Controller: CourseAdminController@getCourseStudents
Route source: fluent-community/Modules/Course/Http/course_api.php:29

Authorizations

ApplicationPasswords

WordPress Application Passwords — use Basic auth with username:application_password.

Type
API Key (header: Authorization)

Parameters

Path Parameters

course_id*

Course ID extracted from the URL path.

Type
integer
Required

Query Parameters

search

Search read via $request->getSafe() in getCourseStudents().

Type
string
sort_by

Sort By read via $request->getSafe() in getCourseStudents().

Type
string
Default
"created_at"
sort_dir

Sort Dir read via $request->getSafe() in getCourseStudents().

Type
string

Responses

Successful response

application/json
JSON
{
  
"students": {
  
  
"current_page": 0,
  
  
"data": [
  
  
  
{
  
  
  
  
"avatar": "string",
  
  
  
  
"badge": "string",
  
  
  
  
"created_at": "string",
  
  
  
  
"display_name": "string",
  
  
  
  
"is_verified": 0,
  
  
  
  
"last_activity": "string",
  
  
  
  
"meta": {
  
  
  
  
  
"badge_slug": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"cover_photo": "string",
  
  
  
  
  
"headline": "string",
  
  
  
  
  
"short_description_rendered": "string",
  
  
  
  
  
"website": "string"
  
  
  
  
},
  
  
  
  
"permalink": "string",
  
  
  
  
"progress": 0,
  
  
  
  
"short_description": "string",
  
  
  
  
"space_pivot": {
  
  
  
  
  
"created_at": "string",
  
  
  
  
  
"id": 0,
  
  
  
  
  
"meta": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"role": "string",
  
  
  
  
  
"space_id": "string",
  
  
  
  
  
"status": "string",
  
  
  
  
  
"updated_at": "string",
  
  
  
  
  
"user_id": "string"
  
  
  
  
},
  
  
  
  
"status": "string",
  
  
  
  
"total_points": 0,
  
  
  
  
"user_id": 0,
  
  
  
  
"username": "string"
  
  
  
}
  
  
],
  
  
"first_page_url": "string",
  
  
"from": 0,
  
  
"last_page": 0,
  
  
"last_page_url": "string",
  
  
"links": [
  
  
  
{
  
  
  
  
"active": true,
  
  
  
  
"label": "string",
  
  
  
  
"url": "string"
  
  
  
}
  
  
],
  
  
"next_page_url": "string",
  
  
"path": "string",
  
  
"per_page": 0,
  
  
"prev_page_url": "string",
  
  
"to": 0,
  
  
"total": 0
  
}
}

Playground

Authorization
Variables
Key
Value

Samples

Powered by VitePress OpenAPI

FluentCommunity developer documentation