ibl-data-manager (3.59.0-ai-plus)
API for iblai
Request
GET Retrieve desired skills for user
Params: name id slug
This method retrieves the skills reported by a user. It requires either a user_id or username to identify the user. If the user is found and has reported skills, the first reported skill is serialized and returned with a status code of 200. If no skills are found, a status code of 400 is returned.
Error Conditions:
- If the user cannot be identified, a 400 status code is returned.
- If no reported skills exist for the user, a 400 status code is returned.
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/catalog/skills/reported/
https://base.manager.iblai.app/api/catalog/skills/reported/
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.ibl.ai/_mock/apis/ibl/api/catalog/skills/reported/?user_id=0&username=string' \
-H 'Authorization: YOUR_API_KEY_HERE'
{ "user_id": 0, "username": "string", "skills": [ { … } ], "data": null }
Request
POST Add or update a skill.
Params: user_id/username skills data
This method allows adding or updating a user's reported skills. It requires either a user_id or username to identify the user, along with a list of skills and additional data. If the user is identified and the skills are successfully saved, the serialized skill data is returned. A status code of 201 indicates that a new skill was created, while a status code of 200 indicates an update to an existing skill.
Error Conditions:
- If the user cannot be identified, a 400 status code is returned.
- If the skills cannot be saved, a 400 status code is returned.
Side Effects:
- If a new skill is created, it will be persisted in the database.
- If an existing skill is updated, the changes will be saved in the database.
- application/json
- application/x-www-form-urlencoded
- multipart/form-data
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/catalog/skills/reported/
https://base.manager.iblai.app/api/catalog/skills/reported/
- 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/skills/reported/?user_id=0&username=string' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"user_id": 0,
"username": "string",
"skills": [
{
"platform_key": "string"
}
]
}'
{ "user_id": 0, "username": "string", "skills": [ { … } ], "data": null }
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
- 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 GET \
'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'
{ "count": 0, "next_page": "http://example.com", "previous_page": "http://example.com", "results": [ { … } ] }