Courses::Section

Publish Section

Changed on

Makes a single section live by setting published_at, and cascade-publishes its lessons individually so per-lesson side effects fire. The response is the canonical section resource. If section or lesson validation fails, the entire request returns 422 without changing any publish timestamps. Pass an optional future published_at to schedule it; omit it to publish now. A past published_at is rejected. This is the default publish (auto_enroll: false) — to also grant existing enrollees access and notify them, use createCoursesSectionsPublishActions with auto_enroll instead. The root section cannot be published directly. See Publishing in the Courses Skill for the publish paths.

post/courses/sections/{id}/publish

Request

Path parameters

idstring required

Request body

published_atstring date-time

Optional ISO 8601 datetime at which the section should become live. Must be now or in the future — a past datetime is rejected. Omit to publish immediately.

Response

OK

idinteger

ID

public_idstring nullable

Public ID

course_idinteger

Course ID

titlestring

Title

published_atstring date-time nullable

Published at

descriptionstring nullable

Description

days_till_drip_accessinteger nullable

Days until drip access

blocker_section_idinteger nullable

Blocker section

blocker_lesson_idinteger nullable

Blocker lesson

current_pathstring nullable

Current Path

is_hidden_from_non_membersboolean nullable

Current Path

upgrade_urlstring nullable

Upgrade URL

parent_idstring nullable

Parent ID is pointing to the parent section. If it's nil then it's the <b>root</b> section.

sort_orderinteger nullable

Builder display order within the parent module. Scoped per parent, so it is not globally unique across the sections list (the root section and each parent's first child both start at 0).

created_atstring date-time nullable

Created at

updated_atstring date-time nullable

Updated at

Example response

{
  "id": 1,
  "public_id": "sSwcZK",
  "course_id": 3,
  "title": "Module 1",
  "published_at": "2025-01-01T00:00:00.000Z",
  "description": "Example Course Section",
  "days_till_drip_access": 5,
  "blocker_section_id": null,
  "blocker_lesson_id": null,
  "current_path": "/section-example",
  "is_hidden_from_non_members": true,
  "upgrade_url": null,
  "parent_id": null,
  "sort_order": 0,
  "created_at": "2025-01-01T00:00:00.000Z",
  "updated_at": "2025-01-01T00:00:00.000Z"
}

Changes