openapi: 3.0.0 info: contact: email: ol3@mheducation.com name: OL Team 3 (OL-PI) url: https://mheducation.com description: OpenAPI documentation for the Learning Experience BFF API. termsOfService: https://mheducation.com title: Learning Experience BFF API version: 2.7.0 license: name: McGraw Hill url: https://mheducation.com servers: - description: dev url: https://learning-experience-bff.dev.lms.nonprod.mheducation.com - description: qastg url: https://learning-experience-bff.qastg.lms.nonprod.mheducation.com - description: qalv url: https://learning-experience-bff.qalv.lms.nonprod.mheducation.com - description: prod url: https://learning-experience-bff.lms.prod.mheducation.com tags: - name: health description: Health Check / Status Endpoints - name: search description: Search endpoints - name: teacher description: Instructor-only endpoints - name: teacher support description: Teacher Support Endpoints - name: course description: Course Endpoints - name: layout description: Layout Endpoints - name: standards description: Standards Hierarchy Endpoints - name: assets description: Assets endpoints - name: overview description: Lesson Overview Endpoints - name: calendar description: Calendar/Schedule Events Endpoints - name: lesson plan description: Lesson Plan Endpoints paths: /version: get: description: Display version info. operationId: versionInfo responses: '200': content: application/json: schema: $ref: '#/components/schemas/VersionInfo' description: Version Info summary: Version info. tags: - health /healthz: head: description: |- Display health check result without returning a body. Used by health checks in Kubernetes. Alternate paths: `/health`, `/v1/healthcheck`, `/live`, `/ready` operationId: healthCheckHead responses: '200': description: Successful health check '500': description: Failed health check summary: Quick health check tags: - health get: description: Display health check result operationId: healthCheck responses: '200': content: application/json: schema: $ref: '#/components/schemas/HealthResponse' description: Health JSON '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON summary: Health check. tags: - health /v1/teacher/search: post: deprecated: true description: Search for assets using content search operationId: teacherSearch requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SearchRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchResponse' description: Search results response '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input path parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Teacher search tags: - search /v2/teacher/search: post: description: Search for assets using content search operationId: teacherSearchV2 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SearchRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchResponseV2' description: Search results response '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input path parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Teacher search tags: - search /v1/teacher-support/{course-uuid}/publishes/{publish-uuid}/lessons/{lesson-xid}: parameters: - $ref: '#/components/parameters/CourseUuid' - $ref: '#/components/parameters/PublishUuid' - $ref: '#/components/parameters/LessonXId' get: deprecated: true x-sunset: '2024-07-31' description: Deprecated, Endpoint Responses now included in LessonOverviewRoute MOON-4726 - Gets Teacher Support data from LEA using `course-uuid`, `publish-uuid`, and `lesson-xid` operationId: getTeacherSupport responses: '200': content: application/json: schema: $ref: '#/components/schemas/TeacherSupportResponse' description: Teacher Support Response '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input path parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Gets Teacher Support data from LEA tags: - teacher support /v1/lesson-overview: post: description: Returns the Lesson Overview operationId: postLessonOverview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LessonOverviewRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/LessonOverviewResponseV2' description: Lesson Overview '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Gets Lesson Overview with Layouts, blades and content, planning information, and asset filters tags: - overview /v1/sections/{section-xid}/courses/{course-uuid}/publishes/{publish-uuid}/structure: parameters: - $ref: '#/components/parameters/SectionXid' - $ref: '#/components/parameters/CourseUuid' - $ref: '#/components/parameters/PublishUuid' - $ref: '#/components/parameters/Blades' get: description: Gets Course Table of Contents structure operationId: getCourseTOC responses: '200': content: application/json: schema: $ref: '#/components/schemas/CourseResponse' description: Course Table of Contents Response '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Gets Course Table of Contents structure tags: - course /v1/courses/{course-uuid}/publishes/{publish-uuid}/layouts/{layout-uuid}: parameters: - $ref: '#/components/parameters/CourseUuid' - $ref: '#/components/parameters/PublishUuid' - $ref: '#/components/parameters/LayoutUuid' get: deprecated: true x-sunset: '2024-07-31' description: Deprecated, Endpoint Responses now included in LessonOverviewRoute MOON-4726 - Gets the Lesson Overview Layout Structure and Assets operationId: getLessonOverviewLayout responses: '200': content: application/json: schema: $ref: '#/components/schemas/LayoutResponse' description: Lesson Overview Layout Response '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Gets Layout data tags: - layout /v1/teacher/organizations/{org-xid}/courses/{course-uuid}/publishes/{publish-uuid}/standards-hierarchy: parameters: - $ref: '#/components/parameters/OrgXId' - $ref: '#/components/parameters/CourseUuid' - $ref: '#/components/parameters/PublishUuid' get: description: Gets Course Standards Hierarchy operationId: getCourseStandards responses: '200': content: application/json: schema: $ref: '#/components/schemas/StandardsResponse' description: Standards Hierarchy Response '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Gets Course Standards Hierarchy tags: - standards /v1/sections/{section-xid}/courses/{course-uuid}/publishes/{publish-uuid}/assets: parameters: - $ref: '#/components/parameters/SectionXid' - $ref: '#/components/parameters/CourseUuid' - $ref: '#/components/parameters/PublishUuid' post: description: Fetch bulk assets operationId: getBulkAssets requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BulkAssetsRequest' responses: '200': description: Array of Assets content: application/json: schema: $ref: '#/components/schemas/BulkAssetsResponse' '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Fetch bulk assets tags: - assets /v1/sections/{section-xid}/lessons/{lesson-plan-xid}/schedule: parameters: - $ref: '#/components/parameters/SectionXid' - $ref: '#/components/parameters/LessonPlanXid' post: description: Creates a calendar event for a lesson and returns updated lesson overview data operationId: postScheduleLesson requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ScheduleLessonRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ScheduleLessonResponse' description: Updated lesson overview data '401': $ref: '#/components/responses/ErrorResponse401' '422': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid input parameters '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse Json security: - userJWT: [] summary: Creates an event associated with the lesson and then returns the updated behavior and tags data for the lesson. tags: - calendar - overview /v1/sections/{section-xid}/assets/{asset-xid}/schedule: parameters: - $ref: '#/components/parameters/SectionXid' - $ref: '#/components/parameters/AssetXid' post: description: Creates a calendar event associated with an asset. Returns updated behavior, filters and tags data for the asset and lesson. operationId: postScheduleAsset requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ScheduleAssetRequest' responses: '200': description: Updated filters, tags and behaviors data. content: application/json: schema: $ref: '#/components/schemas/ScheduleAssetResponse' '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Creates a calendar event associated with an asset. Returns updated behavior, filters and tags data for the asset. tags: - assets - calendar /v1/sections/{section-xid}/lesson-plan: parameters: - $ref: '#/components/parameters/SectionXid' get: description: Get a Lesson Plan which includes all the global data related to the class. operationId: getLessonPlan responses: '200': content: application/json: schema: $ref: '#/components/schemas/LessonPlanResponse' description: Lesson Overview Layout Response '401': $ref: '#/components/responses/ErrorResponse401' '422': description: Invalid input parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: ErrorResponse JSON security: - userJWT: [] summary: Get a Lesson Plan. tags: - lesson plan components: securitySchemes: userJWT: type: http scheme: bearer bearerFormat: JWT description: Authorization for a user. Must be in the form 'Bearer ' where is the Json Web Token obtained from the Token and Session Service (TaSS) or IDM schemas: VersionInfo: properties: buildTime: type: string format: date-time x-go-type: string version: type: string type: object required: - buildTime - version HealthInfo: properties: message: type: string status: type: string type: object HealthResponse: allOf: - $ref: '#/components/schemas/HealthInfo' type: object Error: type: object properties: code: type: integer description: HTTP Status Code details: items: type: string type: array error: type: string description: Error summary friendlyErrorCode: type: string enum: - BFF-422-001 - BFF-500-000 - BFF-500-001 - LEA-404-001 - LEA-422-001 - LEA-500-000 - LEA-500-001 description: | Friendly Error codes: * `BFF-422-001` - invalid request error * `BFF-500-000` - handler execution internal server error * `BFF-500-001` - service execution returned an error * `LEA-404-000` - resource not found * `LEA-422-000` - invalid request error * `LEA-500-000` - handler execution internal server error * `LEA-500-001` - service execution returned an error required: - code - details - error ErrorResponse: type: object allOf: - $ref: '#/components/schemas/Error' RequestAssetFilter: description: This represents an asset filter for lesson view filters and other place that we want to filter existing results without sending another request. type: object properties: key: description: The name of the filter as a string. type: string required: - key RequestSearchFacetFilters: type: array items: $ref: '#/components/schemas/RequestAssetFilter' StandardsRequestAssetFilter: description: This represents a standards asset filter for lesson view filters and other place that we want to filter existing results without sending another request. type: object properties: id: description: The id of the Standards Hierarchy object. type: string nodeType: description: The nodeType from the Standards Hierarchy object. type: string enum: - authority - benchmark - course - document - subject name: description: (Optional). The name of the authority as a string. This is only required with "authority" nodeType. type: string required: - id - nodeType StandardsRequestSearchFacetFilters: type: array items: $ref: '#/components/schemas/StandardsRequestAssetFilter' RequestSearchFacet: description: The criteria used by the user to filter the search results. type: object properties: languages: $ref: '#/components/schemas/RequestSearchFacetFilters' instructionalTypes: $ref: '#/components/schemas/RequestSearchFacetFilters' lexileLevels: $ref: '#/components/schemas/RequestSearchFacetFilters' standards: $ref: '#/components/schemas/StandardsRequestSearchFacetFilters' resourceTypes: $ref: '#/components/schemas/RequestSearchFacetFilters' required: - languages - instructionalTypes - lexileLevels - standards - resourceTypes SearchInputs: type: object description: The filtering inputs for a lesson plan search. properties: containerId: description: This represents the id of the base container (i.e. lesson-plan/courseware) or the id of a sub container (i.e. lesson/container). type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid publishId: description: This is the publishId associated with the lesson-plan/courseware. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid facets: $ref: '#/components/schemas/RequestSearchFacet' query: type: string nextPageStart: description: The asset start index of the next pagination page based on the number of results. This is a zero based index. type: integer required: - containerId - publishId SearchRequest: type: object properties: lessonPlanXId: type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn sectionXId: type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn searchInputs: $ref: '#/components/schemas/SearchInputs' required: - lessonPlanXId - sectionXId - searchInputs example: lessonPlanXId: urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:c2702eee-37c7-498a-8474-dd93116526d4.8d89b1f7-098a-43cf-bf87-c19ab9be5b1e sectionXId: urn:com.mheducation.openlearning:enterprise.roster:qastg.us-east-1:section:c12d4770-da12-11ed-b6bd-0b74aaab924a searchInputs: containerId: c2702eee-37c7-498a-8474-dd93116526d4 publishId: f8b21212-3665-4951-bd8c-6ab5ff3171ff query: science facets: languages: - key: English, United States - key: Spanish, Mexico - key: Spanish, Spain instructionalTypes: - key: Answer Key - key: Case Study - key: Graph, Chart, Table lexileLevels: - key: 1010L_1185L - key: 1080L_1335L standards: - id: F85D16B4-1A11-11EB-BB5B-0E20088BB29A nodeType: benchmark resourceTypes: - key: Assessment - key: Audio AssetThumbnailImageSourceUrl: type: object description: This represents the thumbnail of an asset with both the url and altText. nullable: true properties: url: type: string altText: type: string required: - url - altText AssetTag: description: This represents the tag on an asset card. type: object properties: key: type: string KnownAssetTag: description: This represents the tag on an asset card with known values. type: object properties: key: type: string enum: - Visible to Students - Teacher Only CalendarBehaviorData: type: object properties: canSchedule: description: This property determines if an asset has the ability to be scheduled on the calendar. type: boolean hasCalendarEvent: description: Indicates whether an asset is currently scheduled on the calendar. type: boolean startDate: description: The start date of an asset's calendar event. This field is required if 'hasCalendarEvent' is true. type: string endDate: description: The end date of an asset's calendar event. This field is required if 'hasCalendarEvent' is true. type: string required: - canSchedule - hasCalendarEvent AssignmentsData: deprecated: true type: object properties: Due: description: Indicates the due date of the assignment. type: integer AssignmentXID: description: The represents the unique identifier for an assignment. type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn ContentItemReferenceXID: deprecated: true description: The property represents the source asset that the assignment was created from. type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn required: - Due - AssignmentXID - ContentItemReferenceXID AssignmentsBehaviorData: deprecated: true type: object properties: canAssign: description: This property determines if an asset has the ability to be assigned. type: boolean canUnassign: description: Indicates whether an asset can be unassigned. type: boolean isVisibleToStudents: description: The start date of an asset's calendar event. type: boolean isEducatorOnly: description: The property indicates if an asset is for instructor's only. type: boolean assignmentsData: description: The property contains the data of the assignments created from the asset. type: array nullable: true items: $ref: '#/components/schemas/AssignmentsData' required: - canAssign - canUnassign - isVisibleToStudents - isEducatorOnly AssetBehavior: deprecated: true type: object properties: behaviorType: type: string enum: - calendar - assignments - rubric behaviorData: oneOf: - $ref: '#/components/schemas/CalendarBehaviorData' - $ref: '#/components/schemas/AssignmentsBehaviorData' AssetFilter: description: This represents an asset filter for lesson view filters and other place that we want to filter existing results without sending another request. type: object properties: key: description: The name of the filter as a string. type: string count: description: The number of assets with this filter (i.e. the value of `key`). type: integer required: - key - count Asset: deprecated: true type: object description: This object represents an asset for the various places that we use asset cards (e.g. search, lesson filters, etc.) properties: id: description: The xid of the asset. type: string format: urn x-go-type: '*urn.URN' x-go-type-skip-optional-pointer: true x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn parentId: description: The UUID of the parent container for the asset. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid title: description: This is the tile associated with the asset card. type: string description: description: This can be HTML associate with the asset. type: string type: description: The type of the asset determines what sort of component it is associated with. type: string enum: - launchable - text - image thumbnailImage: $ref: '#/components/schemas/AssetThumbnailImageSourceUrl' tags: type: array items: anyOf: - $ref: '#/components/schemas/AssetTag' - $ref: '#/components/schemas/KnownAssetTag' behaviors: type: array items: $ref: '#/components/schemas/AssetBehavior' filters: type: array items: $ref: '#/components/schemas/AssetFilter' required: - id - title - description - type - thumbnailImage - tags - behaviors SearchFacetFilters: type: array items: $ref: '#/components/schemas/AssetFilter' SearchFacet: description: The criteria used by the user to filter the search results. type: object properties: languages: $ref: '#/components/schemas/SearchFacetFilters' instructionalTypes: $ref: '#/components/schemas/SearchFacetFilters' lexileLevels: $ref: '#/components/schemas/SearchFacetFilters' standards: $ref: '#/components/schemas/SearchFacetFilters' resourceTypes: $ref: '#/components/schemas/SearchFacetFilters' required: - languages - instructionalTypes - lexileLevels - standards - resourceTypes Pagination: type: object description: Pagination values for the search results properties: total: description: The total number of assets associated with the current search. type: integer firstAssetNumber: description: The the number of the first asset in the results returned relative to the total. type: integer numberOfResults: description: The number of results returned relative to the total. type: integer nextPageStart: description: The asset start index of the next pagination page based on the number of results. This is a zero based index. type: integer required: - total - firstAssetNumber - numberOfResults - nextPageStart SearchResponse: deprecated: true type: object description: Search Response properties: assets: nullable: false type: array description: Search result assets items: $ref: '#/components/schemas/Asset' facets: $ref: '#/components/schemas/SearchFacet' pagination: $ref: '#/components/schemas/Pagination' required: - assets - facets - pagination AssignmentsDataV2: type: object properties: Due: description: Indicates the due date of the assignment. type: integer AssignmentXID: description: The represents the unique identifier for an assignment. type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn required: - Due - AssignmentXID AssignmentsBehaviorDataV2: type: object properties: canAssign: description: This property determines if an asset has the ability to be assigned. type: boolean canUnassign: description: Indicates whether an asset can be unassigned. type: boolean isVisibleToStudents: description: The start date of an asset's calendar event. type: boolean isEducatorOnly: description: The property indicates if an asset is for instructor's only. type: boolean assignmentsData: description: The property contains the data of the assignments created from the asset. type: array nullable: true items: $ref: '#/components/schemas/AssignmentsDataV2' required: - canAssign - canUnassign - isVisibleToStudents - isEducatorOnly PresentationBehaviorData: type: object properties: addedToPresentation: description: Indicates whether an asset is currently added to a presentation. type: boolean required: - addedToPresentation AssetBehaviorV2: type: object properties: behaviorType: type: string enum: - calendar - assignments - rubric - presentation behaviorData: oneOf: - $ref: '#/components/schemas/CalendarBehaviorData' - $ref: '#/components/schemas/AssignmentsBehaviorDataV2' - $ref: '#/components/schemas/PresentationBehaviorData' AssetV2: type: object description: This object represents an asset for the various places that we use asset cards (e.g. search, lesson filters, etc.) properties: id: description: The uuid of the asset. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid xid: description: The xid of the asset. type: string format: urn x-go-type: '*urn.URN' x-go-type-skip-optional-pointer: true x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn larsXid: description: The LARS xid of the asset. type: string format: urn x-go-type: '*urn.URN' x-go-type-skip-optional-pointer: true x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn sourceAssetXid: description: The source xid for the asset from the authoring S3 bucket. type: string format: urn x-go-type: '*urn.URN' x-go-type-skip-optional-pointer: true x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn sourceAssetId: description: The source id for the asset from the authoring S3 bucket. type: string x-go-type: '*string' x-go-type-skip-optional-pointer: true parentId: description: The UUID of the parent container for the asset. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid title: description: This is the tile associated with the asset card. type: string description: description: This can be HTML associate with the asset. type: string resourceType: description: The source resource type of the asset. type: string type: description: The type of the asset determines what sort of component it is associated with. type: string enum: - launchable - text - image - embeddedInstructionalSupport thumbnailImage: $ref: '#/components/schemas/AssetThumbnailImageSourceUrl' tags: type: array items: anyOf: - $ref: '#/components/schemas/AssetTag' - $ref: '#/components/schemas/KnownAssetTag' behaviors: type: array items: $ref: '#/components/schemas/AssetBehaviorV2' filters: type: array items: $ref: '#/components/schemas/AssetFilter' content: type: string nullable: true lang: description: The ISO language code of the asset title. This can be null if the language information is not available. type: string nullable: true enum: - en-US - en-GB - es-419 - es-ES - fr - de - it - ko - pt-BR - vi - ar - ar-EG - ar-SA - ar-QA - zh-CN - zh-TW sequence: description: The sequence of an asset relative to its sibling assets (in the same row/sub-section) type: integer rowSequence: description: The sequence of the row/sub-section that the asset is contained in. type: integer required: - id - title - description - resourceType - type - thumbnailImage - tags - behaviors - content SearchResponseV2: type: object description: Search Response properties: assets: nullable: false type: array description: Search result assets items: $ref: '#/components/schemas/AssetV2' facets: $ref: '#/components/schemas/SearchFacet' pagination: $ref: '#/components/schemas/Pagination' required: - assets - facets - pagination TeacherSupportStandard: type: object properties: description: type: string code: type: string required: - code - description TeacherSupportSection: type: object properties: type: type: string enum: - text - standards - pacing - overview - objectives - vocabulary title: type: string content: type: string standards: type: array items: $ref: '#/components/schemas/TeacherSupportStandard' required: - type - title - standards - content TeacherSupportResponse: type: object properties: sections: nullable: true type: array description: The teacher support sections for the given lesson. items: $ref: '#/components/schemas/TeacherSupportSection' required: - sections LessonOverviewRequest: type: object properties: sectionXID: description: This represents the id of a course section. type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn x-oapi-codegen-extra-tags: telemetryRequestId: sectionXID orgXID: description: This represents the id of the organization the course section is in. type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn x-oapi-codegen-extra-tags: telemetryRequestId: orgXID courseID: description: This represents the id of the whole course. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid x-oapi-codegen-extra-tags: telemetryRequestId: courseID versionID: description: This is also known as publish id. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid x-oapi-codegen-extra-tags: telemetryRequestId: versionID lessonPlanID: description: This could also be usercourse id if lesson plan id is not yet available. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid x-oapi-codegen-extra-tags: telemetryRequestId: lessonPlanID lessonID: description: This could also be folder id if lesson id is not yet available. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid x-oapi-codegen-extra-tags: telemetryRequestId: lessonID required: - orgXID - sectionXID - courseID - versionID - lessonPlanID - lessonID example: orgXID: urn:com.mheducation.openlearning:enterprise.identity.organization:qastg.global:organization:45560beb-31ff-4b1c-9ee6-ec7571363f0e sectionXID: urn:com.mheducation.openlearning:enterprise.roster:qastg.us-east-1:section:c12d4770-da12-11ed-b6bd-0b74aaab924a courseID: c4e53c92-b25b-4cfc-b1bd-2407e3d2fbec versionID: 3f892c83-2478-4de5-bb76-a9c9978de9cd lessonPlanID: e29390c0-46d9-4e4b-9f77-5a0a7000e572 lessonID: f42a46f0-8ac6-4d26-a35e-c71579edc53b LessonCalendarBehaviorData: description: The calendar behavior data for a lesson. type: object properties: canSchedule: description: This property determines if a lesson has the ability to be scheduled on the calendar. type: boolean hasCalendarEvent: description: Indicates whether a lesson is currently scheduled on the calendar. type: boolean startDate: description: The start date of a lesson's calendar event. This field is required if 'hasCalendarEvent' is true. type: string endDate: description: The end date of a lesson's calendar event. This field is required if 'hasCalendarEvent' is true. type: string required: - canSchedule - hasCalendarEvent LessonBehavior: description: A behavior for a lesson. This is used to provide the end user lesson behaviors for the current lesson. type: object properties: behaviorType: type: string enum: - calendar behaviorData: oneOf: - $ref: '#/components/schemas/LessonCalendarBehaviorData' LessonTag: description: This represents the tag on a lesson. type: object properties: key: type: string TeacherSupportSectionV2: type: object properties: type: type: string enum: - text - standards - pacing - overview - objectives - vocabulary title: type: string content: type: string standards: type: array items: $ref: '#/components/schemas/TeacherSupportStandard' required: - type - title - standards - content PlanningInformation: type: object description: This represents all the planning information in the Planning Information panel. properties: ebookTeacher: description: Teacher Ebook Assets. type: array items: $ref: '#/components/schemas/AssetV2' ebookStudent: description: Student Ebook Assets. type: array items: $ref: '#/components/schemas/AssetV2' sections: type: array description: The teacher support sections for the given lesson. items: $ref: '#/components/schemas/TeacherSupportSectionV2' required: - ebookTeacher - ebookStudent - sections example: ebookStudent: [] ebookTeacher: [] sections: - content: \u003cp\u003e1 Day\u003c/p\u003e standards: [] title: Pacing type: pacing - content: "\\u003cp\\u003eSTUDENTS WILL KNOW\\u003c/p\\u003e\\n\\n\\u003cul\\u003e\\n\\t\\u003cli\\u003e\\u003cem\\u003ethat the first civilizations were in Mesopotamia and Egypt\\u003c/em\\u003e\\u003c/li\\u003e\\n\\t\\u003cli\\u003e\\u003cem\\u003ethe Israelites were monotheistic and Jewish beliefs are markers of Western traditions\\u003c/em\\u003e\\u003c/li\\u003e\\n\\t\\u003cli\\u003e\\u003cem\\u003etwo of the world’s major religions Hinduism and Buddhism began in India\\u003c/em\\u003e\\u003c/li\\u003e\\n\\t\\u003cli\\u003e\\u003cem\\u003ethe Shang dynasty in China was the last of the great civilizations to emerge\\u003c/em\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\n\\u003cp\\u003eSTUDENTS WILL BE ABLE TO\\u003c/p\\u003e\\n\\n\\u003cul\\u003e\\n\\t\\u003cli\\u003e\\u003cem\\u003e\\u003cstrong\\u003eidentify\_\\u003c/strong\\u003ethe contributions\\u003cstrong\\u003e\_\\u003c/strong\\u003eof the peoples of Mesopotamia and Egypt\\u003c/em\\u003e\\u003c/li\\u003e\\n\\t\\u003cli\\u003e\\u003cem\\u003e\\u003cstrong\\u003eexplain\_\\u003c/strong\\u003ethe aspects of Jewish beliefs and their influence in the Western world\\u003c/em\\u003e\\u003c/li\\u003e\\n\\t\\u003cli\\u003e\\u003cem\\u003e\\u003cstrong\\u003ecompare and contrast\\u003c/strong\\u003e\_Indian civilizations as well as Hinduism and Buddhism\\u003c/em\\u003e\\u003c/li\\u003e\\n\\t\\u003cli\\u003e\\u003cem\\u003e\\u003cstrong\\u003edescribe\\u003c/strong\\u003e\_the dynasties of China and explain the reasons for their rise and decline\\u003c/em\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e" standards: [] title: Overview type: objectives - content: \u003cp\u003eWELCOME TO THE JUNGLE\ standards: - code: 4.H.HT description: Historical Thinking and Skills title: TEKS Refresh type: standards - content: "\\u003cp\\u003emodern\\u003c/p\\u003e\\n\\n\\u003cp\\u003etimes\\u003c/p\\u003e\\n\\n\\u003cp\\u003ehistory\\u003c/p\\u003e\\n\\n\\u003cp\\u003eworld\\u003c/p\\u003e\\n\\n\\u003cp\\u003eOpen\_\\u003c/p\\u003e\\n\\n\\u003cp\\u003eLearning\\u003c/p\\u003e" standards: [] title: Keywords type: vocabulary BladeV3: type: object description: Lesson Blade properties: id: description: The uuid of the blade. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid backgroundImage: type: string title: type: string embeddedInstructionalSupport: deprecated: true description: Html fragments intended to be shown inline with other tiles. This also supports icons in html. type: array items: type: string assets: type: array items: $ref: '#/components/schemas/AssetV2' required: - backgroundImage - title - assets AssetFilterStandards: description: This represents an asset filter for the standards part of the lesson view filters and other place that we want to filter existing results without sending another request. type: object properties: code: description: The Code of the Standard as a string. type: string description: description: The description of the Standard. type: string count: description: The number of assets with this filter (i.e. the value of `key`). type: integer required: - code - description - count AssetFilterParentV2: description: This represents an asset filter parent that contains the properties of the possible asset filters type: object properties: lessonViewFilters: type: array items: $ref: '#/components/schemas/AssetFilter' resourceSettings: type: array items: $ref: '#/components/schemas/AssetFilter' instructionalType: type: array items: $ref: '#/components/schemas/AssetFilter' resourceType: type: array items: $ref: '#/components/schemas/AssetFilter' languages: type: array items: $ref: '#/components/schemas/AssetFilter' standards: type: array items: $ref: '#/components/schemas/AssetFilterStandards' required: - lessonViewFilters - resourceSettings - instructionalType - resourceType - languages - standards TeacherChapterInfo: type: object description: Object containing Information for the Chapter Info Tabs properties: isDisplayed: type: boolean tabContent: description: Individual Tab Content for Teacher Chapter Info, benchmark tabTypes have no tab content and are null type: string tabType: type: string enum: - metadata-benchmark - metadata-desc - metadata-keyword - text title: type: string required: - isDisplayed - tabContent - tabType - title title: Teacher Chapter Info Tab LessonOverviewResponseV2: type: object description: Lesson Overview and Layout Structure properties: pageTitle: type: string title: type: string label: type: string backgroundImage: type: string behaviors: type: array items: $ref: '#/components/schemas/LessonBehavior' tags: type: array items: $ref: '#/components/schemas/LessonTag' planningInformation: $ref: '#/components/schemas/PlanningInformation' blades: type: array items: $ref: '#/components/schemas/BladeV3' assetFilters: $ref: '#/components/schemas/AssetFilterParentV2' teacherChapterInfo: type: array items: $ref: '#/components/schemas/TeacherChapterInfo' required: - pageTitle - title - backgroundImage - planningInformation - blades - assetFilters - teacherChapterInfo - behaviors - tags Blade: type: object description: Lesson Blades properties: id: description: The uuid of the blade. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid backgroundImage: type: string cdnImageUrl: type: string title: type: string embeddedTeacherSupport: type: boolean assets: type: array items: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid required: - backgroundImage - cdnImageUrl - title - rows Layout: type: object description: Lesson Layout structure properties: backgroundImage: type: string cdnImageUrl: type: string blades: type: array nullable: true items: $ref: '#/components/schemas/Blade' required: - backgroundImage - cdnImageUrl - blades Folder: type: object description: Folder structure properties: id: type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn parentId: description: Parent of the entity. The value can be null if the entity is a courseware. nullable: true type: string format: urn x-go-type: urn.URN x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn containerType: type: string enum: - course - node - section - subsection - addOn - recommendation - embeddedContent label: type: string nullable: true title: type: string nullable: true titleHtml: type: string nullable: true publishId: description: The UUID of the publish. The value will be present only if the entity is a courseware type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid sequence: description: Sequence of the TOC. It's a zero base sequence type: integer layout: $ref: '#/components/schemas/Layout' children: x-go-type: '[]*Folder' type: array items: $ref: '#/components/schemas/Folder' required: - containerType - id - label - title - titleHtml - sequence example: id: urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:fc08c127-188b-448f-be4b-d9e64905b2aa.a356b90a-3078-40f4-af25-6bef63142c07 parentId: '' containerType: course label: Course titleHtml: "

