openapi: 3.0.3 info: title: D2L Brightspace Valence Learning Framework API description: >- The Valence Learning Framework API is the public REST API for the D2L Brightspace learning management system (LMS). It is served from an institution's own Brightspace host under https://{host}/d2l/api/ and is divided into two product components: "lp" (Learning Platform - users, roles, enrollments, org units, and Data Hub) and "le" (Learning Environment - content, grades, assignments/dropbox, quizzes, discussions, calendar, news, and learning outcomes). Each component is independently versioned; the version segment in a route (for example lp/1.53 or le/1.92) varies by installed Brightspace product version, and clients should confirm supported versions via GET /d2l/api/versions/ before hard-coding a value. Requests are authenticated with OAuth 2 bearer tokens issued by the D2L auth service (https://auth.brightspace.com/core/connect/token) using the authorization code grant; the older ID-Key (app-id/user-id signed URL) scheme is deprecated. Scopes take the form group:resource:action, for example users:userdata:read. The version values baked into the paths below are illustrative of a recent release and must be adjusted to the target instance. "Valence" is the historical name of the API framework; "D2L" is the vendor and "Brightspace" the product. version: '1.0' contact: name: D2L Developer Platform url: https://docs.valence.desire2learn.com license: name: D2L Developer Terms url: https://www.d2l.com/legal/ servers: - url: https://{host}/d2l/api description: An institution's Brightspace instance variables: host: default: myschool.brightspace.com description: Your Brightspace instance hostname. security: - oauth2: [] tags: - name: Versions description: Product component version discovery. - name: Users description: User accounts and roles on the Learning Platform. - name: Enrollments description: Membership of users in org units. - name: Org Units description: Organization structure, course offerings, departments, and semesters. - name: Content description: Course content - modules and topics. - name: Grades description: Course gradebook - grade objects, values, categories, and schemes. - name: Assignments description: Assignment (Dropbox) folders, submissions, and feedback. - name: Quizzes description: Quizzes, attempts, questions, and special access. - name: Discussions description: Discussion forums, topics, and posts. - name: Calendar description: Course calendar events. - name: News description: News (announcement) items. - name: Learning Outcomes description: Learning outcome sets, outcomes, and alignments. - name: Data Hub description: Data Export Framework and Brightspace Data Sets. paths: /versions/: get: operationId: getAllVersions tags: - Versions summary: List supported product component versions description: Retrieves the collection of supported API product component versions on this instance. responses: '200': description: Supported versions. content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductVersions' /versions/{productCode}: get: operationId: getProductVersions tags: - Versions summary: List versions for a product component description: Retrieves supported versions for a single product component (for example lp or le). parameters: - $ref: '#/components/parameters/ProductCode' responses: '200': description: Supported versions for the product. content: application/json: schema: $ref: '#/components/schemas/ProductVersions' /lp/1.53/users/whoami: get: operationId: getWhoAmI tags: - Users summary: Get the current user context description: Retrieves a WhoAmIUser JSON block describing the identity the current access token is acting as. responses: '200': description: The current user context. content: application/json: schema: $ref: '#/components/schemas/WhoAmIUser' '401': $ref: '#/components/responses/Unauthorized' /lp/1.53/users/: get: operationId: listUsers tags: - Users summary: List or search users description: Retrieves a paged list of users, optionally filtered by orgDefinedId, userName, externalEmail, or a bookmark for paging. parameters: - name: orgDefinedId in: query schema: type: string - name: userName in: query schema: type: string - name: bookmark in: query schema: type: string responses: '200': description: A paged result set of users. content: application/json: schema: $ref: '#/components/schemas/UserPagedResultSet' post: operationId: createUser tags: - Users summary: Create a user description: Creates a new user account from a CreateUserData block. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateUserData' responses: '200': description: The created user. content: application/json: schema: $ref: '#/components/schemas/UserData' /lp/1.53/users/{userId}: parameters: - $ref: '#/components/parameters/UserId' get: operationId: getUser tags: - Users summary: Get a user description: Retrieves a UserData block for the identified user. responses: '200': description: The requested user. content: application/json: schema: $ref: '#/components/schemas/UserData' '404': $ref: '#/components/responses/NotFound' put: operationId: updateUser tags: - Users summary: Update a user description: Updates the identified user account. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateUserData' responses: '200': description: The updated user. content: application/json: schema: $ref: '#/components/schemas/UserData' delete: operationId: deleteUser tags: - Users summary: Delete a user description: Permanently deletes the identified user account. responses: '200': description: The user was deleted. /lp/1.53/roles/: get: operationId: listRoles tags: - Users summary: List roles description: Retrieves the list of all roles defined on the organization that the caller can see. responses: '200': description: A list of roles. content: application/json: schema: type: array items: $ref: '#/components/schemas/Role' /lp/1.53/enrollments/orgUnits/{orgUnitId}/users/: get: operationId: listOrgUnitUsers tags: - Enrollments summary: List users enrolled in an org unit description: Retrieves a paged list of the users enrolled in the identified org unit, optionally filtered by roleId. parameters: - $ref: '#/components/parameters/OrgUnitId' - name: roleId in: query schema: type: integer - name: bookmark in: query schema: type: string responses: '200': description: A paged list of enrolled users. content: application/json: schema: $ref: '#/components/schemas/EnrollmentPagedResultSet' /lp/1.53/enrollments/users/{userId}/orgUnits/: get: operationId: listUserOrgUnits tags: - Enrollments summary: List org units a user is enrolled in description: Retrieves a paged list of the org units the identified user is enrolled in. parameters: - $ref: '#/components/parameters/UserId' - name: bookmark in: query schema: type: string responses: '200': description: A paged list of org unit enrollments. content: application/json: schema: $ref: '#/components/schemas/EnrollmentPagedResultSet' /lp/1.53/enrollments/myenrollments/: get: operationId: listMyEnrollments tags: - Enrollments summary: List the caller's enrollments description: Retrieves a paged list of the current user's own enrollments. parameters: - name: bookmark in: query schema: type: string responses: '200': description: The caller's enrollments. content: application/json: schema: $ref: '#/components/schemas/EnrollmentPagedResultSet' /lp/1.53/enrollments/: post: operationId: createEnrollment tags: - Enrollments summary: Enroll a user description: Enrolls a user in an org unit with a specified role. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateEnrollmentData' responses: '200': description: The created enrollment. content: application/json: schema: $ref: '#/components/schemas/EnrollmentData' /lp/1.53/enrollments/orgUnits/{orgUnitId}/users/{userId}: parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/UserId' get: operationId: getEnrollment tags: - Enrollments summary: Get a user's enrollment in an org unit description: Retrieves the enrollment record for a user in an org unit. responses: '200': description: The enrollment record. content: application/json: schema: $ref: '#/components/schemas/EnrollmentData' delete: operationId: deleteEnrollment tags: - Enrollments summary: Unenroll a user from an org unit description: Removes the identified user's enrollment from the identified org unit. responses: '200': description: The user was unenrolled. /lp/1.53/orgstructure/: get: operationId: listOrgStructure tags: - Org Units summary: List org units description: Retrieves a paged list of org units in the organization structure, filterable by type and other query parameters. parameters: - name: orgUnitType in: query schema: type: integer - name: bookmark in: query schema: type: string responses: '200': description: A paged list of org units. content: application/json: schema: $ref: '#/components/schemas/OrgUnitPagedResultSet' /lp/1.53/orgstructure/{orgUnitId}: parameters: - $ref: '#/components/parameters/OrgUnitId' get: operationId: getOrgUnit tags: - Org Units summary: Get an org unit description: Retrieves the properties of the identified org unit. responses: '200': description: The requested org unit. content: application/json: schema: $ref: '#/components/schemas/OrgUnit' /lp/1.53/orgstructure/{orgUnitId}/children/: get: operationId: listOrgUnitChildren tags: - Org Units summary: List an org unit's children description: Retrieves the child org units of the identified org unit. parameters: - $ref: '#/components/parameters/OrgUnitId' responses: '200': description: A list of child org units. content: application/json: schema: type: array items: $ref: '#/components/schemas/OrgUnit' /lp/1.53/courses/{orgUnitId}: parameters: - $ref: '#/components/parameters/OrgUnitId' get: operationId: getCourseOffering tags: - Org Units summary: Get a course offering description: Retrieves the CourseOffering information for the identified course org unit. responses: '200': description: The course offering. content: application/json: schema: $ref: '#/components/schemas/CourseOffering' /lp/1.53/organization/info: get: operationId: getOrganizationInfo tags: - Org Units summary: Get organization info description: Retrieves top-level information about the organization. responses: '200': description: Organization info. content: application/json: schema: $ref: '#/components/schemas/Organization' /le/1.92/{orgUnitId}/content/root/: parameters: - $ref: '#/components/parameters/OrgUnitId' get: operationId: getContentRoot tags: - Content summary: Get root content modules description: Retrieves the root-level modules (table of contents) for a course offering. responses: '200': description: The root content modules. content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentObject' /le/1.92/{orgUnitId}/content/modules/{moduleId}: parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/ModuleId' get: operationId: getContentModule tags: - Content summary: Get a content module description: Retrieves a content module by its identifier. responses: '200': description: The content module. content: application/json: schema: $ref: '#/components/schemas/ContentObject' /le/1.92/{orgUnitId}/content/topics/{topicId}: parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/TopicId' get: operationId: getContentTopic tags: - Content summary: Get a content topic description: Retrieves a content topic by its identifier. responses: '200': description: The content topic. content: application/json: schema: $ref: '#/components/schemas/ContentObject' /le/1.92/{orgUnitId}/grades/: get: operationId: listGradeObjects tags: - Grades summary: List grade objects description: Retrieves all the grade objects in a course offering's gradebook. parameters: - $ref: '#/components/parameters/OrgUnitId' responses: '200': description: A list of grade objects. content: application/json: schema: type: array items: $ref: '#/components/schemas/GradeObject' post: operationId: createGradeObject tags: - Grades summary: Create a grade object description: Creates a new grade object in a course offering's gradebook. parameters: - $ref: '#/components/parameters/OrgUnitId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GradeObject' responses: '200': description: The created grade object. content: application/json: schema: $ref: '#/components/schemas/GradeObject' /le/1.92/{orgUnitId}/grades/{gradeObjectId}/values/{userId}: parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/GradeObjectId' - $ref: '#/components/parameters/UserId' get: operationId: getGradeValueForUser tags: - Grades summary: Get a user's grade value description: Retrieves a single user's grade value for a grade object. responses: '200': description: The grade value. content: application/json: schema: $ref: '#/components/schemas/GradeValue' put: operationId: setGradeValueForUser tags: - Grades summary: Set a user's grade value description: Sets or updates a single user's grade value for a grade object. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IncomingGradeValue' responses: '200': description: The grade value was set. /le/1.92/{orgUnitId}/grades/final/values/{userId}: parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/UserId' get: operationId: getFinalGradeForUser tags: - Grades summary: Get a user's final grade description: Retrieves the final calculated or adjusted grade value for a user in a course offering. responses: '200': description: The final grade value. content: application/json: schema: $ref: '#/components/schemas/GradeValue' /le/1.92/{orgUnitId}/dropbox/folders/: get: operationId: listDropboxFolders tags: - Assignments summary: List assignment folders description: Retrieves all the assignment (dropbox) folders in a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' responses: '200': description: A list of assignment folders. content: application/json: schema: type: array items: $ref: '#/components/schemas/DropboxFolder' post: operationId: createDropboxFolder tags: - Assignments summary: Create an assignment folder description: Creates a new assignment (dropbox) folder in a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DropboxFolder' responses: '200': description: The created assignment folder. content: application/json: schema: $ref: '#/components/schemas/DropboxFolder' /le/1.92/{orgUnitId}/dropbox/folders/{folderId}/submissions/: get: operationId: listDropboxSubmissions tags: - Assignments summary: List submissions for an assignment folder description: Retrieves the submissions made to an assignment (dropbox) folder. parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/FolderId' responses: '200': description: A list of submissions. content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityDropbox' /le/1.92/{orgUnitId}/dropbox/folders/{folderId}/feedback/{entityType}/{entityId}: parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/FolderId' - name: entityType in: path required: true schema: type: integer - name: entityId in: path required: true schema: type: integer post: operationId: setDropboxFeedback tags: - Assignments summary: Post feedback on a submission description: Sets instructor feedback (score, text, published state) for a submission entity. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DropboxFeedback' responses: '200': description: The feedback was set. /le/1.92/{orgUnitId}/quizzes/: get: operationId: listQuizzes tags: - Quizzes summary: List quizzes description: Retrieves a paged list of quizzes in a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' - name: bookmark in: query schema: type: string responses: '200': description: A paged list of quizzes. content: application/json: schema: $ref: '#/components/schemas/QuizPagedResultSet' post: operationId: createQuiz tags: - Quizzes summary: Create a quiz description: Creates a new quiz in a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Quiz' responses: '200': description: The created quiz. content: application/json: schema: $ref: '#/components/schemas/Quiz' /le/1.92/{orgUnitId}/quizzes/{quizId}/attempts/: get: operationId: listQuizAttempts tags: - Quizzes summary: List quiz attempts description: Retrieves the attempts made against a quiz. parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/QuizId' responses: '200': description: A list of quiz attempts. content: application/json: schema: type: array items: $ref: '#/components/schemas/QuizAttempt' /le/1.92/{orgUnitId}/discussions/forums/: get: operationId: listDiscussionForums tags: - Discussions summary: List discussion forums description: Retrieves the discussion forums in a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' responses: '200': description: A list of forums. content: application/json: schema: type: array items: $ref: '#/components/schemas/Forum' post: operationId: createDiscussionForum tags: - Discussions summary: Create a discussion forum description: Creates a new discussion forum in a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Forum' responses: '200': description: The created forum. content: application/json: schema: $ref: '#/components/schemas/Forum' /le/1.92/{orgUnitId}/discussions/forums/{forumId}/topics/{topicId}/posts/: parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/ForumId' - $ref: '#/components/parameters/TopicId' get: operationId: listDiscussionPosts tags: - Discussions summary: List posts in a discussion topic description: Retrieves the posts in a discussion topic. responses: '200': description: A list of posts. content: application/json: schema: type: array items: $ref: '#/components/schemas/Post' post: operationId: createDiscussionPost tags: - Discussions summary: Create a post in a discussion topic description: Creates a new post in a discussion topic. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Post' responses: '200': description: The created post. content: application/json: schema: $ref: '#/components/schemas/Post' /le/1.92/{orgUnitId}/calendar/events/: get: operationId: listCalendarEvents tags: - Calendar summary: List calendar events description: Retrieves the calendar events for a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' responses: '200': description: A list of calendar events. content: application/json: schema: type: array items: $ref: '#/components/schemas/CalendarEvent' /le/1.92/{orgUnitId}/calendar/event/: post: operationId: createCalendarEvent tags: - Calendar summary: Create a calendar event description: Creates a new calendar event in a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CalendarEvent' responses: '200': description: The created calendar event. content: application/json: schema: $ref: '#/components/schemas/CalendarEvent' /le/1.92/{orgUnitId}/calendar/event/{eventId}: parameters: - $ref: '#/components/parameters/OrgUnitId' - $ref: '#/components/parameters/EventId' get: operationId: getCalendarEvent tags: - Calendar summary: Get a calendar event description: Retrieves a single calendar event by its identifier. responses: '200': description: The calendar event. content: application/json: schema: $ref: '#/components/schemas/CalendarEvent' delete: operationId: deleteCalendarEvent tags: - Calendar summary: Delete a calendar event description: Deletes a single calendar event. responses: '200': description: The event was deleted. /le/1.92/{orgUnitId}/news/: get: operationId: listNewsItems tags: - News summary: List news items description: Retrieves the news (announcement) items in a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' responses: '200': description: A list of news items. content: application/json: schema: type: array items: $ref: '#/components/schemas/NewsItem' post: operationId: createNewsItem tags: - News summary: Create a news item description: Creates a new news (announcement) item in a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NewsItem' responses: '200': description: The created news item. content: application/json: schema: $ref: '#/components/schemas/NewsItem' /le/1.92/{orgUnitId}/news/{newsItemId}: parameters: - $ref: '#/components/parameters/OrgUnitId' - name: newsItemId in: path required: true schema: type: integer get: operationId: getNewsItem tags: - News summary: Get a news item description: Retrieves a single news item by its identifier. responses: '200': description: The news item. content: application/json: schema: $ref: '#/components/schemas/NewsItem' delete: operationId: deleteNewsItem tags: - News summary: Delete a news item description: Deletes a single news item. responses: '200': description: The news item was deleted. /le/1.92/lo/outcomeSets/: get: operationId: listOutcomeSets tags: - Learning Outcomes summary: List organization outcome sets description: Retrieves the learning outcome sets defined at the organization level. responses: '200': description: A list of outcome sets. content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeSet' post: operationId: createOutcomeSet tags: - Learning Outcomes summary: Create an organization outcome set description: Creates a new learning outcome set at the organization level. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OutcomeSet' responses: '200': description: The created outcome set. content: application/json: schema: $ref: '#/components/schemas/OutcomeSet' /le/1.92/{orgUnitId}/lo/alignments/: get: operationId: listOutcomeAlignments tags: - Learning Outcomes summary: List outcome alignments for an org unit description: Retrieves the learning outcome alignments within a course offering. parameters: - $ref: '#/components/parameters/OrgUnitId' responses: '200': description: A list of alignments. content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeAlignment' /lp/1.53/dataExport/list: get: operationId: listDataSets tags: - Data Hub summary: List available data sets description: Retrieves a list of the data sets available to export through the Data Export Framework. responses: '200': description: A list of data sets. content: application/json: schema: type: array items: $ref: '#/components/schemas/DataSetData' /lp/1.53/dataExport/create: post: operationId: createDataExport tags: - Data Hub summary: Create an export job description: Creates an export job for a requested data set with optional filter parameters. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateExportJobData' responses: '200': description: The created export job. content: application/json: schema: $ref: '#/components/schemas/ExportJobData' /lp/1.53/dataExport/jobs: get: operationId: listDataExportJobs tags: - Data Hub summary: List export jobs description: Lists the export jobs previously submitted by the caller. responses: '200': description: A list of export jobs. content: application/json: schema: type: array items: $ref: '#/components/schemas/ExportJobData' /lp/1.53/dataExport/download/{exportJobId}: get: operationId: downloadDataExport tags: - Data Hub summary: Download an export job result description: Downloads the ZIP file (containing a CSV) produced by a completed export job. parameters: - name: exportJobId in: path required: true schema: type: string responses: '200': description: The export ZIP file. content: application/zip: schema: type: string format: binary /lp/1.53/datasets/bds: get: operationId: listBrightspaceDataSets tags: - Data Hub summary: List Brightspace Data Sets description: Retrieves the list of Brightspace Data Sets schemas and their available extracts. responses: '200': description: A list of Brightspace Data Sets. content: application/json: schema: type: array items: $ref: '#/components/schemas/BrightspaceDataSet' components: securitySchemes: oauth2: type: oauth2 description: >- OAuth 2 authorization code grant. Tokens are issued by the D2L auth service. Scopes take the form group:resource:action (for example users:userdata:read). flows: authorizationCode: authorizationUrl: https://auth.brightspace.com/oauth2/auth tokenUrl: https://auth.brightspace.com/core/connect/token scopes: 'core:*:*': Full access consistent with the registered application 'users:userdata:read': Read user data 'enrollment:orgunit:read': Read enrollments 'datahub:dataexports:read': Read Data Hub exports parameters: ProductCode: name: productCode in: path required: true description: The product component code, for example lp or le. schema: type: string UserId: name: userId in: path required: true schema: type: integer format: int64 OrgUnitId: name: orgUnitId in: path required: true schema: type: integer format: int64 ModuleId: name: moduleId in: path required: true schema: type: integer format: int64 TopicId: name: topicId in: path required: true schema: type: integer format: int64 GradeObjectId: name: gradeObjectId in: path required: true schema: type: integer format: int64 FolderId: name: folderId in: path required: true schema: type: integer format: int64 QuizId: name: quizId in: path required: true schema: type: integer format: int64 ForumId: name: forumId in: path required: true schema: type: integer format: int64 EventId: name: eventId in: path required: true schema: type: integer format: int64 responses: Unauthorized: description: The access token is missing or invalid. NotFound: description: The requested resource was not found. schemas: ProductVersions: type: object properties: ProductCode: type: string LatestVersion: type: string SupportedVersions: type: array items: type: string WhoAmIUser: type: object properties: Identifier: type: string FirstName: type: string LastName: type: string UniqueName: type: string ProfileIdentifier: type: string UserData: type: object properties: UserId: type: integer format: int64 OrgDefinedId: type: string FirstName: type: string LastName: type: string UserName: type: string ExternalEmail: type: string Activation: type: object properties: IsActive: type: boolean CreateUserData: type: object properties: OrgDefinedId: type: string FirstName: type: string MiddleName: type: string LastName: type: string ExternalEmail: type: string UserName: type: string RoleId: type: integer IsActive: type: boolean SendCreationEmail: type: boolean UpdateUserData: type: object properties: OrgDefinedId: type: string FirstName: type: string LastName: type: string ExternalEmail: type: string UserName: type: string Activation: type: object properties: IsActive: type: boolean UserPagedResultSet: type: object properties: PagingInfo: $ref: '#/components/schemas/PagingInfo' Items: type: array items: $ref: '#/components/schemas/UserData' Role: type: object properties: Identifier: type: string DisplayName: type: string Code: type: string EnrollmentData: type: object properties: OrgUnitId: type: integer format: int64 UserId: type: integer format: int64 RoleId: type: integer IsCascading: type: boolean CreateEnrollmentData: type: object properties: OrgUnitId: type: integer format: int64 UserId: type: integer format: int64 RoleId: type: integer EnrollmentPagedResultSet: type: object properties: PagingInfo: $ref: '#/components/schemas/PagingInfo' Items: type: array items: $ref: '#/components/schemas/EnrollmentData' OrgUnit: type: object properties: Identifier: type: string Name: type: string Code: type: string Type: type: object properties: Id: type: integer Code: type: string Name: type: string OrgUnitPagedResultSet: type: object properties: PagingInfo: $ref: '#/components/schemas/PagingInfo' Items: type: array items: $ref: '#/components/schemas/OrgUnit' CourseOffering: type: object properties: Identifier: type: string Name: type: string Code: type: string IsActive: type: boolean StartDate: type: string format: date-time EndDate: type: string format: date-time Organization: type: object properties: Identifier: type: string Name: type: string TimeZone: type: string ContentObject: type: object properties: Id: type: integer format: int64 Title: type: string ShortTitle: type: string Type: type: integer description: 0 for module, 1 for topic. IsHidden: type: boolean GradeObject: type: object properties: Id: type: integer format: int64 Name: type: string ShortName: type: string GradeType: type: string MaxPoints: type: number GradeValue: type: object properties: UserId: type: integer format: int64 GradeObjectIdentifier: type: string PointsNumerator: type: number PointsDenominator: type: number DisplayedGrade: type: string IncomingGradeValue: type: object properties: GradeObjectType: type: integer PointsNumerator: type: number Comments: type: object properties: Content: type: string Type: type: string DropboxFolder: type: object properties: Id: type: integer format: int64 Name: type: string CategoryId: type: integer TotalFiles: type: integer DueDate: type: string format: date-time EntityDropbox: type: object properties: Entity: type: object properties: EntityId: type: integer EntityType: type: string Submissions: type: array items: type: object properties: Id: type: integer SubmittedBy: type: object Comment: type: object DropboxFeedback: type: object properties: Score: type: number Feedback: type: object properties: Content: type: string Type: type: string IsGraded: type: boolean Quiz: type: object properties: QuizId: type: integer format: int64 Name: type: string IsActive: type: boolean ShuffleQuiz: type: boolean GradeItemId: type: integer QuizPagedResultSet: type: object properties: PagingInfo: $ref: '#/components/schemas/PagingInfo' Objects: type: array items: $ref: '#/components/schemas/Quiz' QuizAttempt: type: object properties: AttemptId: type: integer format: int64 UserId: type: integer format: int64 IsGraded: type: boolean Score: type: number TimeCompleted: type: string format: date-time Forum: type: object properties: ForumId: type: integer format: int64 Name: type: string Description: type: object AllowAnonymousPosts: type: boolean Post: type: object properties: PostId: type: integer format: int64 Subject: type: string Message: type: object properties: Text: type: string Html: type: string ParentPostId: type: integer CalendarEvent: type: object properties: CalendarEventId: type: integer format: int64 Title: type: string Description: type: string StartDateTime: type: string format: date-time EndDateTime: type: string format: date-time IsAllDayEvent: type: boolean NewsItem: type: object properties: Id: type: integer format: int64 Title: type: string Body: type: object properties: Text: type: string Html: type: string IsPublished: type: boolean StartDate: type: string format: date-time OutcomeSet: type: object properties: id: type: string name: type: string description: type: string source: type: string OutcomeAlignment: type: object properties: id: type: string outcomeId: type: string activityType: type: string objectId: type: string DataSetData: type: object properties: DataSetId: type: string Name: type: string Description: type: string Category: type: string CreateExportJobData: type: object properties: DataSetId: type: string Filters: type: array items: type: object properties: Name: type: string Value: type: string ExportJobData: type: object properties: ExportJobId: type: string DataSetId: type: string Name: type: string Status: type: integer description: Export job status (Queued, Processing, Complete, Error, Deleted). SubmitDate: type: string format: date-time BrightspaceDataSet: type: object properties: SchemaId: type: string Name: type: string PluginId: type: string Extracts: type: array items: type: object properties: ExtractId: type: string CreatedDate: type: string format: date-time DownloadLink: type: string PagingInfo: type: object properties: Bookmark: type: string HasMoreItems: type: boolean