# catalog_suggestions_course_manage_group_create API View for managing course group suggestions. This endpoint allows administrators to view, create, and delete course suggestions for groups of users within a platform. Query Parameters (GET): platform_key (str, required): The platform to retrieve group suggestions for platform_org (str, optional): The organization identifier for the platform query (str, optional): Search term to filter group suggestions sort (str, optional): Field to sort results by (default: 'id') department_mode (bool, optional): Filter suggestions by department admin access page (int, optional): Page number for pagination page_size (int, optional): Number of items per page Methods: GET: Retrieve a paginated list of course group suggestions for a platform POST: Create or update a course group suggestion DELETE: Remove a course group suggestion Request Body (POST): A JSON object containing: - platform_key (str, required): The platform for the group suggestion - course_id (str, required): The course ID to suggest - group_id (str/int, required): The group to suggest the course to - accepted (bool, optional): Whether the suggestion is accepted - visible (bool, optional): Whether the suggestion is visible - metadata (dict, optional): Additional suggestion metadata Query Parameters (DELETE): suggestion_id (int, required): The ID of the group suggestion to delete Returns: GET: A paginated JSON response containing course group suggestions: { "count": 5, "next": "https://example.com/api/catalog/suggestions/course/group/?page=2", "previous": null, "results": [ { "id": 123, "group_id": 789, "group_name": "Engineering Team", "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", "user_count": 25 }, ... ] } POST: A JSON response containing the created/updated group suggestion: { "id": 123, "group_id": 789, "group_name": "Engineering Team", "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", "user_count": 25 } DELETE: A success response with status 200 Error Responses: 400 Bad Request: If required parameters are missing or invalid, or if group suggestion operations fail 401 Unauthorized: If the user is not authenticated 403 Forbidden: If the user does not have permission to manage group suggestions 500 Internal Server Error: If an unexpected error occurs Access Control: - Requires IsDMAdmin, IsPlatformAdmin, or IsDepartmentModeAdminInPlatform permission - Platform admins can manage group suggestions for their platform - Department admins can manage group suggestions for their departments - DM admins can manage all group suggestions Endpoint: POST /api/catalog/suggestions/course/manage/group/ Version: 3.59.0-ai-plus Security: PlatformApiKeyAuthentication ## Query parameters: - `department_mode` (boolean) Filter suggestions by department admin access - `page` (integer) Page number for pagination - `page_size` (integer) Number of items per page - `platform_key` (string, required) The platform to retrieve group suggestions for - `platform_org` (string) The organization identifier for the platform - `query` (string) Search term to filter group suggestions - `sort` (string) Field to sort results by ## Request fields (application/json): - `platform_key` (string, required) The platform for the group suggestion - `course_id` (string, required) The course ID to suggest - `group_id` (integer, required) The group to suggest the course to - `accepted` (boolean) Whether the suggestion is accepted - `visible` (boolean) Whether the suggestion is visible - `metadata` (object) Additional suggestion metadata - `suggested_by` (string) The user who suggested the group - `direct` (boolean) Whether the suggestion is direct - `department_mode` (boolean) Flag to ensure department admins can call the API ## Response 200 fields (application/json): - `id` (integer, required) The unique identifier for the group suggestion - `group_id` (integer, required) The ID of the group receiving the suggestion - `group_name` (string, required) The name of the group receiving the suggestion - `platform_key` (string, required) The platform key associated with the suggestion - `accepted` (boolean) Whether the suggestion has been accepted - `visible` (boolean, required) Whether the suggestion is visible - `created` (string, required) When the suggestion was created - `modified` (string, required) When the suggestion was last modified - `metadata` (object, required) Additional metadata for the suggestion - `course_id` (string, required) The course ID being suggested - `course_name` (string, required) The name of the course being suggested - `user_count` (integer) Number of users in the group