Courses::Sections::PublishAction

List Publish Actions

Changed on

List course-section publish actions for a course

get/courses/{course_id}/sections/publish_actions

Request

Path parameters

course_idstring required

Query parameters

afterstring

ID of item after which the collection should be returned. More examples and info about pagination in our guides.

per_pageinteger

Records per page. Defaults to 20; raise it up to 100 for bulk reads. A larger value returns 100 records. Zero, a negative or a non-integer value is a 422. The Link next-page URL keeps the value, so a client following it keeps the page size. More in our guides.

sort_order'asc' | 'desc'

Sort order of a list response. Use 'desc' to reverse the default 'asc' (ascending) sort order. Examples in our guides.

sort_property'id' | 'updated_at'

Sort property of a list response. The default is id and thus the created_at order. If you sort by other properties, we additionally sort by id implicitly as a secondary sort property, so that you can rely on the sort order to be deterministic even if the main sort property ends up with the same values.

Response

OK

idinteger

Publish Action ID

public_idstring nullable

Publish Action public ID

course_idinteger

ID of the course whose sections are being published

target_allboolean nullable

When true, every unpublished non-root section of the course is targeted for publishing. Mutually exclusive with target_ids.

target_idsinteger[] nullable

Explicit list of course-section IDs targeted for publishing, always emitted as integers. The create request also accepts public IDs, which are resolved on input. Mutually exclusive with target_all.

auto_enrollboolean nullable

When true, existing course enrollees are automatically granted access to the newly published sections.

send_emailboolean nullable

When true (and auto_enroll is also true), enrolled contacts receive an email notification about the newly published sections.

offer_new_section_via_all_access_productsboolean nullable

When true, products that grant full course access are updated to also offer the newly published sections.

target_countinteger nullable

Total number of sections targeted by this action. null until the async job has resolved the count.

performed_countinteger nullable

Number of sections processed so far. Poll alongside target_count to track async progress.

published_lessons_countinteger nullable

Number of lesson publish timestamps this action changed. Immediate actions make those lessons live, including individually scheduled lessons they force-publish; a future one-step course launch assigns its requested future timestamp instead. Lessons already live are excluded. The one-step count is recorded synchronously per section, so it reflects that flow's work rather than 0.

status'queued' | 'scheduled' | 'processing' | 'completed'

Progress of the async receipt: queued (saved, not yet started), scheduled (deferred to a future scheduled_for), processing (running), or completed. Poll this to tell whether work is still ongoing without inferring it from the timestamps.

scheduled_forstring date-time nullable

When set, the action is deferred until this datetime. Must be a future datetime. null means execute immediately.

started_atstring date-time nullable

Datetime the async job began processing sections. null until started.

completed_atstring date-time nullable

Datetime the async job finished. null until complete.

created_by_idinteger nullable

ID of the workspace membership that created this action.

approved_by_idinteger nullable

ID of the membership that approved this action (reserved for future use).

created_atstring date-time nullable

Created at datetime

updated_atstring date-time nullable

Updated at datetime

Example response

[
  {
    "id": 1,
    "public_id": "aB3cD4",
    "course_id": 5,
    "target_all": false,
    "target_ids": [
      8,
      9
    ],
    "auto_enroll": true,
    "send_email": true,
    "offer_new_section_via_all_access_products": false,
    "target_count": 2,
    "performed_count": 1,
    "published_lessons_count": 4,
    "status": "processing",
    "scheduled_for": null,
    "started_at": "2025-01-01T00:01:00.000Z",
    "completed_at": null,
    "created_by_id": 3,
    "approved_by_id": null,
    "created_at": "2025-01-01T00:00:00.000Z",
    "updated_at": "2025-01-01T00:01:00.000Z"
  }
]

Changes

    • info

      added the new optional query request parameter per_page

    • info

      for the path request parameter course_id, the type was generalized from integer to string

    • info

      added the non-success response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status