Every org unit can have a series of dropbox folders to use for gathering submissions from enrolled users and allowing assessors to provide assessment and feedback on those submissions.
Attributes¶
- ENTITYDROPBOXSTATUS_T¶
We categorize the various kinds of entity status into types, and use the term ENTITYDROPBOXSTATUS_T to stand in for an appropriate integer value.
Entity Dropbox Status
Value
Unsubmitted
0
Submitted
1
Draft
2
Published
3
- DROPBOXTYPE_T¶
We categorize the various kinds of dropbox folders into types, and use the term DROPBOXTYPE_T to stand in for an appropriate integer value.
Dropbox Type
Value
Group
1
Individual
2
- SUBMISSIONTYPE_T¶
We categorize the various kinds of submissions into types, and use the term SUBMISSIONTYPE_T to stand in for an appropriate integer value.
Submission Type
Value
File
0
Text
1
OnPaper
2
Observed
3
- DROPBOX_COMPLETIONTYPE_T¶
We categorize the various kinds of completions into types, and use the term DROPBOX_COMPLETIONTYPE_T to stand in for an appropriate integer value.
Completion Type
Value
OnSubmission
0
DueDate
1
ManuallyByLearner
2
OnEvaluation
3
- DROPBOX_LINK_ATTACHMENT_T¶
We categorize the various kinds of links into types, and use the term DROPBOX_LINK_ATTACHMENT_T to stand in for an appropriate string value.
Link Attachment Type
External
Internal
MediaContent
- Dropbox.DropboxFolder¶
When you use actions that retrieve dropbox folder information, the service provides a block like this:
{ "Id": <number:D2LID>, "CategoryId": <number:D2LID>|null, "Name": <string>, "CustomInstructions": "{composite:RichText}", "Attachments": [ // Array of File blocks { "FileId": <number:D2LID>, "FileName": <string>, "Size": <number:long> }, { <composite:File> }, ... ], "TotalFiles": <number>, "UnreadFiles": <number>, "FlaggedFiles": <number>, "TotalUsers": <number>, "TotalUsersWithSubmissions": <number>, "TotalUsersWithFeedback": <number>, "Availability": null|{ "StartDate": <string:UTCDateTime>|null, "EndDate": <string:UTCDateTime>|null, "StartDateAvailabilityType": <string:AVAILABILITY_T>|null, // Added with LE API v1.65 "EndDateAvailabilityType": <string:AVAILABILITY_T>|null // Added with LE API v1.65 }, "GroupTypeId": <number:D2LID>|null, "DueDate": <string:UTCDateTime>|null, "DisplayInCalendar": <boolean>, "Assessment": { "ScoreDenominator": <number:decimal>|null, "Rubrics": [ // Array of Rubric blocks { <composite:Rubric.Rubric> }, { <composite:Rubric.Rubric> }, ... ] }, "NotificationEmail": <string>|null, "IsHidden": <boolean>, "LinkAttachments": [ // Array of Link blocks { "LinkId": <number:D2LID>, "LinkName": <string>, "Href": <string> }, { <composite:Link> }, ... ], "ActivityId": <string>|null, "IsAnonymous": <boolean>, "DropboxType": <string:DROPBOXTYPE_T>, "SubmissionType": <string:SUBMISSIONTYPE_T>, "CompletionType": <string:DROPBOX_COMPLETIONTYPE_T>, "GradeItemId": <number:D2LID>|null, "AllowOnlyUsersWithSpecialAccess": <boolean>|null }
- Assessment
If this property is present and not null, the dropbox folder has an associated assessment, with an optional ScoreDenominator property, and an array of
Rubric
blocks.- DisplayInCalendar
A date only appears in user’s calendars if this property is true (it’s false by default). When true, the back-end service uses a priority order to chose the date to put in the calendar. If there’s a due date, that gets used by preference. If not, then the the service uses the end date. If again not, then finally the service uses the start date. When true, the back-end service _must_ have one of these dates to use (so, on create or update, you must provide at least one of them).
- DueDate
If this property is present and not null, the dropbox folder has a due date for submission. If the property is present with a non-null value, it contains a UTCDateTime.
- GroupTypeId
If the property is present and not null, the dropbox folder is a group-submission folder; otherwise, the dropbox folder is an individual-submission folder. If the property is present with a non-null value, it contains a D2LID for the group’s
GroupCategoryId
.- NotificationEmail
A comma separated list of email addresses which will be sent a notification when any files are submitted to the folder. If this field is empty or null, no notification will be sent.
- TotalUsers, TotalUsersWithSubmissions, and TotalUsersWithFeedback
The number of users for this assignment that can submit to the folder, have already submitted an assignment, and have already received feedback on their submission, respectively. If these properties contain -1, then the number of users enrolled in the corresponding org unit is too large to permit performant calculation of these values (this behaviour can be enabled via D2L support for back-end service), or the requesting user does not have permission to access this information.
- ActivityId
If not null, identifies the underlying activity for this dropbox.
- GradeItemId
If not null, identifies the grade item associated with this dropbox.
- AllowOnlyUsersWithSpecialAccess
When true, allow only users with special access to see this dropbox. If null, then the requesting user does not have permission to manage dropboxes.
- StartDateAvailabilityType, EndDateAvailabilityType
Identifies the availability type (AVAILABILITY_T) for the start and end date values for the dropbox.
- Dropbox.DropboxFolderUpdateData¶
When you use actions that create or update a dropbox folder on the service, you should provide a block that looks like this:
{ "CategoryId": <number:D2LID>|null, "Name": <string>, "CustomInstructions": "{composite:RichTextInput}", "Availability": null|{ "StartDate": <string:UTCDateTime>|null, "EndDate": <string:UTCDateTime>|null, "StartDateAvailabilityType": <string:AVAILABILITY_T>|null, // Added with LE API v1.65 "EndDateAvailabilityType": <string:AVAILABILITY_T>|null // Added with LE API v1.65 }, "GroupTypeId": <number:D2LID>|null, "DueDate": <string:UTCDateTime>|null, "DisplayInCalendar": <boolean>, "NotificationEmail" : <string>|null, "IsHidden": <boolean>|null, "Assessment": null|{ "ScoreDenominator": <number:decimal>|null }, "IsAnonymous": <boolean>|null, "DropboxType": <string:DROPBOXTYPE_T>|null, "SubmissionType": <string:SUBMISSIONTYPE_T>|null, "CompletionType": <string:DROPBOX_COMPLETIONTYPE_T>|null, "GradeItemId": <number:D2LID>|null, "AllowOnlyUsersWithSpecialAccess": <boolean>|null }
- CustomInstructions
Note that this property uses the RichTextInput structure type.
- Availability
If null, the dropbox folder in question is always available; otherwise, it’s availability is restricted to the time window expressed by the StartDate and EndDate properties contained in the Availability object.
If you provide start and end date values, you should also provide values for the corresponding availability type fields (StartDateAvailabilityType and EndDateAvailabilityType) when the feature is available. If you do not provide type values, the back end service uses the default availability type configured for the appropriate org unit. If you provide the type fields and the feature is not available for the orgunit, your actions will return a 400 Bad Request bad request status code.
- DisplayInCalendar
A date only appears in user’s calendars if this property is true (it’s false by default). When true, the back-end service uses a priority order to chose the date to put in the calendar. If there’s a due date, that gets used by preference. If not, then the the service uses the end date. If again not, then finally the service uses the start date. When true, the back-end service _must_ have one of these dates to use (so, on create or update, you must provide at least one of them).
- GroupTypeId
If the property is present and not null, the dropbox folder is a group-submission folder; otherwise, the dropbox folder is an individual-submission folder. If the property is present with a non-null value, it contains a D2LID for the group’s
GroupCategoryId
.- NotificationEmail
A comma separated list of email addresses which will be sent a notification when any files are submitted to the folder. If this field is empty or null, no notification will be sent.
- IsHidden
If null or not present, the property will not be changed. Defaults to false for new dropbox folders.
- Assessment
If null or not present, the property will not be changed. Defaults to null for new dropbox folders. If ScoreDenominator is null or not preset, the property will not be changed. ScoreDenominator defaults to null for new dropbox folders.
- IsAnonymous
If null or not present, the property will not be changed. Default is based on anonymous config settings for new dropbox folders. If anonymity is forced on, it will default to true. If default config is on, it will default to true. Otherwise, it will default to false.
When editing a dropbox that has submissions, the IsAnonymous state could be turned on but not off. When editing, if the config forced is on and the folder has IsAnonymous true, it won’t allow changing to false. Dropboxes that have a third-party integration for Anonymous may interfere with the above stated logic.
- DropboxType
If null or not present, the property will not be changed. Defaults to Group for new dropbox folders if the GroupTypeId property is present and not null; otherwise, the default is Individual. When changing a dropbox from Individual to Group, the GroupTypeId property must be present and not null. If submissions have been received the type will not be allowed to change.
- SubmissionType
If null or not present, the property will not be changed. Default is File for new dropbox folders. If submissions have been received this property will not be allowed to change.
- CompletionType
If null or not present, the property will not be changed. Default is OnSubmission for new dropbox folders. If submissions have been received this property will not be allowed to change.
The supported values of this property depends on the value of the SubmissionType value.
Submission Type
On Submission
Due Date
Manually By Learner
On Evaluation
File
X
Text
X
OnPaper
X
X
X
Observed
X
X
X
- GradeItemId
If null or not present, the property will not be changed. Defaults to null.
- AllowOnlyUsersWithSpecialAccess
If null or not present, the property will not be changed. Default is false for new dropbox folders. The calling user requires permission to manage dropboxes, manage delivery, and set special access to change this property.
Feedback¶
- Dropbox.DropboxFeedback¶
When you use this API to post feedback against a submission, you provide a feedback block without file attachments, and then use the API to upload files to the existing feedback ID:
{ "Score": <number:decimal>|null, "Feedback": { <composite:RichText> }, "RubricAssessments": [ // Array of RubricAssessment blocks { <composite:RubricAssessment> }, { <composite:RubricAssessment> }, ... ], "IsGraded": <boolean>, "GradedSymbol": <string>|null }
- Feedback
Note that these properties require a RichText object.
- Feedback properties
Note that these properties require a RichText object.
- IsGraded
If true, the feedback is in a graded state; otherwise, it’s still in draft state. Once feedback moves from the draft to graded state, and this property gets set to true, it’s inadvisable to set it back to false.
- RubricAssessments
Contains an array of
RubricAssessment
blocks.- GradedSymbol
If the parent dropbox folder is associated with a
grade object
that is a select box grade object type, then this field can be used to set the score. This is done by using thegrade scheme
to determine the assigned value associated with the symbol specified. Note if this field is set, it will be used to set the score and not the score field.
- Dropbox.DropboxFeedbackOut¶
When you use this API to retrieve the feedback information assigned to a submission, you get an info block that lists the feedback information along with any file attachments:
{ "Score": <number:decimal>|null, "Feedback": { <composite:RichText> }, "RubricAssessments": [ // Array of RubricAssessment blocks { <composite:RubricAssessment> }, { <composite:RubricAssessment> }, ... ], "IsGraded": <boolean>, "Files": [ // Array of File blocks { "FileId": <number:D2LID>, "FileName": <string>, "Size": <number:long> }, { <composite:File> }, ... ], "Links": [ // Array of Link blocks { "Type": <string:DROPBOX_LINK_ATTACHMENT_T>, "LinkId": <number:D2LID>, "LinkName": <string>, "Href": <string>|null }, { <composite:Link> }, ... ], "GradedSymbol": <string>|null }
- Feedback
Note that these properties require a RichText object.
- IsGraded
If true, the feedback is in a graded state; otherwise, it’s still in draft state.
- RubricAssessments
Contains an array of
RubricAssessment
blocks.- GradedSymbol
The
grade scheme
symbol for the score on the dropbox. Only applicable if the associatedgrade object
has agrade scheme
.- Type
Identifies the type of link. When the type is MediaContent the Href value will be null as the link represents a pointer to the actual media file.
Entities¶
- Dropbox.Entity¶
Entities are those users (or groups of users) that can provide submissions for assessment and/or assess the submissions of other entities and provide feedback.
Entities with an entity type of “User” look like this:
{ "EntityId": <number:D2LID>, "EntityType": "User", "DisplayName": <string> }
- DisplayName
The DisplayName will reflect the Anonymous display settings of the dropbox.
Entities with an entity type of “Group” look like this:
{ "EntityId": <number:D2LID>, "EntityType": "Group", "Name": <string> }
- Dropbox.EntityDropbox¶
In each dropbox, each entity (user or group) that has permissions to submit work, or provide feedback on submitted work, will have an associated EntityDropbox once they’ve made a submission:
{ "Entity": { <composite:Dropbox.Entity> }, "Status": <string:ENTITYDROPBOXSTATUS_T>, "Feedback": { <composite:Dropbox.DropboxFeedbackOut> }, "Submissions": [ // Array of Submission blocks { "Id": <number:D2LID>, "SubmittedBy": { "Id": <string>, "DisplayName": <string> }, "SubmissionDate": <string:UTCDateTime>|null, "Comment": { <composite:RichText> }, "Files": [ // Array of File blocks { "FileId": <number:D2LID>, "FileName": <string>, "Size": <number:long>, "isRead": <boolean>, "isFlagged": <boolean> }, { <composite:File> }, ... ] }, { <composite:Submission> }, ... ], "CompletionDate": <string:UTCDateTime>|null }
- Submissions.SubmittedBy.DisplayName
The DisplayName will reflect the Anonymous display settings of the dropbox.
- Dropbox.EntityCompletionData¶
When you use this API to set the completion status of an entity, you provide the completion value:
{ "IsComplete": <boolean> }
- Dropbox.EntityCompletionDate¶
In each dropbox, each entity (user or group) will have an associated completion date value, a date represents a complete status, a null value represents incomplete:
{ "CompletionDate": <string:UTCDateTime>|null }
Folder categories¶
- Dropbox.DropboxCategory¶
A dropbox folder may belong to a folder category. The following JSON block describes the dropbox category information returned from the service or provided to the service. When you use an action to create or update a dropbox category, the Id field is not required.
{ "Id": <number:D2LID>, "Name": <string>, "LastModifiedByUserId": <number:D2LID>|null, "LastModifiedDate": <string:UTCDateTime>|null, }
- Dropbox.DropboxCategoryWithFolders¶
Once you know a dropbox folder category’s ID, you can use the API to fetch its info block that also lists all the
dropbox folders
that belong to the category:{ "Id": <number:D2LID>, "Name": <string>, "Folders": [ // Array of DropboxFolder blocks { <composite:Dropbox.DropboxFolder> }, { <composite:Dropbox.DropboxFolder> }, ... ], "LastModifiedByUserId": <number:D2LID>|null, "LastModifiedDate": <string:UTCDateTime>|null, }
Special access¶
- Dropbox.SpecialAccessData¶
When creating / updating special access, or retrieving special access for a specified user in a dropbox, use a structure like this:
{ "StartDate": <string:UTCDateTime>|null, "EndDate": <string:UTCDateTime>|null, "DueDate": <string:UTCDateTime>|null }
Note
StartDate and EndDate both set to null means that no availability restrictions are applied to the user.
- Dropbox.SpecialAccessUserData¶
When retrieving special access for a dropbox, the service will send back a structure like this:
{ "UserId": <number:D2LID>, "SpecialAccess": <composite:Dropbox.SpecialAccessData> }
Actions¶
Each dropbox folder provides a place for org unit entities (users or groups of users) to submit work for assessment. Each dropbox folder represents a single opportunity for assessment (for example, the submission of a single paper for grading, or quiz for testing, and so on).
- DELETE /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)¶
Delete a particular dropbox folder in an org unit.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for the specific dropbox folder.
- Status Codes:
200 OK – Action successful.
400 Bad Request – Invalid permissions.
404 Not Found – No such dropbox folder, or no such org unit.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.73+ – Route first appears in LMS v20.23.9.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/¶
Retrieve all dropbox folders for an org unit.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
- Query Parameters:
onlyCurrentStudentsAndGroups (boolean) – Optional. If true, show only currently enrolled students and active groups.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to retrieve dropbox folder information.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a JSON array of
DropboxFolder
blocks.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)¶
Retrieve a specific dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for the specific dropbox folder.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to retrieve this folder’s information.
404 Not Found – No such dropbox folder, or no such org unit.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a
DropboxFolder
JSON block.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/access/¶
Retrieve a list of users with access to a specified dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for the specific dropbox folder.
- Query Parameters:
- Oauth2 Scopes:
dropbox:access:read
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to retrieve this folder’s information, see classlist, view user enrollment.
404 Not Found – No such dropbox folder, or no such org unit.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a
object list page
containing the resultingUserAccess
blocks for the segment following your bookmark parameter (or the first segment if that parameter is empty or missing).
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/attachments/(fileId)¶
Retrieve a file attachment (identified by file ID) from a specific dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for the specific dropbox folder.
fileId (D2LID) – File ID for the attachment to retrieve.
- Status Codes:
200 OK – Action successful.
404 Not Found – No such dropbox folder, or no such org unit, or no such file attachment.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a file stream. This does not apply for link attachments.
- GET /d2l/api/le/(version)/dropbox/orgUnits/feedback/¶
Retrieve a list of org units for which the current user context has an assessment role on their dropbox folders (can see submissions and provide feedback).
- Parameters:
version (D2LVERSION) – API version.
- Query Parameters:
type (integer) – Optional. Provide 0 for all org units, or 1 to filter for only active org units.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to perform this action.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a JSON array of
OrgUnitCoreInfo
structures to enumerate all the org units for which the current user context may provide feedback.
- POST /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/¶
Create a new dropbox folder in an org unit.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
- Status Codes:
200 OK – Action successful.
400 Bad Request – Invalid action body provided.
404 Not Found – No such org unit.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. The action’s body should be a
DropboxFolderUpdateData
JSON data block.Return. This action returns a
DropboxFolder
JSON block.
- PUT /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)¶
Update a particular dropbox folder in an org unit.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for the specific dropbox folder.
- Status Codes:
200 OK – Action successful.
400 Bad Request – Invalid action body provided.
404 Not Found – No such dropbox folder, or no such org unit.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. The action’s body should be a
DropboxFolderUpdateData
JSON data block.Return. This action returns a
DropboxFolder
JSON block.
Submissions¶
When an entity (user or group) wants to submit work for assessment, the submission contains one or more files uploaded. These actions provide ways to programmatically retrieve submissions already completed for a dropbox folder, and ways to submit new ones.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/submissions/¶
Retrieve all the submissions for a specific dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
- Query Parameters:
activeOnly (boolean) – Optional. Include only submissions from actively enrolled users.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to see this folder’s submissions.
404 Not Found – No such folder, or no such org unit.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action retrieves a JSON array of
EntityDropbox
structures that fully enumerates all the submissions currently provided to the dropbox folders by all the entities. Any submission that already has feedback will come with the feedback as well.If you provide the
?activeOnly=true
query parameter, the returned array contains submissions only from actively enrolled users; if you omit the parameter, or provide=false
for it, the call retrieves all submissions for the dropbox folder.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/submissions/paged/¶
Retrieve a page of submissions for a specific dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
- Query Parameters:
activeOnly (boolean) – Optional. Include only submissions from actively enrolled users.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to see this folder’s submissions.
404 Not Found – No such folder, or no such org unit.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns an
object list page
containing the resultingEntityDropbox
blocks. Any submission that already has feedback will come with the feedback as well.If you provide the
?activeOnly=true
query parameter, the returned array contains submissions only from actively enrolled users; if you omit the parameter, or providefalse
for it, the call retrieves all submissions for the dropbox folder.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/submissions/(submissionId)/files/(fileId)¶
Retrieve one of the files included in a submission for a particular dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
submissionId (D2LID) – Submission ID.
fileId (D2LID) – File ID for submission file attachment.
- Oauth2 Scopes:
dropbox:folders:read
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to see this folder’s submissions.
404 Not Found – No such folder, or no such org unit, or no file attachment for this submission.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a file stream containing the attachment file data.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/submissions/(userId)/download¶
Download all the files submitted by a user for a particular dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
userId (D2LID) – user ID.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to see this folder’s submissions.
404 Not Found – No such folder, or no such org unit, or no zip file created.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a file stream containing a zip file.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/group-submissions/(groupId)/download¶
Download all the files submitted by users in a group for a particular dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
groupId (D2LID) – group ID.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to see this folder’s submissions.
404 Not Found – No such folder, or no such org unit, or no zip file created.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a file stream containing a zip file.
- POST /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/submissions/group/(groupId)¶
Post a new group submission to a particular dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
groupId (D2LID) – Entity group ID.
- JSON Parameters:
Description (RichText) – Submission’s description as a part (see input description).
- Status Codes:
200 OK – Submission accepted.
403 Forbidden – Not currently authorized to submit to this dropbox folder.
404 Not Found – No such dropbox folder, or no such org unit.
405 Method Not Allowed – Service could not create a valid submission to fulfill your request.
429 Too Many Requests – API call-rate limit exceeded.
500 Internal Server Error – Submitted comments are too large.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. The post’s multipart/mixed body should contain a JSON part encoding the submission’s descriptive comments in RichText, followed by the submission file’s data (the action requires a submission to include a file, not just a description).
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/submissions/mysubmissions/¶
Retrieve all the submissions made by the current user to a particular dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
- Oauth2 Scopes:
dropbox:folders:read
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to see this folder’s submissions.
404 Not Found – No such dropbox folder, or no such org unit.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.77+ – Route first appears in LMS v20.24.8.
Return. This action retrieves a JSON array of
EntityDropbox
structures that fully enumerates all the submissions currently provided to the dropbox folders by the current user. Existing feedback will also be included if published.
- POST /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/submissions/mysubmissions/¶
Post a new submission for the current user context to a particular dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
- JSON Parameters:
Description (RichText) – Submission’s description as a part (see input description).
- Status Codes:
200 OK – Submission accepted.
403 Forbidden – Not currently authorized to submit to this dropbox folder.
404 Not Found – No such dropbox folder, or no such org unit.
405 Method Not Allowed – Service could not create a valid submission to fulfill your request.
429 Too Many Requests – API call-rate limit exceeded.
500 Internal Server Error – Submitted comments are too large.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. The post’s multipart/mixed body should contain a JSON part encoding the submission’s descriptive comments in RichText, followed by the submission file’s data (the action requires a submission to include a file, not just a description).
- POST /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/submissions/(submissionId)/files/(fileId)/markAsRead¶
Mark a submitted file as read.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
submissionId (D2LID) – Submission ID.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to see this folder’s submissions.
404 Not Found – No such dropbox folder, or no such submission, or no such file, or no such org unit.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. Provide an empty post body. 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).
Feedback¶
Every submission by an entity in a dropbox folder can have an associated feedback item, created by the user that has permission to assess submissions.
- DELETE /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/feedback/(entityType)/(entityId)/attachments/(fileId)¶
Remove a particular file attachment from an entity’s feedback entry within a specified dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
entityType (string) – Either “user” or “group”, to indicate the entity type.
entityId (D2LID) – Entity ID for a specific entity.
fileId (D2LID) – File ID for the file to remove.
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to delete the file attachment.
404 Not Found – No such dropbox folder, or no such org unit, or no such file attachment.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/feedback/(entityType)/(entityId)¶
Retrieve the feedback entry from a dropbox folder for the provided entity.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
entityType (string) – Either “user” or “group”, to indicate the entity type.
entityId (D2LID) – Entity ID for a specific entity.
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to see submitted files.
404 Not Found – No such dropbox folder, or no such org unit, or no such entity.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a
DropboxFeedbackOut
JSON block.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/feedback/(entityType)/(entityId)/attachments/(fileId)¶
Retrieve a feedback entry’s file attachment from a dropbox folder for the provided entity.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
entityType (string) – Either “user” or “group”, to indicate the entity type.
entityId (D2LID) – Entity ID for a specific entity.
fileId (D2LID) – File ID for a specific file attachment.
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to see submitted files.
404 Not Found – No such dropbox folder, or no such org unit, or no such entity, or no such file attachment.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a file stream containing the file attachment data.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/feedback/(entityType)/(entityId)/links/(linkId)¶
Retrieve a feedback entry’s linked media content attachment from a dropbox folder for the provided entity.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
entityType (string) – Either “user” or “group”, to indicate the entity type.
entityId (D2LID) – Entity ID for a specific entity.
linkId (D2LID) – Link ID for a specific link attachment.
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to see submitted files.
404 Not Found – No such dropbox folder, or no such org unit, or no such entity, or no such media content attachment.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.79+ – Route first appears in LMS v20.24.9.
Return. This action returns a file stream containing the link attachment data. Note that this action retrieves only linked media content attachments (those created using Audio/Video recording of feedback).
- POST /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/feedback/(entityType)/(entityId)¶
Post feedback (without attachment) for a particular submission in a specific dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
entityType (string) – Either “user” or “group”, to indicate the entity type.
entityId (D2LID) – Entity ID for a specific entity.
- JSON Parameters:
DropboxFeedback (
Dropbox.DropboxFeedback
) – Feedback for assessment.
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to see submitted files, see or modify feedback.
404 Not Found – No such dropbox folder, or no such org unit, or no such entity or entity type.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. Note that, if you want the service to re-calculate the overall level associated with the feedback for the submission, you should provide null for the OverallLevel property in the data block you provide.
- POST /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/feedback/(entityType)/(entityId)/attach¶
Attach an uploaded file to a particular entity’s feedback entry in a specific dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
entityType (string) – Either “user” or “group”, to indicate the entity type.
entityId (D2LID) – Entity ID for a specific entity.
- Form Parameters:
fileKey – File key value identifying the uploaded file.
fileName – Optional. Display name for the uploading file.
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to see (or modify) submitted files.
404 Not Found – No such dropbox folder, or no such org unit, or no such entity.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
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.Note
Before you can use this action to provide a feedback attachment, the given combination of org unit, entity type, entity ID must have a pre-existing submission.
- POST /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/feedback/(entityType)/(entityId)/upload¶
Initiate a resumable file upload request for a particular entity’s feedback for a specific dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
entityType (string) – Either “user” or “group”, to indicate the entity type.
entityId (D2LID) – Entity ID for a specific entity.
- Status Codes:
200 OK – Request to initiate a resumable upload successfully received.
403 Forbidden – No permission to see (or modify) submitted files.
404 Not Found – No such dropbox folder, or no such org unit, or no such entity.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. Initiate a resumable upload process. Your POST request must contain three special headers:
X-Upload-Content-Type to indicate the file’s mime type.
X-Upload-Content-Length to indicate the file’s total size, in bytes.
X-Upload-File-Name to indicate the file name for the file.
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
attach the uploaded file
data to a feedback entry.
Entities¶
Every entity in a dropbox folder can have associated feedback and completion date set by a user that has permission to assess submissions
- PUT /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/entities/(entityId)/completion¶
Manually set the completion date value for an entity within a specified observational dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for a specific dropbox folder.
entityId (D2LID) – Entity ID for a specific entity.
- Status Codes:
200 OK – Action succeeded.
400 Bad Request – Action not supported for non-observational dropbox folders.
403 Forbidden – No permission to modify feedback.
404 Not Found – No such dropbox folder, or no such org unit, or no such file attachment.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. The action’s body should be a
EntityCompletionData
JSON data block.Return. This action returns a
EntityCompletionDate
JSON block.
Folder categories¶
All the folders with an org unit can get divided into a series of categories. Each folder can belong to a single category. Categories provide a simple way for org units to arrange submissions into simple groups (for example, “essays”, “quizzes”, and so forth).
- DELETE /d2l/api/le/(version)/(orgUnitId)/dropbox/categories/(categoryId)¶
Delete a specific dropbox folder category from an org unit.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
categoryId (D2LID) – Category ID.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to perform this action.
404 Not Found – No such category exists for this org unit, or no such category.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/categories/¶
Retrieve all dropbox folder categories for the provided org unit.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to perform this action.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action retrieves a JSON array of
DropboxCategory
blocks.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/categories/(categoryId)¶
Retrieve the information for a specific dropbox folder category.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
categoryId (D2LID) – Category ID.
- Status Codes:
200 OK – Action successful.
403 Forbidden – No permission to perform this action.
404 Not Found – No such category exists for this org unit, or no such category.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action retrieves a single
DropboxCategoryWithFolders
JSON block.
- POST /d2l/api/le/(version)/(orgUnitId)/dropbox/categories/¶
Create a new dropbox folder category for the provided org unit.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
- Status Codes:
200 OK – Action successful.
400 Bad Request – Invalid action body provided.
403 Forbidden – No permission to perform this action.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. The action’s body should be a
DropboxCategory
JSON data block.Return. This action retrieves a single
DropboxCategory
block.
- PUT /d2l/api/le/(version)/(orgUnitId)/dropbox/categories/(categoryId)¶
Update the information for a specific dropbox folder category.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
categoryId (D2LID) – Category ID.
- Status Codes:
200 OK – Action successful.
400 Bad Request – Invalid action body provided.
403 Forbidden – No permission to perform this action.
404 Not Found – No such category exists for this org unit, or no such category.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Input. The action’s body should be a
DropboxCategory
JSON data block.Return. This action retrieves a single
DropboxCategory
block.
Special Access¶
Members of the classlist can be given access to a dropbox either for a limited
time or in perpetuity. The dates are set as UTCDateTime
SpecialAccessData
JSON data block or in
SpecialAccessUserData
JSON data
blocks if a non-empty set of students’ data is returned in the response.
- DELETE /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/specialaccess/(userId)¶
Delete the special access rule for a user in a specified dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for the specific dropbox folder.
userId (D2LID) – User ID.
- Oauth2 Scopes:
dropbox:folders:delete
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to see or manage dropboxes, manage delivery, or set special access.
404 Not Found – Org unit, dropbox folder, or user with special access not found.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/specialaccess/¶
Retrieve special access rules for users in a specified dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for the specific dropbox folder.
- Oauth2 Scopes:
dropbox:folders:read
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to manage dropboxes, manage delivery, or set special access.
404 Not Found – Org unit or dropbox folder not found.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns an
object list page
containing the resultingSpecialAccessUserData
blocks.
- GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/specialaccess/(userId)¶
Retrieve the special access rule for a user in a specified dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for the specific dropbox folder.
userId (D2LID) – User ID.
- Oauth2 Scopes:
dropbox:folders:read
- Status Codes:
200 OK – Action succeeded.
403 Forbidden – No permission to manage dropboxes, manage delivery, or set special access.
404 Not Found – Org unit, dropbox folder, or user with special access not found.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.
Return. This action returns a
SpecialAccessData
JSON block.
- PUT /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/specialaccess/(userId)¶
Create or update a special access rule for a user in a dropbox folder.
- Parameters:
version (D2LVERSION) – API version.
orgUnitId (D2LID) – Org unit ID.
folderId (D2LID) – Folder ID for the specific dropbox folder.
userId (D2LID) – User ID.
- JSON Parameters:
SpecialAccessData (
SpecialAccessData
) – Special access data.
- Oauth2 Scopes:
dropbox:folders:write
- Status Codes:
200 OK – Action succeeded.
400 Bad Request – Invalid special access data provided.
403 Forbidden – No permission to manage dropboxes, manage delivery, or set special access.
404 Not Found – Org unit, dropbox folder, or user not found, or, user not allowed to receive special access.
429 Too Many Requests – API call-rate limit exceeded.
- API Versions:
1.67+ – Route first appears in LMS v20.23.1.
1.61-66 – Deprecated as of LMS v20.24.1.
1.60- – Obsolete as of LMS v20.24.1.