ibl-data-manager (3.59.0-ai-plus)
API for iblai
Request
API View for managing course suggestions.
This endpoint allows administrators to view, create, update, and delete course suggestions for users within a platform.
Query Parameters (GET): platform_key (str, required): The platform to retrieve suggestions for platform_org (str, optional): The organization identifier for the platform query (str, optional): Search term to filter 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 suggestions for a platform POST: Create or update a course suggestion DELETE: Remove a course suggestion
Request Body (POST): A JSON object containing:
- platform_key (str, required): The platform for the suggestion
- course_id (str, required): The course ID to suggest
- user_id (str/int, required): The user 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 suggestion to delete
Returns: GET: A paginated JSON response containing course suggestions: { "count": 10, "next": "https://example.com/api/catalog/suggestions/course/manage/?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" }, ... ] }
POST: A JSON response containing the created/updated suggestion: { "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" }
DELETE: A success response with status 200
Error Responses: 400 Bad Request: If required parameters are missing or invalid, or if suggestion operations fail 401 Unauthorized: If the user is not authenticated 403 Forbidden: If the user does not have permission to manage suggestions 500 Internal Server Error: If an unexpected error occurs
Access Control:
- Requires IsDMAdmin, IsPlatformAdmin, or IsDepartmentModeAdminInPlatform permission
- Platform admins can manage suggestions for their platform
- Department admins can manage suggestions for their departments
- DM admins can manage all suggestions
- application/json
- application/x-www-form-urlencoded
- multipart/form-data
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/catalog/suggestions/course/manage/
https://base.manager.iblai.app/api/catalog/suggestions/course/manage/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.ibl.ai/_mock/apis/ibl/api/catalog/suggestions/course/manage/?department_mode=true&page=0&page_size=0&platform_key=string&platform_org=string&query=string&sort=-id' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"platform_key": "string",
"course_id": "string",
"user_id": "string",
"username": "string",
"email": "user@example.com",
"accepted": false,
"visible": true,
"metadata": {
"property1": null,
"property2": null
},
"suggested_by": "string",
"direct": true,
"department_mode": false
}'
{ "id": 0, "user_id": 0, "username": "string", "name": "string", "platform_key": "string", "accepted": true, "visible": true, "created": "2019-08-24T14:15:22Z", "modified": "2019-08-24T14:15:22Z", "metadata": { "property1": null, "property2": null }, "course_id": "string", "course_name": "string" }
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/catalog/suggestions/course/manage/
https://base.manager.iblai.app/api/catalog/suggestions/course/manage/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://docs.ibl.ai/_mock/apis/ibl/api/catalog/suggestions/course/manage/?department_mode=false&page=0&page_size=0&platform_key=string&platform_org=string&query=string&sort=-id&suggestion_id=0' \
-H 'Authorization: YOUR_API_KEY_HERE'
Request
API View for bulk management of course suggestions.
This endpoint allows administrators to create multiple course suggestions at once.
Methods: POST: Create multiple course suggestions in bulk
Request Body: A JSON object containing:
- platform_key (str, required): The platform for the suggestions
- suggestion_data (list, required): List of suggestion objects, each containing:
- course_id (str, required): The course ID to suggest
- user_id (str/int, required): The user 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
Returns: POST: A JSON response containing the operation results: { "successes": 15, "error_codes": [] }
Error Responses: 400 Bad Request: If required parameters are missing or invalid 401 Unauthorized: If the user is not authenticated 403 Forbidden: If the user does not have permission to manage suggestions 500 Internal Server Error: If an unexpected error occurs during bulk creation
Access Control:
- Requires IsDMAdmin, IsPlatformAdmin, or IsDepartmentModeAdminInPlatform permission
- Platform admins can create suggestions for their platform
- Department admins can create suggestions for their departments
- DM admins can create suggestions for any platform
- application/json
- application/x-www-form-urlencoded
- multipart/form-data
List of suggestion data objects, each containing course_id, user_id, etc.
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/catalog/suggestions/course/manage/bulk/
https://base.manager.iblai.app/api/catalog/suggestions/course/manage/bulk/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.ibl.ai/_mock/apis/ibl/api/catalog/suggestions/course/manage/bulk/ \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"platform_key": "string",
"suggestion_data": [
{
"property1": null,
"property2": null
}
],
"department_mode": false
}'
{ "successes": 0, "error_codes": [ "string" ] }