generated: '2026-07-21' method: derived source: openapi/skilljar-openapi-original.yml note: Entity graph derived from OpenAPI schema $ref links and *_id reference fields across the core (non-Request/Patched/Paginated) component schemas. id-prefixes/domains not published. entity_count: 161 relationship_count: 130 relationships: - from: BulkUserSignupInfo to: BulkUserSignupFieldValue type: has_many via: results - from: CatalogPageGroupVisibility to: StudentGroupSummary type: has_one via: student_group - from: CatalogPageTag to: NestedTag type: has_one via: tag - from: ClassicCatalogPageItem to: ItemCatalogPage type: belongs_to via: item_catalog_page_id - from: ClassicCatalogPageItem to: ItemPublishedPath type: belongs_to via: item_published_path_id - from: ClassicCatalogPageItem to: ItemPublishedCourse type: belongs_to via: item_published_course_id - from: ClassicCatalogPageItem to: ItemPlan type: belongs_to via: item_plan_id - from: ClassicCatalogPageItemOrderUpdate to: ItemCatalogPage type: belongs_to via: item_catalog_page_id - from: ClassicCatalogPageItemOrderUpdate to: ItemPublishedPath type: belongs_to via: item_published_path_id - from: ClassicCatalogPageItemOrderUpdate to: ItemPublishedCourse type: belongs_to via: item_published_course_id - from: ClassicCatalogPageItemOrderUpdate to: ItemPlan type: belongs_to via: item_plan_id - from: Course to: DraftOrigin type: belongs_to via: draft_origin_id - from: CourseProgress to: CourseProgress type: belongs_to via: course_progress_id - from: CreateEnrollment to: ReadOnlyUser type: has_one via: user - from: CreatePlanEnrollment to: ReadOnlyUser type: has_one via: user - from: CreatePublishedPathEnrollment to: ReadOnlyUser type: has_one via: user - from: DomainAccessCodeDetail to: DomainAccessCodeUser type: has_many via: users - from: DomainUserCreate to: UserSignupFieldValue type: has_many via: signup_fields - from: DomainUserDetail to: UserSignupFieldValue type: has_many via: signup_fields - from: DomainUserUpdate to: UserSignupFieldValue type: has_many via: signup_fields - from: Enrollment to: ReadOnlyUser type: has_one via: user - from: EnrollmentPurchase to: Order type: belongs_to via: order_id - from: EnrollmentPurchase to: Price type: has_one via: purchase_price - from: EnrollmentPurchase to: Purchase type: belongs_to via: purchase_id - from: Group to: GroupCategory type: belongs_to via: group_category_id - from: GroupAccessCodePool to: GroupAccessCodePoolLink type: has_one via: access_code_pool - from: GroupMembership to: GroupMembershipGroup type: has_one via: group - from: GroupUpdate to: GroupCategory type: belongs_to via: group_category_id - from: HtmlContentBlock to: ContentBlock type: belongs_to via: content_block_id - from: InvalidIds to: Course type: has_many via: course_ids - from: InvalidIds to: Path type: has_many via: path_ids - from: InvalidIds to: License type: has_many via: license_ids - from: Lesson to: ContentAsset type: belongs_to via: content_asset_id - from: Lesson to: ContentQuiz type: belongs_to via: content_quiz_id - from: Lesson to: ContentWebPackage type: belongs_to via: content_web_package_id - from: Lesson to: Course type: belongs_to via: course_id - from: LessonContentItem to: ContentAsset type: belongs_to via: content_asset_id - from: LessonContentItem to: ContentQuiz type: belongs_to via: content_quiz_id - from: LessonContentItem to: ContentRating type: belongs_to via: content_rating_id - from: LessonContentItem to: Lesson type: belongs_to via: lesson_id - from: LessonContentItemUpdate to: ContentAsset type: belongs_to via: content_asset_id - from: LessonContentItemUpdate to: ContentQuiz type: belongs_to via: content_quiz_id - from: LessonContentItemUpdate to: ContentRating type: belongs_to via: content_rating_id - from: LessonContentItemUpdate to: Lesson type: belongs_to via: lesson_id - from: LessonCourseListItem to: CourseListItem type: has_one via: course - from: LessonUpdate to: ContentAsset type: belongs_to via: content_asset_id - from: LessonUpdate to: ContentQuiz type: belongs_to via: content_quiz_id - from: LessonUpdate to: ContentWebPackage type: belongs_to via: content_web_package_id - from: LessonUpdate to: Course type: belongs_to via: course_id - from: LicensePackageCreate to: Tracking type: belongs_to via: tracking_id - from: LicensePackageCreate to: Domain type: belongs_to via: domain_id - from: LicensePackageDetail to: Tracking type: belongs_to via: tracking_id - from: LicensePackageDetail to: Domain type: belongs_to via: domain_id - from: LicensePackageDetail to: Offer type: has_many via: offer_ids - from: LicensePackageSeatCreate to: LicensePackageStudentCreate type: has_one via: student - from: LicensePackageUpdate to: Tracking type: belongs_to via: tracking_id - from: ManagerAccess to: ReadOnlyUser type: has_one via: user - from: ManagerAccess to: Invalid type: has_many via: invalid_ids - from: ManagerAccessDetails to: Group type: belongs_to via: group_id - from: ManagerAccessDetails to: Course type: has_many via: course_ids - from: ManagerAccessDetails to: Path type: has_many via: path_ids - from: ManagerAccessDetails to: License type: has_many via: license_ids - from: NestedLabelAssociation to: NestedLabelAssociationLabel type: has_one via: label - from: Offer to: Price type: has_one via: price - from: OfferItem to: CourseSeries type: belongs_to via: course_series_id - from: OfferItem to: PublishedPath type: belongs_to via: published_path_id - from: OfferItem to: PublishedCourse type: belongs_to via: published_course_id - from: OfferItem to: Plan type: belongs_to via: plan_id - from: PageContentBlockItem to: HtmlContentBlock type: belongs_to via: html_content_block_id - from: PageContentBlockItem to: TileContainerContentBlock type: belongs_to via: tile_container_content_block_id - from: PageContentBlockItem to: ComponentContentBlock type: belongs_to via: component_content_block_id - from: PageContentBlockItemOrderUpdate to: HtmlContentBlock type: belongs_to via: html_content_block_id - from: PageContentBlockItemOrderUpdate to: TileContainerContentBlock type: belongs_to via: tile_container_content_block_id - from: PageContentBlockItemOrderUpdate to: ComponentContentBlock type: belongs_to via: component_content_block_id - from: PathItem to: CourseSummary type: has_one via: course - from: PathItemPublishedCourseSummary to: Course type: belongs_to via: course_id - from: PlanEnrollment to: ReadOnlyUser type: has_one via: user - from: PromoCode to: PromoCodePool type: belongs_to via: promo_code_pool_id - from: PromoCodePoolOffer to: OfferItem type: has_many via: offers - from: PromoCodeUpdate to: PromoCodePool type: belongs_to via: promo_code_pool_id - from: PublishedCourseDetail to: CourseDetail type: has_one via: course - from: PublishedCourseGroupVisibility to: StudentGroupSummary type: has_one via: student_group - from: PublishedCourseStudentGroupPrerequisite to: StudentGroupSummary type: has_one via: student_group - from: PublishedCourseTag to: NestedTag type: has_one via: tag - from: PublishedPath to: CreatePath type: has_one via: path - from: PublishedPathEnrollment to: ReadOnlyUser type: has_one via: user - from: PublishedPathGroupVisibility to: StudentGroupSummary type: has_one via: student_group - from: PublishedPathPathItem to: PathItemPublishedCourseSummary type: has_one via: published_course - from: PublishedPathTag to: NestedTag type: has_one via: tag - from: Purchase to: Order type: belongs_to via: order_id - from: Purchase to: Offer type: belongs_to via: offer_id - from: Purchase to: PaymentProcessorOrder type: belongs_to via: payment_processor_order_id - from: Question to: Answer type: has_many via: answers - from: QuestionSummary to: Answer type: has_many via: answers - from: QuestionUpdate to: Answer type: has_many via: answers - from: RatingContentBlock to: ContentItem type: belongs_to via: content_item_id - from: SignUpFieldRule to: SignupFieldOptionLink type: has_many via: options - from: SignupField to: SignupFieldOption type: has_many via: options - from: StudentLessonProgressCourseItem to: User type: has_one via: user - from: StudentLessonProgressCourseItem to: LessonCourseListItem type: has_one via: lesson - from: StudentPathProgress to: PathProgress type: belongs_to via: path_progress_id - from: TileContainerContentBlock to: ContentBlock type: belongs_to via: content_block_id - from: TileContainerItem to: ItemCatalogPage type: belongs_to via: item_catalog_page_id - from: TileContainerItem to: ItemPublishedPath type: belongs_to via: item_published_path_id - from: TileContainerItem to: ItemPublishedCourse type: belongs_to via: item_published_course_id - from: TileContainerItem to: ItemPlan type: belongs_to via: item_plan_id - from: TileContainerItemOrderUpdate to: ItemCatalogPage type: belongs_to via: item_catalog_page_id - from: TileContainerItemOrderUpdate to: ItemPublishedPath type: belongs_to via: item_published_path_id - from: TileContainerItemOrderUpdate to: ItemPublishedCourse type: belongs_to via: item_published_course_id - from: TileContainerItemOrderUpdate to: ItemPlan type: belongs_to via: item_plan_id - from: UserEnrollment to: CourseProgress type: belongs_to via: course_progress_id - from: UserEnrollment to: Enrollment type: belongs_to via: enrollment_id - from: UserLessonProgress to: UserLessonProgressLessonProgress type: has_one via: lesson_progress - from: UserLessonProgressLessonProgress to: LessonProgress type: belongs_to via: lesson_progress_id - from: UserPlanEnrollments to: Plan type: belongs_to via: plan_id - from: UserPlanEnrollments to: Enrollment type: belongs_to via: enrollment_id - from: UserPublishedCourseProgress to: PublishedCourse type: belongs_to via: published_course_id - from: UserPublishedCourseProgress to: Enrollment type: belongs_to via: enrollment_id - from: UserPublishedCourseProgress to: CourseProgress type: has_one via: course_progress - from: UserPublishedCourseProgress to: UserEnrollment type: has_many via: all_enrollments - from: UserPublishedPathEnrollments to: PublishedPath type: belongs_to via: published_path_id - from: UserPublishedPathEnrollments to: Enrollment type: belongs_to via: enrollment_id - from: UserPublishedPathEnrollments to: UserPublishedPathSummary type: has_one via: published_path - from: UserPublishedPathEnrollments to: StudentPathProgress type: has_one via: published_path_progress - from: UserSignupFieldValue to: SignupFieldSummary type: has_one via: signup_field - from: ViltSession to: LessonCourseListItem type: has_one via: lesson - from: ViltSessionEvent to: ViltSession type: has_one via: vilt_session - from: ViltSessionEvent to: ViltLocation type: has_one via: event_location - from: ViltSessionRegistrationDetail to: ReadOnlyViltSession type: has_one via: vilt_session - from: ViltSessionRegistrationListItem to: ReadOnlyViltSession type: has_one via: vilt_session