Update compliance settings for a course

Update the compliance configuration for a specific course.

Lecture order requirement:

When either requirements.video_completion_enforced or requirements.quiz_pass_required is true, requirements.lecture_order_required must also be true. Requests that violate this return 422 validation_failed.

The rule is checked against the course's resulting state — your request merged over its stored values — so an omitted field is evaluated using what is already saved. Sending only {"requirements":{"video_completion_enforced":true}} therefore succeeds on a course that already enforces lecture order and fails on one that does not. Send lecture_order_required: true alongside either dependent field for a result that does not depend on the course's current settings.

Certificate configuration:

The certificate_settings.template_id must reference an existing certificate page (template) belonging to the school. Certificate pages are created through the school admin UI — there is no API endpoint for creating them. Use GET /v2/products/courses/{course_id}/compliance to retrieve the current template_id if one is already configured.

When template_id is set and auto_issue is true, certificates are automatically issued to students upon 100% course completion. The school's plan must also support native certificates.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
integer
required

Course ID

Body Params

Request body to update course compliance and certificate settings.

requirements
object

Completion requirements. When video_completion_enforced or quiz_pass_required ends up true, lecture_order_required must also be true, or the request returns 422. The rule is applied to the request body merged over the course's persisted values, so an omitted field is evaluated using its stored value rather than being ignored.

certificate_settings
object
Headers
string
required

Generated Admin API key

Responses
204

Successful

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json