This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.
Use this flow when you want to build or expand the structure of an existing online program.
To add a section to a program:
section.programId.section.programId as immutable after creation.section.description.title to the section title.delayInDays.Use this flow when you need to display the section structure for a program dashboard or synchronize it into another system.
To retrieve section outlines for a program:
programId to retrieve all sections in program order.Use this flow when you want to change the sequence in which sections appear in a program.
To reorder sections in a program:
programId to retrieve the current order of sections.afterSectionId.afterSectionId empty if the section should become the first section in the program.Use this flow when you need more than the default program-order list, such as filtering by delay in days or sorting by creation date.
To filter and sort sections:
query.filter object for the program and any additional filters you need.query.sort when you need a specific sort order, such as ordering or createdDate.query.cursorPaging.limit to control page size.pagingMetadata to continue paging if more results are available.Use this flow when you want to reuse the structure and content of an existing section in the same program.
To clone section content:
totalSteps value. Steps are cloned asynchronously after the clone call returns.Use this flow when a section should no longer exist in the public API.
To delete a section:
Last updated: 18 September 2026