Skip to content

correct default course / program image behavior#3351

Open
gumaerc wants to merge 3 commits intomainfrom
cg/null-course-image
Open

correct default course / program image behavior#3351
gumaerc wants to merge 3 commits intomainfrom
cg/null-course-image

Conversation

@gumaerc
Copy link
Contributor

@gumaerc gumaerc commented Mar 4, 2026

What are the relevant tickets?

Closes https://github.com/mitodl/hq/issues/10433

Description (What does it do?)

This PR alters the serializers so that course / program pages in the API return null instead of the hard coded /static/images/mit-dome.png for the feature_image_src property when a featured image is not set in Wagtail. The frontend in MITx Online was also configured to handle this.

How can this be tested?

  • Make sure you have a course and a program both without a featured image set in Wagtail
  • View the API data for each at /api/v2/courses/readable-id / /api/v2/programs/readable-id
  • Ensure that feature_img_src is null
  • Visit the product pages for the course and program you tested at /courses/readable-id and /programs/readable-id
  • Verify that the default image still loads

@github-actions
Copy link

github-actions bot commented Mar 4, 2026

OpenAPI Changes

Show/hide ## Changes for v0.yaml:
## Changes for v0.yaml:
44 changes: 44 error, 0 warning, 0 info
error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/course_runs/
		the response property '/items/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/course_runs/{id}/
		the response property 'course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/courses/
		the response property 'results/items/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/courses/{id}/
		the response property 'page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/enrollments/
		the response property '/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API POST /api/v1/enrollments/
		the response property 'run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '201'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API PATCH /api/v1/enrollments/{id}/
		the response property 'run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API PUT /api/v1/enrollments/{id}/
		the response property 'run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/program_enrollments/
		the response property '/items/enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/program_enrollments/
		the response property '/items/program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/program_enrollments/
		the response property '/items/program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API DELETE /api/v1/program_enrollments/{id}/
		the response property 'enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API DELETE /api/v1/program_enrollments/{id}/
		the response property 'program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API DELETE /api/v1/program_enrollments/{id}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/program_enrollments/{id}/
		the response property 'enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/program_enrollments/{id}/
		the response property 'program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/program_enrollments/{id}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/programs/
		the response property 'results/items/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/programs/
		the response property 'results/items/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/programs/{id}/
		the response property 'courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v1/programs/{id}/
		the response property 'page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/course_certificates/{cert_uuid}/
		the response property 'course_run/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/courses/
		the response property 'results/items/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/courses/{id}/
		the response property 'page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/enrollments/
		the response property '/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API POST /api/v2/enrollments/
		the response property 'run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '201'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.coursepage
		the response property 'items/items/course_details/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.coursepage
		the response property 'items/items/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.programpage
		the response property 'items/items/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.programpage
		the response property 'items/items/program_details/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/CoursePageItem]/course_details/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/CoursePageItem]/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/ProgramPageItem]/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/ProgramPageItem]/program_details/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/program_certificates/{cert_uuid}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/program_enrollments/
		the response property '/items/enrollments/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/program_enrollments/
		the response property '/items/program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API DELETE /api/v2/program_enrollments/{id}/
		the response property '/items/enrollments/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API DELETE /api/v2/program_enrollments/{id}/
		the response property '/items/program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/program_enrollments/{id}/
		the response property 'enrollments/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/program_enrollments/{id}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/programs/
		the response property 'results/items/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API GET /api/v2/programs/{id}/
		the response property 'page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v0.yaml	
	in API POST /api/v2/verified_program_enrollments/{program_id}/{courserun_id}/
		the response property 'run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '201'



