Skip to content
API: learning objects

API: learning objects

List the learning objects of a course and add, update or delete a SCORM package.

A learning object is an activity in a course. These endpoints list the learning objects of a course and add, update or delete a SCORM package. Adding or updating a package is a multipart upload, so those two calls are POST only. The grading and display fields are the same as the SCORM settings in the Linqur interface.

Every endpoint accepts both GET and POST; the heading shows the method the specification lists first. Uploads must use POST. Send your API key in the Access-Token header. The base URL is https://<your-platform>/local/ltisaas/api.php/v1; use v0 with the token dummy to get test data. Error responses are JSON with success: false, error and debuginfo. Authentication, versions and limits are explained in API documentation.

Generated from the LtiSaas API specification 1.0, retrieved 2026-10-30 from dev-auto.

EndpointDescription
GET /course/learningobject/listGet learning objects for a course
POST /course/learningobject/scorm/addAdd an SCORM package to a course
POST /course/learningobject/scorm/updateUpdate SCORM Learning Object
GET /course/learningobject/deleteDelete a specific learning object

GET /course/learningobject/list

Get learning objects for a course. This endpoint retrieves a list of learning objects associated with a specific course identified by its unique ID.

Parameters

NameInTypeRequiredDescription
courseidqueryintegeryesThe unique identifier of the course.

Example request

curl -H "Access-Token: <your token>" \
  "https://<your-platform>/local/ltisaas/api.php/v1/course/learningobject/list?courseid=<courseid>"

Example response (200). Successful retrieval of learning objects.

{
  "success": true,
  "results": [
    {
      "id": 3,
      "type": "scorm",
      "name": "The big scorm example",
      "is_hidden": false
    }
  ]
}

Errors: 400 Bad Request, 401 Unauthorized

POST /course/learningobject/scorm/add

Add an SCORM package to a course. This endpoint allows adding a SCORM package as a learning object to a specified course.

Request body (multipart/form-data). The properties of the SCORM package.

FieldTypeRequiredDescription
courseidintegeryesThe unique identifier of the course.
packagefilefileyesThe .zip file of the SCORM package.
namestringyesThe name of the SCORM package.
popupintegernoIndicates if the SCORM package should open in a new window (1) or not (0). Allowed values: 0, 1.
widthintegernoThe display width for the SCORM package.
heightintegernoThe display height for the SCORM package.
grademethodintegernoThe grading method for the SCORM package (0: learning objects, 1: highest grade, 2: average grade, 3: sum grade). Allowed values: 0, 1, 2, 3.
maxgradeintegernoThe maximum grade possible for the SCORM package. Minimum 0, maximum 100.
maxattemptintegernoThe maximum number of attempts allowed for the SCORM package. Minimum 0, maximum 6.
whatgradeintegernoThe grading strategy for multiple attempts (0: highest attempt, 1: average grade, 2: first attempt). Allowed values: 0, 1, 2.
forcenewattemptintegernoPolicy for forcing new attempts (0: no, 1: every new attempt is a new grade, 2: every new attempt resets previous grades). Allowed values: 0, 1, 2.
lastattemptlockintegernoIndicates if the SCORM package should be locked after the last attempt (0: no, 1: yes). Allowed values: 0, 1.
autocommitintegernoIndicates if the SCORM package grades should auto commit (0: no, 1: yes). Allowed values: 0, 1.
masteryoverrideintegernoIndicates if the mastery grade overrides the max grade (0: no, 1: yes). Allowed values: 0, 1.

Example request

curl -X POST -H "Access-Token: <your token>" \
  -F "courseid=<courseid>" \
  -F "packagefile=@<packagefile.zip>" \
  -F "name=<name>" \
  "https://<your-platform>/local/ltisaas/api.php/v1/course/learningobject/scorm/add"

Example response (200). Successful addition of the SCORM package to the course.

{
  "success": true,
  "learningobjectid": 0
}

Errors: 400 Bad Request, 401 Unauthorized

POST /course/learningobject/scorm/update

Update SCORM Learning Object. This endpoint enables the updating of a SCORM learning object within a course. Required parameters include the ID of the learning object, the .zip package file, name, popup mode, and other grading and display properties.

Request body (multipart/form-data). The properties of the SCORM package.

FieldTypeRequiredDescription
learningobjectidintegeryesThe ID of the learning object.
packagefilefilenoThe .zip file of the SCORM package.
namestringnoThe name of the SCORM package.
popupintegernoIndicates if the SCORM package should open in a new window (1) or not (0). Allowed values: 0, 1.
widthintegernoThe display width for the SCORM package.
heightintegernoThe display height for the SCORM package.
grademethodintegernoThe grading method for the SCORM package (0: learning objects, 1: highest grade, 2: average grade, 3: sum grade). Allowed values: 0, 1, 2, 3.
maxgradeintegernoThe maximum grade possible for the SCORM package. Minimum 0, maximum 100.
maxattemptintegernoThe maximum number of attempts allowed for the SCORM package. Minimum 0, maximum 6.
whatgradeintegernoThe grading strategy for multiple attempts (0: highest attempt, 1: average grade, 2: first attempt). Allowed values: 0, 1, 2.
forcenewattemptintegernoPolicy for forcing new attempts (0: no, 1: every new attempt is a new grade, 2: every new attempt resets previous grades). Allowed values: 0, 1, 2.
lastattemptlockintegernoIndicates if the SCORM package should be locked after the last attempt (0: no, 1: yes). Allowed values: 0, 1.
autocommitintegernoIndicates if the SCORM package grades should auto commit (0: no, 1: yes). Allowed values: 0, 1.
masteryoverrideintegernoIndicates if the mastery grade overrides the max grade (0: no, 1: yes). Allowed values: 0, 1.

Example request

curl -X POST -H "Access-Token: <your token>" \
  -F "learningobjectid=<learningobjectid>" \
  "https://<your-platform>/local/ltisaas/api.php/v1/course/learningobject/scorm/update"

Example response (200). Returns success when updating a SCORM package.

{
  "success": true
}

Errors: the specification lists no error responses for this endpoint.

GET /course/learningobject/delete

Delete a specific learning object. This endpoint deletes a specific learning object based on the given identifier. It returns a success response upon successful deletion and relevant error responses for invalid requests or unauthorized access.

Parameters

NameInTypeRequiredDescription
learningobjectidqueryintegeryesThe identifier of the learning object.

Example request

curl -H "Access-Token: <your token>" \
  "https://<your-platform>/local/ltisaas/api.php/v1/course/learningobject/delete?learningobjectid=<learningobjectid>"

Example response (200). Returns success if the operation was successful.

{
  "success": true
}

Errors: 400 Bad Request, 401 Unauthorized

Last updated on