K5\_Entitle Test Course 4 6 20

\n" title: K5 Entitle Test Course 4 6 20 publishId: 3cf7d9fe-0133-44b0-85e5-fc00a0aa4c90 sequence: 0 children: - id: urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:280764a2-d780-48c1-816d-d83709e52b3b.a356b90a-3078-40f4-af25-6bef63142c07 parentId: urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:fc08c127-188b-448f-be4b-d9e64905b2aa.a356b90a-3078-40f4-af25-6bef63142c07 containerType: node label: Getting Started titleHtml:

Continuity and Change

title: Continuity and Change sequence: 0 children: [] - id: urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:b82ba25e-f8fa-40d7-b442-1085458f0f3f.a356b90a-3078-40f4-af25-6bef63142c07 parentId: urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:fc08c127-188b-448f-be4b-d9e64905b2aa.a356b90a-3078-40f4-af25-6bef63142c07 containerType: node label: Chapter 1 titleHtml:

Communities in California

title: Communities in California sequence: 1 children: - id: urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:432e4643-7d68-420f-843e-16a3565dad3f.a356b90a-3078-40f4-af25-6bef63142c07 parentId: urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:b82ba25e-f8fa-40d7-b442-1085458f0f3f.a356b90a-3078-40f4-af25-6bef63142c07 containerType: node label: Lesson 1 titleHtml:

