ibl-data-manager (3.59.0-ai-plus)
API for iblai
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/catalog/licenses/program/assignment/group/
https://base.manager.iblai.app/api/catalog/licenses/program/assignment/group/
- 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/licenses/program/assignment/group/?active=true&assignment_id=0&fulfilled=true&group_id=0&license_id=0&page=0&page_size=0&platform_key=string&platform_org=string&remove_user_assignments=true&sort=id' \
-H 'Authorization: YOUR_API_KEY_HERE'
Request
API View for creating program licenses.
This endpoint allows administrators to create new program licenses with various configurations.
Methods: POST: Create a new program license
Request Body: A JSON object containing:
- platform_key (str, required): The platform to create a license for
- program_id (str, required): The program ID to create a license for
- name (str, optional): Display name for the license
- count (int, optional): Number of seats purchased (default: 0)
- started (datetime, optional): Date when license should begin
- expired (datetime, optional): Date when license should expire
- active (bool, optional): Whether the license is active (default: true)
- metadata (dict, optional): Additional license metadata
- enrollment_config (dict, optional): Additional enrollment configuration
- source (str, optional): Source identifier
- external_id (str, optional): External identifier (must be unique)
Returns: POST: A JSON response containing the created license: { "id": 123, "created": "2023-06-15T14:30:00Z", "started": "2023-06-15T14:30:00Z", "expired": null, "name": "Program License 2023", "count": 100, "active": true, "metadata": {}, "source": "source", "external_id": "ext-123", "platform_key": "platform1", "program_id": "program-v1:org+program+run" }
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 create licenses 500 Internal Server Error: If an unexpected error occurs during license creation
Access Control:
- Requires IsDMAdmin permission
- Available only to DM administrators
- application/json
- application/x-www-form-urlencoded
- multipart/form-data
The organization identifier for the platform (required if platform_id not provided)
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/catalog/licenses/program/create/
https://base.manager.iblai.app/api/catalog/licenses/program/create/
- 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/licenses/program/create/ \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"platform_key": "string",
"platform_org": "string",
"platform_id": 0,
"program_key": "string",
"name": "string",
"count": 0,
"started": "2019-08-24T14:15:22Z",
"expired": "2019-08-24T14:15:22Z",
"external_id": "string",
"active": true,
"metadata": {
"property1": null,
"property2": null
},
"enrollment_config": {
"property1": null,
"property2": null
},
"source": "api",
"transaction_id": "string"
}'
{ "id": 0, "created": "2019-08-24T14:15:22Z", "started": "2019-08-24T14:15:22Z", "expired": "2019-08-24T14:15:22Z", "name": "string", "count": 0, "active": true, "metadata": { "property1": null, "property2": null }, "source": "string", "external_id": "string", "platform_key": "string", "program_id": "string", "program_key": "string", "program_name": "string", "usage_count": 0, "assignments": { "property1": 0, "property2": 0 } }
Request
API View for updating existing program licenses.
This endpoint allows administrators to update the properties of an existing program license.
Methods: POST: Update an existing program license
Request Body: A JSON object containing:
- license_id (int, optional): The ID of the license to update (required if external_id not provided)
- external_id (str, optional): External identifier of the license to update (required if license_id not provided)
- name (str, optional): Updated display name for the license
- count (int, optional): Updated number of seats purchased
- started (datetime, optional): Updated date when license should begin
- expired (datetime, optional): Updated date when license should expire
- active (bool, optional): Updated active status
- metadata (dict, optional): Updated additional license metadata
- enrollment_config (dict, optional): Updated enrollment configuration
- source (str, optional): Updated source identifier
- change_type (str, optional): Type of change being made (default: "update")
Returns: POST: A JSON response containing the updated license: { "id": 123, "created": "2023-06-15T14:30:00Z", "started": "2023-06-15T14:30:00Z", "expired": "2024-06-15T14:30:00Z", "name": "Updated Program License 2023", "count": 150, "active": true, "metadata": {"updated": true}, "source": "updated-source", "external_id": "ext-123", "platform_key": "platform1", "program_id": "program-v1:org+program+run" }
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 update licenses 404 Not Found: If the specified license doesn't exist 500 Internal Server Error: If an unexpected error occurs during license update
Access Control:
- Requires IsDMAdmin permission
- Available only to DM administrators
Notes:
- Cannot update the platform or program associated with a license
- A license history record is automatically created for each update
- application/json
- application/x-www-form-urlencoded
- multipart/form-data
- Mock server
https://docs.ibl.ai/_mock/apis/ibl/api/catalog/licenses/program/update/
https://base.manager.iblai.app/api/catalog/licenses/program/update/
- 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/licenses/program/update/ \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"license_id": 0,
"external_id": "string",
"name": "string",
"count": 0,
"started": "2019-08-24T14:15:22Z",
"expired": "2019-08-24T14:15:22Z",
"active": true,
"metadata": {
"property1": null,
"property2": null
},
"enrollment_config": {
"property1": null,
"property2": null
},
"source": "string",
"transaction_id": "string",
"change_type": "update"
}'
{ "id": 0, "created": "2019-08-24T14:15:22Z", "started": "2019-08-24T14:15:22Z", "expired": "2019-08-24T14:15:22Z", "name": "string", "count": 0, "active": true, "metadata": { "property1": null, "property2": null }, "source": "string", "external_id": "string", "platform_key": "string", "program_id": "string", "program_key": "string", "program_name": "string", "usage_count": 0, "assignments": { "property1": 0, "property2": 0 } }