> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: Introduction

## Article: Introduction

## Article Link: https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/introduction.md

## Article Content:

# About the Program Sections API

The Program Sections API manages the sections that organize content within an online program. A section groups related learning steps, controls their order within a program, and can optionally delay access. For scheduled programs, the delay is counted from the program's start date. For self-paced programs, it's counted from each participant's enrollment date.

Program sections work with the broader Online Programs model. A section always belongs to a single program, and steps are created inside sections. In practice, most implementations use the Programs API to create the parent program first, then use the Program Sections API to shape the program outline, and finally use the Program Steps API to add the actual learning content inside each section.

With the Program Sections API, you can:

+ Create and update sections in a program.
+ Retrieve a program's section outline with list and query methods.
+ Reorder sections within a program.
+ Clone existing sections to reuse their structure and content.
+ Control when a section becomes available to participants with a delayed release.

## Section availability

Section availability depends on the program type and the section's `delayInDays` value. For scheduled programs, the delay is counted from the program's start date. This means someone who joins after the program has started may find several sections already available. For self-paced programs, the delay is counted from that participant's enrollment date. A value of `0` makes the section available from the start. The parent program's status and access restrictions also determine whether participants can access the section.

## Section order

The service assigns the stored ordering value automatically when a section is created. To change the order later, call `MoveSection`.

## Before you begin

It's important to note the following points before starting to code:

+ Every section belongs to a single program.
+ When creating a section, send `section.programId`. After creation, the section stays attached to that program and the program ID can't be changed.
+ Set `delayInDays` relative to the program's start date for scheduled programs, or relative to each participant's enrollment date for self-paced programs. Participant enrollment dates are available as `Participant.enrollmentInfo.startDate`.
+ If the parent program has a duration, `delayInDays` must be lower than that duration.
+ A program can contain up to 1,000 sections. Create, bulk create, and clone operations fail if they would exceed that limit.
+ The service assigns the stored ordering value automatically when a section is created. To reorder sections later, call `MoveSection`.
+ To use extended fields, register the schema against `wix.online_programs.v3.section`. Section extended fields aren't filterable or sortable. Cloning a section copies its extended field data.
+ When you know the program ID and need all sections in program order, use `ListSections`. Use `QuerySections` when you need filtering, custom sorting or paging, or a cross-program query.
+ The public API treats `DeleteSection` as permanent. Deleted sections are removed from normal reads, and there's no public restore flow.

## Use cases

+ [Add a section to a program](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/sample-flows.md).
+ [Retrieve section outlines for a program](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/sample-flows.md).
+ [Reorder sections in a program](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/sample-flows.md).
+ [Filter and sort sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/sample-flows.md).
+ [Clone section content](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/sample-flows.md).
+ [Delete a section](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/sample-flows.md).

## Terminology

+ **Program**: The parent online learning experience that contains sections and steps.
+ **Section**: A grouping of related steps inside a program.
+ **Step**: An individual learning unit inside a section.
+ **Delay in days**: The number of days before the section becomes available, counted from the program's start date for scheduled programs or from the participant's enrollment date for self-paced programs. A value of `0` means the section is available from the start.

## See also

+ Programs API: create and manage the parent program.
+ Program Steps API: add and manage the steps inside each section.

@sdk_package_setup