## Changes for v1.yaml:
44 changes: 44 error, 0 warning, 0 info
error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/course_runs/
		the response property '/items/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/course_runs/{id}/
		the response property 'course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/courses/
		the response property 'results/items/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/courses/{id}/
		the response property 'page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/enrollments/
		the response property '/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API POST /api/v1/enrollments/
		the response property 'run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '201'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API PATCH /api/v1/enrollments/{id}/
		the response property 'run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API PUT /api/v1/enrollments/{id}/
		the response property 'run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/program_enrollments/
		the response property '/items/enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/program_enrollments/
		the response property '/items/program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/program_enrollments/
		the response property '/items/program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API DELETE /api/v1/program_enrollments/{id}/
		the response property 'enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API DELETE /api/v1/program_enrollments/{id}/
		the response property 'program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API DELETE /api/v1/program_enrollments/{id}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/program_enrollments/{id}/
		the response property 'enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/program_enrollments/{id}/
		the response property 'program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/program_enrollments/{id}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/programs/
		the response property 'results/items/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/programs/
		the response property 'results/items/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/programs/{id}/
		the response property 'courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v1/programs/{id}/
		the response property 'page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/course_certificates/{cert_uuid}/
		the response property 'course_run/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/courses/
		the response property 'results/items/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/courses/{id}/
		the response property 'page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/enrollments/
		the response property '/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API POST /api/v2/enrollments/
		the response property 'run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '201'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.coursepage
		the response property 'items/items/course_details/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.coursepage
		the response property 'items/items/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.programpage
		the response property 'items/items/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.programpage
		the response property 'items/items/program_details/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/CoursePageItem]/course_details/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/CoursePageItem]/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/ProgramPageItem]/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/ProgramPageItem]/program_details/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/program_certificates/{cert_uuid}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/program_enrollments/
		the response property '/items/enrollments/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/program_enrollments/
		the response property '/items/program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API DELETE /api/v2/program_enrollments/{id}/
		the response property '/items/enrollments/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API DELETE /api/v2/program_enrollments/{id}/
		the response property '/items/program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/program_enrollments/{id}/
		the response property 'enrollments/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/program_enrollments/{id}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/programs/
		the response property 'results/items/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API GET /api/v2/programs/{id}/
		the response property 'page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v1.yaml	
	in API POST /api/v2/verified_program_enrollments/{program_id}/{courserun_id}/
		the response property 'run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '201'



## Changes for v2.yaml:
44 changes: 44 error, 0 warning, 0 info
error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/course_runs/
		the response property '/items/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/course_runs/{id}/
		the response property 'course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/courses/
		the response property 'results/items/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/courses/{id}/
		the response property 'page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/enrollments/
		the response property '/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API POST /api/v1/enrollments/
		the response property 'run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '201'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API PATCH /api/v1/enrollments/{id}/
		the response property 'run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API PUT /api/v1/enrollments/{id}/
		the response property 'run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/program_enrollments/
		the response property '/items/enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/program_enrollments/
		the response property '/items/program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/program_enrollments/
		the response property '/items/program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API DELETE /api/v1/program_enrollments/{id}/
		the response property 'enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API DELETE /api/v1/program_enrollments/{id}/
		the response property 'program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API DELETE /api/v1/program_enrollments/{id}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/program_enrollments/{id}/
		the response property 'enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/course/allOf[#/components/schemas/Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/program_enrollments/{id}/
		the response property 'program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/program_enrollments/{id}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/programs/
		the response property 'results/items/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/programs/
		the response property 'results/items/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/programs/{id}/
		the response property 'courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v1/programs/{id}/
		the response property 'page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/course_certificates/{cert_uuid}/
		the response property 'course_run/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/courses/
		the response property 'results/items/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/courses/{id}/
		the response property 'page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/enrollments/
		the response property '/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API POST /api/v2/enrollments/
		the response property 'run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '201'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.coursepage
		the response property 'items/items/course_details/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.coursepage
		the response property 'items/items/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.programpage
		the response property 'items/items/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/pages/?fields=*&type=cms.programpage
		the response property 'items/items/program_details/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/CoursePageItem]/course_details/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/CoursePageItem]/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/ProgramPageItem]/faculty/items/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/pages/{id}/
		the response property '/oneOf[#/components/schemas/ProgramPageItem]/program_details/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/program_certificates/{cert_uuid}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/program_enrollments/
		the response property '/items/enrollments/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/program_enrollments/
		the response property '/items/program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API DELETE /api/v2/program_enrollments/{id}/
		the response property '/items/enrollments/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API DELETE /api/v2/program_enrollments/{id}/
		the response property '/items/program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/program_enrollments/{id}/
		the response property 'enrollments/items/run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/program_enrollments/{id}/
		the response property 'program/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/programs/
		the response property 'results/items/page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API GET /api/v2/programs/{id}/
		the response property 'page/allOf[#/components/schemas/ProgramPage]/feature_image_src' became nullable for the status '200'

error	[response-property-became-nullable] at head/openapi/specs/v2.yaml	
	in API POST /api/v2/verified_program_enrollments/{program_id}/{courserun_id}/
		the response property 'run/allOf[#/components/schemas/V2CourseRunWithCourse]/course/allOf[#/components/schemas/V2Course]/page/allOf[#/components/schemas/CoursePage]/feature_image_src' became nullable for the status '201'



Unexpected changes? Ensure your branch is up-to-date with main (consider rebasing).

@gumaerc gumaerc changed the title If no course / program image is set in Wagtail, return null in the AP… correct default course / program image behavior Mar 4, 2026
Copy link
Contributor

@annagav annagav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked that the default image still loads and the api returns null for feature_image_src 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants