Course Assignees
Handles API requests for retrieving user assignees
GET /course_assignees/course/{wikiid}/users
Returns a paginated list of active user assignments to the given course, including metadata such as stage completion status, due date, and assignment info. Supports filtering and sorting.
Route Parameters
- wikiid — Required — positive integer
-
The ID of the course to retrieve user assignments for.
- page — Optional — positive integer
-
Specifies the page number for paginated results. Starts at 1. Defaults to 1.
- limit — Optional — positive integer
-
Maximum number of user assignments to return per page. Defaults to 10.
- direction — Optional — enum
-
The sort direction. Must be either "ASC" or "DESC". Defaults to "ASC".
- orderby — Optional — enum
-
The field used for sorting the user list. Allowed values: "username", "status", "stage_progress", "assignment_date", "due_date", "course_completion_date", "recurrence_date". Defaults to "username".
- status — Optional — enum|string (comma-separated)
-
Filter user assignments by course status. Options: "not_started", "in_progress", "completed". Supports multiple values (e.g. ?status=not_started,completed).
- search — Optional — string
-
A search term to filter user assignments by username.
Response
Status: 200 Ok
{ "response": [ { "total_stages": 2, "username": "Jane Doe", "user_avatar": "https:\/\/www.example.com\/static\/images\/avatars\/User\/Dozuki\/single-avatar-2-01.140x105", "completed_stages": 1, "status": "In Progress", "course_completion_date": 1740772150, "assignment_date": 1740512956, "recurrent_date": 1740772156, "due_date": 1743857544 }, { "total_stages": 2, "username": "Steve Hor", "user_avatar": "https:\/\/www.example.com\/static\/images\/avatars\/User\/Dozuki\/single-avatar-2-03.140x105", "completed_stages": 2, "status": "Completed", "course_completion_date": 1740772150, "assignment_date": 1740512956, "recurrent_date": 1740772156, "due_date": 1743857544 }, { "total_stages": 2, "username": "Sterling Hirsh", "user_avatar": "https:\/\/www.dozuki.dev\/static\/images\/avatars\/User\/Dozuki\/single-avatar-2-08.thumbnail", "completed_stages": 0, "status": "Not Started", "course_completion_date": null, "assignment_date": 1741265544, "recurrent_date": 1741524744, "due_date": 1743857544 } ], "hasMore": false, "totalAssignees": 1 }
GET /course_assignees/course/{wikiid}/teams
Returns a paginated list of active team assignments to the given course. Each entry includes the team, its members, and their aggregated course progress.
Route Parameters
- wikiid — Required — positive integer
-
The ID of the course to retrieve team assignments for.
- page — Optional — positive integer
-
Specifies the page number for paginated results. Starts at 1. Defaults to 1.
- limit — Optional — positive integer
-
Maximum number of team assignments to return per page. Defaults to 10.
- direction — Optional — enum
-
The sort direction. Must be either "ASC" or "DESC". Defaults to "ASC".
- orderby — Optional — enum
-
The field used for sorting the team list. Allowed values: "username", "status", "stage_progress", "assignment_date", "due_date", "course_completion_date", "recurrence_date". Defaults to "username".
- search — Optional — string
-
A search term to filter team assignments by team name.
Response
Status: 200 Ok
{ "response": [ { "teamid": 1, "team_name": "Testers", "time_allotted": null, "team_assignment_date": 1742324527, "members_count": 2, "members_completed": 2, "avatar": "https:\/\/ioliveira.pgaletti.dozuki.dev\/igi\/ioliveira\/KKPYR6RLAdCJCGWU.thumbnail", "members": [ { "total_stages": 2, "username": "Jane Doe", "user_avatar": "https:\/\/www.example.com\/static\/images\/avatars\/User\/Dozuki\/single-avatar-2-01.140x105", "completed_stages": 1, "status": "In Progress", "course_completion_date": 1740772150, "assignment_date": 1740512956, "recurrent_date": 1740772156, "due_date": 1743857544 }, { "total_stages": 2, "username": "Steve Hor", "user_avatar": "https:\/\/www.example.com\/static\/images\/avatars\/User\/Dozuki\/single-avatar-2-03.140x105", "completed_stages": 2, "status": "Completed", "course_completion_date": 1740772150, "assignment_date": 1740512956, "recurrent_date": 1740772156, "due_date": 1743857544 }, { "total_stages": 2, "username": "Sterling Hirsh", "user_avatar": "https:\/\/www.dozuki.dev\/static\/images\/avatars\/User\/Dozuki\/single-avatar-2-08.thumbnail", "completed_stages": 0, "status": "Not Started", "course_completion_date": null, "assignment_date": 1741265544, "recurrent_date": 1741524744, "due_date": 1743857544 } ] } ], "hasMore": false, "totalAssignees": 1 }
GET /course_assignees/course/{wikiid}/user/{userid}
Returns detailed information about a user's completion progress on a course
Route Parameters
- wikiid — Required — integer
-
The ID of the course
- userid — Required — integer
-
The ID of the course assignee
Response
Status: 200 OK
[ { "assigner": { "userid": 12, "name": "Admin User", "avatar": "https:\/\/www.example.com\/static\/images\/avatars\/User\/Dozuki\/single-avatar-12-12.thumbnail" }, "assignee": { "userid": 55, "name": "Bob Smith", "avatar": "https:\/\/www.example.com\/static\/images\/avatars\/User\/Dozuki\/single-avatar-21-21.thumbnail" }, "created_date": 1737066060, "due_date": null, "completion_date": null, "completion_status": "In Progress", "total_stages_complete": 1, "stages": [ { "doc_title": "Program Pulse Display (15 Minutes)", "doc_url": "\/Guide\/Program+Pulse+Display+(15+Minutes)\/4", "docid": 4, "doctype": "guide", "completion_status": "completed", "completion_date": 1743441823, "due_date": null, "work_log_entry_pdf_url": null, "work_log_completion_date": null, "attached_quiz": { "quiz_revisionid": 672, "quizid": 82, "modified_by": 2, "title": "Program Pulse Display Quiz", "description": "", "passing_score": 80, "deleted": 0, "date": 1737141834, "quiz_json": { "title": "Program Pulse Display Quiz", "elements": [ { "name": "question1", "type": "boolean", "title": "The Program Pulse Display is found in sector 2", "correctAnswer": "true" }, { "name": "question2", "type": "boolean", "title": "The Program Pulse Display must be turned off when done", "correctAnswer": false } ] }, "enabled": 1, "nonMediaQuestionsCount": 2 }, "quiz_session": { "quiz_sessionid": 401, "userid": 5, "quizid": 82, "quiz_revisionid": 672, "doctype": "GUIDE", "docid": 2, "langid": "en", "doc_revisionid": 1819, "response_json": "{\"question1\":true,\"question2\":false,\"question3\":false}", "init_date": 1743441823, "end_date": 1743441823, "score": 100, "passed": 1, "cancelled": 0, "last_modified": 1743441823 }, "quiz_attempts_remaining": 0, "signoff": null }, { "doc_title": "Program Pulse Display Wiki", "doc_url": "\/Wiki\/program_pulse_display_wiki", "docid": 51, "doctype": "wiki", "completion_status": "invalidated", "completion_date": 1735683254, "due_date": null, "work_log_entry_pdf_url": null, "work_log_completion_date": null, "attached_quiz": null, "quiz_session": null, "quiz_attempts_remaining": 3, "signoff": { "stage_assessmentid": 125, "course_stageid": 446, "assessmenttype": "trainer-sign-off", "assessmentid": 0, "skills_points_possible": 0, "quiz_passing_score": null, "teamid_signer": 1, "signoffTeam": { "teamid": 1, "name": "TEST TEAM", "image": "https:\/\/www.dozuki.dev\/static\/images\/avatars\/Team\/generic\/team-avatar-16.thumbnail" }, "signoff_requestid": 31, "is_cancelled": 0, "userid_requestor": 5, "userid_requestee": 4, "work_log_entryid": null, "response_value": 1, "response_feedback": "Great work!", "response_acknowledged": 1, "created_at": 1743203640, "completed_at": 1743442504, "acknowledged_at": 1743442507, "response_type": "sync", "requestee_avatar": "https:\/\/www.dozuki.dev\/static\/images\/avatars\/User\/Dozuki\/single-avatar-2-09.thumbnail" } } ] } ]