Where Is My Community?

title: Where Is My Community? sequence: 0 children: null CourseResponse: allOf: - $ref: '#/components/schemas/Folder' LayoutResponse: type: object allOf: - $ref: '#/components/schemas/Layout' Standard: type: object description: This object represents one level of the standard hierarchy for a course. properties: count: description: The number of assets in the course that has this standard "tagged" to it. type: integer id: description: The id of the Standards Hierarchy object as a string. type: string key: description: The name of the Standards Hierarchy object as a string. type: string nodeType: description: The nodeType from the Standards Hierarchy object. type: string enum: - authority - benchmark - course - document - subject children: description: An array of Standards Hierarchy objects that are the children of this Standards Hierarchy object. type: array items: $ref: '#/components/schemas/Standard' required: - count - id - key - nodeType - children StandardsResponse: type: object description: Standards Hierarchy Response properties: standardsHierarchy: nullable: false type: array description: Standards Hierarchy items: $ref: '#/components/schemas/Standard' BulkAssetsRequest: type: object properties: assetUuids: minItems: 1 items: type: string format: uuid description: This is the asset uuid from the frontend x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid x-go-type: '[]uuid.UUID' x-go-type-import: name: uuid path: github.com/google/uuid required: - assetUuids example: assetUuids: - 117ce240-5178-43cb-966e-4071336e058f - 1ca0f217-2a11-4b52-951d-6acccad49612 BulkAssetsResponse: type: array description: Bulk Asset Response items: $ref: '#/components/schemas/AssetV2' ScheduleLessonRequest: type: object properties: end: description: This represents the end-date of the scheduled event for the lesson ('YYYY-MM-DD'). type: string format: date x-go-type: runtimeTypes.Date x-go-type-import: name: runtimeTypes path: github.com/oapi-codegen/runtime/types start: description: This represents the start-date of the scheduled event for the lesson ('YYYY-MM-DD'). type: string format: date x-go-type: runtimeTypes.Date x-go-type-import: name: runtimeTypes path: github.com/oapi-codegen/runtime/types title: description: This is the title of the lesson / folder. type: string url: description: This is the url where the lesson lives. type: string required: - end - start - title - url example: end: '2022-01-21' start: '2024-04-24' title: 'Chapter 17: Contemporary Global Issues (1989-Present)' url: /teacher/urn:com.mheducation.openlearning:enterprise.identity.organization:qastg.global:organization:45560beb-31ff-4b1c-9ee6-ec7571363f0e/urn:com.mheducation.openlearning:enterprise.roster:qastg.us-east-1:section:c12d4770-da12-11ed-b6bd-0b74aaab924a/course/folders:legacyCD/urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:3d6b201b-f03d-41a0-92bf-a46f487096fb.8d89b1f7-098a-43cf-bf87-c19ab9be5b1e/overview ScheduleLessonResponse: type: object description: Updated lesson overview attributes after a lesson is scheduled properties: behaviors: type: array items: $ref: '#/components/schemas/LessonBehavior' tags: type: array items: $ref: '#/components/schemas/LessonTag' required: - behaviors - tags ScheduleAssetRequest: type: object properties: end: description: The end-date of the scheduled event for the asset. type: string format: date x-go-type: runtimeTypes.Date x-go-type-import: name: runtimeTypes path: github.com/oapi-codegen/runtime/types start: description: The start-date of the scheduled event for the Asset. type: string format: date x-go-type: runtimeTypes.Date x-go-type-import: name: runtimeTypes path: github.com/oapi-codegen/runtime/types title: description: Title of the Asset. type: string required: - end - start - title example: end: '2024-04-19' start: '2024-04-18' title: 'Chapter 17: Contemporary Global Issues (1989-Present)' ScheduleAssetResponse: type: object description: The updated asset behaviors, filters and tags properties: tags: type: array items: $ref: '#/components/schemas/AssetTag' behaviors: type: array items: $ref: '#/components/schemas/AssetBehaviorV2' filters: type: array items: $ref: '#/components/schemas/AssetFilter' required: - tags - behaviors - filters LessonPlanResponse: type: object properties: lessonPlanId: description: The lesson plan uuid. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid lessonPlanXId: description: The lesson plan xid. type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn lessonPlanTitle: type: string sectionXId: description: The section xid from the backbone event. type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn courseId: description: The uuid for the course. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid courseTitle: type: string courseVersion: description: The uuid for the course version (i.e. publish id). type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid sourceDistributionBankId: description: | The distribution bank id associated with the course version from assembly. This is a temporary property that will be used until we migrate user added course data to LEA from assembly. See distributionBankId from the long term solution. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid distributionBankId: description: This is the ABS dist bank that is generated once for a lesson plan. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid required: - lessonPlanId - lessonPlanXId - lessonPlanTitle - sectionXId - courseId - courseTitle - courseVersion - sourceDistributionBankId - distributionBankId responses: ErrorResponse401: description: 401 Authorization Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: CourseUuid: in: path name: course-uuid required: true schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid description: A course UUID defined by authoring. example: 62e5eaca-5387-44c0-ae35-80d92abb5f08 PublishUuid: in: path name: publish-uuid required: true schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid description: A publish UUID defined by authoring when a lesson plan is created. example: 9de0bb4f-da82-4668-8a92-5785dedb1e95 LessonXId: in: path name: lesson-xid required: true schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid description: A lesson (i.e. folder or container) XID. This is intentionally a UUID until LEA gets persistence example: 4f6ef62b-8dba-41e4-8ded-07f030b10051 SectionXid: in: path name: section-xid required: true schema: type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn description: Context XID example: urn:com.mheducation.openlearning:enterprise.roster:qastg.us-east-1:section:3fe2fac0-e6f5-11ee-b659-79feeac6f41a Blades: in: query name: blades required: false schema: type: boolean description: indicates whether or not the blades layout should be included on the response LayoutUuid: in: path name: layout-uuid required: true schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: name: uuid path: github.com/google/uuid description: Layout UUID defined by authoring. example: 4f6ef62b-8dba-41e4-8ded-07f030b10051 OrgXId: in: path name: org-xid required: true schema: type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn example: urn:com.mheducation.openlearning:enterprise.identity.organization:qastg.global:organization:45560beb-31ff-4b1c-9ee6-ec7571363f0e LessonPlanXid: in: path name: lesson-plan-xid required: true schema: type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn example: urn:com.mheducation.openlearning:content.courseware.deliver:qastg.global:user_folder:c2702eee-37c7-498a-8474-dd93116526d4.8d89b1f7-098a-43cf-bf87-c19ab9be5b1e AssetXid: in: path name: asset-xid required: true schema: type: string format: urn x-go-type: '*urn.URN' x-go-type-import: name: urn path: github.mheducation.com/MHEducation/dle-common-urn-lib-go/urn description: An Asset XID example: urn:com.mheducation.openlearning:integration.internal.lars:prod.us-east-1:lars_asset:f34f0538-3504-4292-8fbf-15196ba6e548