Attributes¶
- LR_EXEC_STATUS_T¶
Possible execution status values.
Execution status
Value
OK
0
WARN
1
ERROR
2
When an action results in a WARN execution status, the task has been impeded in a non-critical way, and the server may also provide an execution message.
When an action results in an ERROR execution status, the task has failed and the server will also provide an execution message.
- LR_JOB_STATUS_T¶
Possible job status values.
Job status
Value
Queued
0
Aborted
1
Complete
2
CompleteWithErrors
3
Processing
4
- LR_OBJECT_T¶
Possible learning object types.
Learning object type
Value
Unspecified
0
Asset
1
Topic
2
Module
3
Course
4
Quiz
6
Url
7
- LR_OBJECT_STATUS_T¶
Enumeration of IDs indicating the possible states for a learning object.
Learning object status
Value
Draft
1
InReview
2
Approved
3
Archived
4
Unassigned
5
- LR_REPOSITORY_T¶
Possible types of learning object repositories; these types should always consist of string name values passed into, or retrieved from, the API.
Repository types
Local
Metadata
Federated
All
- LR_TRUST_T¶
Possible types of trust/permission names known by learning object repositories; these types should always consist of string name values passed into, or retrieved from, the API.
Repository trust types
ViewItems
ViewDetails
LinkToLor
RetrieveFromLor
ManageAllItems
ManageMyItems
ViewEventLog
ViewFiles
AddReviews
DeleteReviews
ManageReviews
Classify
SeeAllHiddenObjects
Publish
PublishOffline
Search
VersionMyItems
VersionAllItems
ViewMetadata
EditMetadata
ManageRepositories
AdministerLearningRepository
- Repository.LRWSBaseResult¶
This is the base execution result object from which the ones actually passed back to the client inherit.
{ "ExecutionMessage": <string>, "ExecutionStatus": <number:LR_EXEC_STATUS_T> }
- Repository.LRWSObjectLink¶
{ "ExecutionMessage": <string>, "ExecutionStatus": <number:LR_EXEC_STATUS_T>, "URL": <string> }
- Repository.LRWSObjectProperties¶
Actions that retrieve learning object properties from the Learning Repository fetch back a structure like this:
{ "ExecutionMessage": <string>, "ExecutionStatus": <number:LR_EXEC_STATUS_T>, "RepositoryId": <number:D2LID>, "Status": <number:LR_OBJECT_STATUS_T>, "HiddenFromSearchResults": <boolean>, "PublicallyAvailable": <boolean>, "IdentId": <number:D2LID>, "Version": <number>, "URL": <string>, "Title": <string>, "Description": <string>, "OwnerId": <number:D2LID>, "Keywords": [ <string>, ... ], "Type": <number:LR_OBJECT_T> }
- HiddenFromSearchResults
When true, the learning object will not appear in search results.
- IdentId
Unique service ID for the learning object.
- Keywords
Array of keyword strings. In most cases, you’ll receive a single string element here, with the string value containing a comma-separated list of keywords:
{ // Other properties "Keywords": [ "Word1, Word2, Word3" ] }
However, you can also retreive an array containing several groups of keywords or keyword lists:
{ // Other properties "Keywords": [ "Word 1", "Word 2", "Word A, Word B, Word C" ] }
- OwnerId
Unique service User ID of the user that published the learning object.
- PublicallyAvailable
When true, the learning object will be reachable without requiring login.
- RepositoryId
Unique service ID for the repository containing the learning object.
- URL
URL that a client can use to reach the learning object from the service’s web interface.
- Version
Version for the learning object; an integer value greater than 0.
- Repository.LRWSObjectPropertiesInput¶
When a client invokes an action to update a learning object’s properties, it should provide a structure like this:
{ "RepositoryId": <number:D2LID>, "Status": <number:LR_OBJECT_STATUS_T>, "HiddenFromSearchResults": <boolean>, "PublicallyAvailable": <boolean>, "OwnerId": <number:D2LID>, "Title": <string>, "Description": <string>, "Keywords": [ <string>, ... ] }
- OwnerId
The LMS User ID of the user that owns the learning object.
- Keywords
Array of keyword strings. In most cases, you’ll provide a single string element here, with the string value containing a comma-separated list of keywords:
{ // Other properties "Keywords": [ "Word1, Word2, Word3" ] }
You can also provide any array containing several groups of keywords or keyword lists:
{ // Other properties "Keywords": [ "Word 1", "Word 2", "Word A, Word B, Word C" ] }
- Repository.LRWSPublishResult¶
{ "ExecutionMessage": <string>, "ExecutionStatus": <number:LR_EXEC_STATUS_T>, "IdentId": <number:D2LID>, "Version": <number>, "ActivityId": <string> // Available in LR unstable API contract }
- ActivityId
An opaque string identifier for this LR object represented as an Activity.
- Repository.LRWSPublishStatusResult¶
{ "PublishStatus": <number>, "ErrorMessage": <string>, "LoUrl": <string> }
- Repository.LRWSRepository¶
{ "RepositoryId": <number:D2LID>, "Name": <string>, "Description": <string>, "Type": <string>, "OrgId": <number:D2LID>, "ObjectCount": <number> }
- Repository.LRWSRepositoryCollection¶
{ "ExecutionMessage": <string>, "ExecutionStatus": <number:LR_EXEC_STATUS_T>, "Repositories": [ <Repository:LRWSRepository>, ... ] }
- Repository.LRWSSearchResult¶
{ "RepositoryId": <number>, "IdentId": <number>, "Version": <number>, "URL": <string>, "Title": <string>, "OrgId": <number>, "TypeId": <number:LR_OBJECT_T> }
- Repository.LRWSSearchResultCollection¶
{ "ExecutionMessage": <string>, "ExecutionStatus": <number:LR_EXEC_STATUS_T>, "TotalResults": <number>, "Results": [ <Repository.LRWSSearchResult>, ... ] }
- Repository.LRWSTrust¶
{ "CanViewItems": <boolean>, "CanSeeDetails": <boolean>, "CanLinkToLor": <boolean>, "CanRetrieve": <boolean>, "CanManageAllItems": <boolean>, "CanManageMyItems": <boolean>, "CanSeeEventLog": <boolean>, "CanViewFiles": <boolean>, "CanAddReviews": <boolean>, "CanDeleteReviews": <boolean>, "CanManageReviews": <boolean>, "CanClassify": <boolean>, "CanSeeAllHiddenObjects": <boolean>, "CanPublish": <boolean>, "CanPublishOffline": <boolean>, "CanSearch": <boolean>, "CanVersionMyItems": <boolean>, "CanViewMetadata": <boolean>, "CanEditMetadata": <boolean>, "CanManageRepositories": <boolean> }
- Repository.LRWSTrustCollection¶
{ "ExecutionMessage": <string>, "ExecutionStatus": <number:LR_EXEC_STATUS_T>, "RepositoryTrusts": { "<string:orgUnitId>" : { "<string:roleId>" : { <composite:LRWSTrust> }, "<string:roleId>" : { <composite:LRWSTrust> }, ... }, "<string:orgUnitId>" : { "<string:roleId>" : { <composite:LRWSTrust> }, ... }, ... } }
The structure of the
LRWSTrustCollection
is somewhat different to the typical structures in the Brightspace APIs. Each property in the RepositoryTrusts composite property is a set of role ID-LRWSTrust
tuples gathered together by org unit ID.Client code that parses this collection should note that you likely won’t want to follow the pattern of treating a key:{composite} property as if it were an encapsulated object of type key – in this case, the RepositoryTrusts is much more like a complex dictionary structure, where each element in the outer dictionary associates a key with an inner dictionary structure.
Actions¶
Action status. Unlike other actions provided by LMS product components, the Learning Repository uses HTTP status 200 results to indicate to calling clients that the action has been successfully attempted by the LR component. LR actions generally return a JSON structure containing properties that tell the calling client the result status of a requested action.
It’s possible, therefore, to have an action result in a 200 status code, but not successfully complete the client’s intended action. For example, this can occur with actions that should operate on a learning object identified by an ID, but which the back-end service cannot find.
Accordingly, when you use any Learning Repository action, you should be sure to check the execution status returned in the action’s result JSON structure.
Objects¶
- GET /d2l/api/lr/(version)/objects/search/¶
Retrieve the results for a query-based search across one or more repositories.
- Parameters:
version (D2LVERSION) – API version.
- Query Parameters:
query (string) – CQL-V2.0 query string for the search query.
offset (integer) – Ordinal of the first search result to return.
count (integer) – Number of results to return from the result set (capped at 200).
repositories (CSV) – List of repository IDs to search.
- Permissions:
Caller must have permission to Search all the repositories listed.
- Status Codes:
200 OK – Action successfully attempted.
400 Bad Request – No query string provided.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Input. None of the query parameters are optional; all must be present:
If you want to search for all results, you should pass an empty string for the query parameter.
Your offset value must be less than the number of records in the result set.
If you’d like to page through all the results, specify an empty query string, start with an offset of 0, a reasonable count value, and if you receive as many records as your count, then increment your offset by the count and re-request.
Return. If successful, this action returns a
LRWSSearchResultCollection
JSON data block containing the result set matching your search.If the action was not successfully completed, then this action returns a
LRWSBaseResult
JSON data block containing status data for the task.CQL query notes. For more information about the CQL query strings, see the Contextual Query Language specification. Learning Repository support for CQL-V2.0 query strings consists of these parts of the standard:
Context sets: The cql (
info:srw/cql-context-set/1/cql-v2.0
), sort (info:srw/cql-context-set/1/sort-v1.0
), and dc (info:srw/cql-context-set/1/dc-v1.1
) context sets.Fields: The title, description, and subject fields within the dc context set (for example dc.title and dc.subject).
Sort indices: The title and date fields within the dc context set.
Sort index modifiers: The ascending and descending modifiers within the sort context set.
Boolean operators: The and and or operators.
- GET /d2l/api/lr/(version)/objects/(objectId)/download/¶
Download a package containing the most recent version of a learning object from a local repository.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
- Permissions:
Caller must have permission to Retrieve Objects from the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to retrieve from the repository containing the identified learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. If successful, this action returns a file stream containing the packaged learning object: if the learning object was a quiz, the returned file is a D2L package; otherwise, the returned file is a SCORM package.
If the action was not successfully completed, then this action returns a
LRWSBaseResult
JSON data block containing status data for the task.
- GET /d2l/api/lr/(version)/objects/(objectId)/downloadfile/¶
Download the file for the most recent version of an Asset-type learning object from a local repository.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
- Permissions:
Caller must have permission to Retrieve Objects from the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to retrieve from the repository containing the identified learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Input. Note that you use this action to download the file associated with an
Asset-type
learning object from a local repository; for other learning object types, you can use thedownload package action
instead.Return. If successful, this action returns the contents of the file for the requested learning object. The file content type can be any supported file type, and will be communicated in the Content-Disposition header in the response.
If the call was not successfully completed, then this action returns a
LRWSBaseREsult
JSON data block containing status data for the task.
- GET /d2l/api/lr/(version)/objects/(objectId)/link/¶
Retrieve a URL that a client can use to view the most recent version of a learning object.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
- Permissions:
Caller must have permission to Create Links to Objects in the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to link to objects in the repository containing the learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. This action returns a
LRWSObjectLink
JSON data block containing status data for the task as well as (if successful) the viewing-URL for the learning object.Note that, in the case of learning objects contained in metadata repositories, this action returns the URL referenced by the most recent version of the learning object you identify.
- GET /d2l/api/lr/(version)/objects/(objectId)/properties/¶
Retrieve the basic properties for the latest version of a learning object.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
- Permissions:
Caller must have permission to Search the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to see learning object’s properties.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. This action returns a
LRWSObjectProperties
JSON data block containing status data for the task as well as (if successful) the basic property data for the most recent version of the learning object.
- GET /d2l/api/lr/(version)/objects/(objectId)/(objectVersion)/download/¶
Download a package containing a particular version of a learning object from a local repository.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
- Permissions:
Caller must have permission to Retrieve Objects from the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to retrieve from the repository containing the identified learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. If successful, this action returns a file stream containing the packaged learning object: if the learning object was a quiz, the returned file is a D2L package; otherwise, the returned file is a SCORM package.
If the action was not successfully completed, then this action returns a
LRWSBaseResult
JSON data block containing status data for the task.
- GET /d2l/api/lr/(version)/objects/(objectId)/(objectVersion)/downloadfile/¶
Download the content file contained in a particular version of a file learning object from a local repository.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
- Permissions:
Caller must have permission to Retrieve Objects from the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to retrieve from the repository containing the identified learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. If successful, this action returns the contents of the file for the requested version of the learning object. The file content type can be any supported file type, and will be communicated in the Content-Disposition header in the response.
If the call was not successfully completed, then this action returns a
LRWSBaseREsult
JSON data block containing status data for the task.
- GET /d2l/api/lr/(version)/objects/(objectId)/(objectVersion)/link/¶
Retrieve a URL that a client can use to view a particular version of a learning object.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
- Permissions:
Caller must have permission to Create Links to Objects in the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to link to objects in the repository containing the learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. This action returns a
LRWSObjectLink
JSON data block containing status data for the task as well as (if successful) the viewing-URL for the learning object.Note that, in the case of learning objects contained in metadata repositories, this action returns the URL referenced by the version of the learning object you identify.
- GET /d2l/api/lr/(version)/objects/(objectId)/(objectVersion)/metadata/¶
Retrieve the metadata for a particular version of a learning object.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
objectVersion (Number read as a long integer value) – Learning object version number, must be greater than 0.
- Permissions:
Caller must have permission to View Metadata on the object’s repository.
- Status Codes:
200 OK – Action successfully attempted.
404 Not Found – Unable to locate identified version of learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. If successful, this action sends back an XML document (application/xml mime-type, Dublin Core schema) containing the identified learning object’s metadata.
- GET /d2l/api/lr/(version)/objects/(objectId)/(objectVersion)/properties/¶
Retrieve the properties for a particular version of a learning object.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
objectVersion (Number read as a long integer value) – Learning object version number, must be greater than 0.
- Permissions:
Caller must have permission to Search the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to see learning object’s properties.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. This action returns a
LRWSObjectProperties
JSON data block containing status data for the task as well as (if successful) the basic property data for a particular version of the learning object.
- POST /d2l/api/lr/(version)/objects/(objectId)/delete/¶
Delete all versions of a learning object.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to delete the identified learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Input. Provide an empty post body for this action. You should ensure that your request includes a Content-Length: 0 HTTP header value (some HTTP client libraries may neglect to do this with empty POST calls).
Return. This action returns a
LRWSBaseResult
JSON data block containing status data for the task.
- POST /d2l/api/lr/(version)/objects/(objectId)/¶
Publish a SCORM package to overwrite an existing learning object, using the default publishing options.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID for a learning object in a local repository.
- Permissions:
Caller must have permission to Publish to LOR and Version Items.
- Status Codes:
200 OK – Action successfully attempted.
400 Bad Request – Provided an empty SCORM package.
403 Forbidden – No permission to overwrite the identified learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Input. Provide the SCORM package (as a .zip archive) using the simple file upload process: provide the SCORM package as the upload data to the POST form, and set the name field in the Content-Disposition part-header for the request to “Resource”.
The service overwrites the identified learning object with a new one created from your provided package, and using the default values for the new object’s basic properties:
The target repository’s default visibility settings determine the new object’s visibility to search results and public availability
No thumbnail or Creative Commons license
An Unassigned status value.
Return. This action returns a
LRWSPublishResult
JSON data block containing status data for the task and (if successful) the new version number for the identified learning object.
- POST /d2l/api/lr/(version)/objects/(objectId)/properties/¶
Update the properties for the most recent version of a learning object in a local repository.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
- JSON Parameters:
LRWSObjectPropertiesInput (
Repository.LRWSObjectPropertiesInput
) – Updated properties for the learning object.
- Permissions:
Caller must have permission to Manage All/My Objects in the LOR (as appropriate); may need Publish to the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – No permission to manage the identified learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Input. If the calling user context owns the learning object, then that user context must have Manage My Objects in the LOR permission; otherwise, the user context must have Manage All Objects in the LOR permission. If you provide a new RepositoryId property (to move the learning object from one repository to another), the user context must have Publish to the LOR permission.
Return. This action returns a
LRWSBaseResult
JSON data block containing status data for the task.
- POST /d2l/api/lr/(version)/objects/(objectId)/(objectVersion)/properties/¶
Update the properties for a particular version of a learning object in a local repository.
- Parameters:
version (D2LVERSION) – API version.
objectId (D2LID) – Learning object ID.
objectVersion (Number read as a long integer value) – Learning object version number, must be greater than 0.
- JSON Parameters:
LRWSObjectPropertiesInput (
Repository.LRWSObjectPropertiesInput
) – Updated properties for the learning object.
- Permissions:
Caller must have permission to Manage All/My Objects in the LOR (as appropriate); may need Publish to the LOR.
- Status Codes:
200 OK – Action successfully attempted.
403 Forbidden – Insufficient permission to update learning object properties.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Input. If the calling user context owns the learning object, then that user context must have Manage My Objects in the LOR permission; otherwise, the user context must have Manage All Objects in the LOR permission. If you provide a new RepositoryId property (to move the learning object from one repository to another), the user context must have Publish to the LOR permission.
Return. This action returns a
LRWSBaseResult
JSON data block containing status data for the task.
- POST /d2l/api/lr/(version)/(repositoryId)/upload¶
Initiate a resumable file upload request to publish a SCORM zip package.
- Parameters:
version (D2LVERSION) – API version.
repositoryId (D2LID) – ID for the local repository to contain the learning object.
- Permissions:
Caller must have permission to Publish to LOR.
- Oauth2 Scopes:
lor:object:create
- Status Codes:
308 Resume Incomplete – File is ready to add data to.
403 Forbidden – No permission to publish to the identified learning repository.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
Input. Initiate a resumable upload process. Your POST request must contain three special headers:
X-Upload-Content-Type to indicate the SCORM package’s mime type.
X-Upload-Content-Length to indicate the SCORM package’s total size, in bytes.
X-Upload-File-Name to indicate the file name for the SCORM package.
Return. If successful, this action initiates a resumable upload process. As part of that process, the service provides you a file key value that you can use to publish the uploaded SCORM package as
a new object
oroverwrite an existing object
.
- POST /d2l/api/lr/(version)/(repositoryId)/upload/publish¶
Publish a SCORM package uploaded using the resumable upload process as a new learning object, using the default publishing options.
- Parameters:
version (D2LVERSION) – API version.
repositoryId (D2LID) – ID for the local repository to contain the learning object.
- Permissions:
Caller must have permission to Publish to LOR.
- Oauth2 Scopes:
lor:object:write
- Status Codes:
200 OK – Action successfully attempted.
400 Bad Request – Provided an empty SCORM package.
403 Forbidden – No permission to publish to the identified learning repository.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
Input. Provide a POST form with the file key the service sent you from your
resumable file upload
action. Note that you can provide a name parameter for the framework to use for the file; if you provide no name parameter, the framework seeks to gather the file name from the uploaded file itself.The service creates a new learning object from this SCORM package with default values for the object’s basic properties:
The target repository’s default visibility settings determine the new object’s visibility to search results and public availability
No thumbnail or Creative Commons license
An Unassigned status value.
Return. This action returns a
LRWSPublishResult
JSON data block containing status data for the task and (if successful) the learning object ID and version for the newly created learning object.
- PUT /d2l/api/lr/(version)/objects/¶
Publish a SCORM package as a new learning object, using the default publishing options.
- Parameters:
version (D2LVERSION) – API version.
- Query Parameters:
repositoryId – ID for the local repository to contain the learning object.
- Permissions:
Caller must have permission to Publish to LOR.
- Status Codes:
200 OK – Action successfully attempted.
400 Bad Request – Provided an empty SCORM package.
403 Forbidden – No permission to publish to the identified learning repository.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Input. Provide the SCORM package (as a .zip archive) using the simple file upload process: provide the SCORM package as the upload data to the PUT request, and set the name field in the Content-Disposition part-header for the request to “Resource”.
The service creates a new learning object from this package with default values for the object’s basic properties:
The target repository’s default visibility settings determine the new object’s visibility to search results and public availability
No thumbnail or Creative Commons license
An Unassigned status value.
Return. This action returns a
LRWSPublishResult
JSON data block containing status data for the task and (if successful) the learning object ID and version for the newly created learning object.
- PUT /d2l/api/lr/(version)/(repositoryId)/upload/publish/(objectId)¶
Publish a SCORM package uploaded using the resumable upload process to overwrite an existing learning object, using the default publishing options.
- Parameters:
version (D2LVERSION) – API version.
repositoryId (D2LID) – ID for the local repository to contain the learning object.
objectId (D2LID) – Learning object ID for a learning object in a local repository.
- Permissions:
Caller must have permission to Publish to LOR.
- Oauth2 Scopes:
lor:object:write
- Status Codes:
200 OK – Action successfully attempted.
400 Bad Request – Provided an empty SCORM package.
403 Forbidden – No permission to overwrite the identified learning object.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
Input. Provide a PUT form with the file key the service sent you from your
resumable file upload
action. Note that you can provide a name parameter for the framework to use for the file; if you provide no name parameter, the framework seeks to gather the file name from the uploaded file itself.The service overwrites the identified learning object with a new one created from your provided SCORM package, and using the default values for the new object’s basic properties:
The target repository’s default visibility settings determine the new object’s visibility to search results and public availability
No thumbnail or Creative Commons license
An Unassigned status value.
Return. This action returns a
LRWSPublishResult
JSON data block containing status data for the task and (if successful) the learning object ID and version for the newly created learning object.
Repositories¶
- GET /d2l/api/lr/(version)/repository/(repositoryId)/listorgUnittrusts/¶
Retrieve a list of all the trust permissions tied to provided roles within provided org units.
- Parameters:
version (D2LVERSION) – API version.
repositoryId (D2LID) – Repository ID.
- Query Parameters:
- Permissions:
Caller must have permission to Publish to LOR.
- Status Codes:
200 OK – Action successfully attempted.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. If successful, this action returns a
LRWSTrustCollection
JSON data block containing theLRWSTrust
information for each appropriate role (identified by roleId) within each appropriate org unit (identified by orgUnitId).If this action is not successful, it returns a
LRWSBaseResult
JSON data block containing status data for the task.
- GET /d2l/api/lr/(version)/repositories/all/¶
Retrieve all repositories with the Search trust permission.
- Parameters:
version (D2LVERSION) – API version.
- Query Parameters:
repositoryId (integer) – ID for the local repository to contain the learning object.
- Permissions:
Caller must have permission to Publish to LOR.
- Status Codes:
200 OK – Action successfully attempted.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. If successful, this action returns a
LRWSRepositoryCollection
JSON data block containing the matching, searchable repositories in its Repositories property (an array ofLRWSRepository
JSON blocks).If this action is not successful, it returns a
LRWSBaseResult
JSON data block containing status data for the task.
- GET /d2l/api/lr/(version)/repositories/(type)/¶
Retrieve a list of all repositories of a provided type, that have the provided trust permissions.
- Parameters:
version (D2LVERSION) – API version.
type (LR_REPOSITORY_T name) – Repository type identifier.
- Query Parameters:
orgUnitId (D2LID) – Org unit context for the request.
trustParams (CSV) – List of LR_TRUST_T names.
- Permissions:
Caller must have permission to Publish to LOR.
- Status Codes:
200 OK – Action successfully attempted.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.3+ – Route first appears in LMS v20.20.12.
1.2- – Obsolete as of LMS v20.22.1.
Return. If successful, this action returns a
LRWSRepositoryCollection
JSON data block containing the matching repositories in its Repositories property (an array ofLRWSRepository
JSON blocks).In this action is not successful, it returns a
LRWSBaseResult
JSON data block containing status data for the task.