# catalog_suggestions_course_user_retrieve API View for retrieving course suggestions for a specific user. This endpoint allows users to view course suggestions that have been made for them, with support for filtering by platform and pagination. Query Parameters: user (str, required): Username or user ID to retrieve suggestions for platform_key (str, optional): Filter suggestions by platform key platform_org (str, optional): Filter suggestions by platform organization sort (str, optional): Field to sort results by (default: '-id') page (int, optional): Page number for pagination page_size (int, optional): Number of items per page Methods: GET: Retrieve a paginated list of course suggestions for a user Returns: GET: A paginated JSON response containing course suggestions: { "count": 10, "next": "https://example.com/api/catalog/suggestions/course/user/?page=2", "previous": null, "results": [ { "id": 123, "user_id": 456, "username": "student1", "name": "Student Name", "platform_key": "platform1", "accepted": false, "visible": true, "created": "2023-06-15T14:30:00Z", "modified": "2023-06-15T14:30:00Z", "metadata": {}, "course_id": "course-v1:org+course+run", "course_name": "Introduction to Programming" }, ... ] } Error Responses: 400 Bad Request: If required parameters are missing or invalid, or if suggestion retrieval fails 401 Unauthorized: If the user is not authenticated 403 Forbidden: If the user does not have permission to access this resource 500 Internal Server Error: If an unexpected error occurs Access Control: - Requires IsDMAdmin, IsPlatformAdminReadOnly, or IsEdxUserReadOnly permission - Users can view their own suggestions - Platform admins can view suggestions for users in their platform (read-only) - DM admins can view all suggestions Endpoint: GET /api/catalog/suggestions/course/user/ Version: 3.59.0-ai-plus Security: PlatformApiKeyAuthentication ## Query parameters: - `email` (string) Email to retrieve suggestions for - `page` (integer) Page number for pagination - `page_size` (integer) Number of items per page - `platform_key` (string) Filter suggestions by platform key - `platform_org` (string) Filter suggestions by platform organization - `sort` (string) Field to sort results by - `user` (string, required) Username or user ID to retrieve suggestions for - `user_id` (integer) User ID to retrieve suggestions for ## Response 200 fields (application/json): - `count` (integer, required) Total number of results - `next_page` (string,null, required) URL for next page of results - `previous_page` (string,null, required) URL for previous page of results - `results` (array, required) List of course suggestions - `results.id` (integer, required) The unique identifier for the suggestion - `results.user_id` (integer, required) The ID of the user receiving the suggestion - `results.username` (string, required) The username of the user receiving the suggestion - `results.name` (string, required) The full name of the user receiving the suggestion - `results.platform_key` (string, required) The platform key associated with the suggestion - `results.accepted` (boolean, required) Whether the suggestion has been accepted by the user - `results.visible` (boolean, required) Whether the suggestion is visible to the user - `results.created` (string, required) When the suggestion was created - `results.modified` (string, required) When the suggestion was last modified - `results.metadata` (object, required) Additional metadata for the suggestion - `results.course_id` (string, required) The course ID being suggested - `results.course_name` (string, required) The name of the course being suggested