> 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

# ListSections

# Package: onlinePrograms

# Namespace: SectionsService

# Method link: https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/list-sections.md

## Permission Scopes:
Manage Online Programs: SCOPE.CHALLENGES.MANAGE

## Introduction

Retrieves all sections in a program.

Use this method when you know the program ID and need all sections in program order.

Results are sorted by `ordering` in ascending order.

To filter sections, apply custom sorting or paging, or query across programs, call [Query Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/query-sections.md).

---

## REST API

### Schema

```
 Method: listSections
 Description: Retrieves all sections in a program.  Use this method when you know the program GUID and need all sections in program order.  Results are sorted by `ordering` in ascending order.  To filter sections, apply custom sorting or paging, or query across programs, call [Query Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/query-sections.md).
 URL: https://www.wixapis.com/online-programs/v3/sections
 Method: GET
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  programId
 Method parameters: 
   query param name: programId | type: programId | description: Program GUID to list sections for. | required: true | validation: format GUID
 Return type: ListSectionsResponse
  - name: sections | type: array<Section> | description: Sections in the requested program.  | validation: maxItems 1000
     - name: id | type: string | description: Section GUID.  | read-only: true | validation: format GUID
     - name: revision | type: string | description: Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current `revision` must be passed when updating the section.  | read-only: true | validation: format int64
     - name: createdDate | type: string | description: Date and time the section was created.  | read-only: true | validation: format date-time
     - name: updatedDate | type: string | description: Date and time the section was last updated.  | read-only: true | validation: format date-time
     - name: programId | type: string | description: Program GUID of the parent program. Provide it when creating a section. After creation, this value can't be changed.  | read-only: true | validation: format GUID, immutable
     - name: description | type: Description | description: Section title.  
        - name: title | type: string | description:   | validation: maxLength 500
     - name: totalSteps | type: integer | description: Total number of steps in the section.  | read-only: true | validation: format int32
     - name: ordering | type: number | description: Position rank used to order sections within a program. To reorder sections, call Move Section.  | read-only: true 
     - name: delayInDays | type: integer | description: Number of days before the section becomes available. The count starts from the program's start date for scheduled programs, or from the participant's enrollment date for self-paced ones. Someone joining a scheduled program after it began may find several sections already open. Use `0` for a section available from the start.  | validation: minimum 0, maximum 5000
     - name: extendedFields | type: ExtendedFields | description: Custom field data for the section. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured in the app dashboard before they can be accessed with API calls.  
        - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).  | validation: format map


```

### Examples

### List sections
Retrieves all sections in a program in their current order.

```curl
curl -X GET \
'https://www.wixapis.com/online-programs/v3/sections?programId=f68c8cf0-95aa-4949-984e-efe800ede364' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.onlinePrograms.sections.listSections(programId)
 Description: Retrieves all sections in a program.  Use this method when you know the program GUID and need all sections in program order.  Results are sorted by `ordering` in ascending order.  To filter sections, apply custom sorting or paging, or query across programs, call [Query Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/query-sections.md).
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  programId
 Method parameters: 
   param name: programId | type: string | description: Program GUID to list sections for. | required: true | validation: format GUID
 Return type: PROMISE<ListSectionsResponse>
  - name: sections | type: array<Section> | description: Sections in the requested program.  | validation: maxItems 1000
     - name: _id | type: string | description: Section GUID.  | read-only: true | validation: format GUID
     - name: revision | type: string | description: Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current `revision` must be passed when updating the section.  | read-only: true | validation: format int64
     - name: _createdDate | type: Date | description: Date and time the section was created.  | read-only: true 
     - name: _updatedDate | type: Date | description: Date and time the section was last updated.  | read-only: true 
     - name: programId | type: string | description: Program GUID of the parent program. Provide it when creating a section. After creation, this value can't be changed.  | read-only: true | validation: format GUID, immutable
     - name: description | type: Description | description: Section title.  
        - name: title | type: string | description:   | validation: maxLength 500
     - name: totalSteps | type: integer | description: Total number of steps in the section.  | read-only: true | validation: format int32
     - name: ordering | type: number | description: Position rank used to order sections within a program. To reorder sections, call Move Section.  | read-only: true 
     - name: delayInDays | type: integer | description: Number of days before the section becomes available. The count starts from the program's start date for scheduled programs, or from the participant's enrollment date for self-paced ones. Someone joining a scheduled program after it began may find several sections already open. Use `0` for a section available from the start.  | validation: minimum 0, maximum 5000
     - name: extendedFields | type: ExtendedFields | description: Custom field data for the section. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured in the app dashboard before they can be accessed with API calls.  
        - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).  | validation: format map


```

### Examples

### List all sections in a program
```javascript
import { sections } from "@wix/online-programs";

async function listSections() {
  const response = await sections.listSections("f68c8cf0-95aa-4949-984e-efe800ede364");

  return response;
}

/* Promise resolves to:
 * {
 *   "sections": [
 *     {
 *       "_id": "ead4f8aa-7cd7-462b-a0a9-f9e83b161792",
 *       "programId": "f68c8cf0-95aa-4949-984e-efe800ede364",
 *       "description": { "title": "Section 1" },
 *       "ordering": 10
 *     }
 *   ]
 * }
 */

```

### listSections (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { sections } from '@wix/online-programs';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { sections },
  // Include the auth strategy and host as relevant
});


async function listSections(programId) {
  const response = await myWixClient.sections.listSections(programId);
};
```

---