List Sections
Changed onList Sections. Ordered by id ascending by default (pass sort_order=desc for descending), consistent with the pagination cursor, so following the Pagination-Next header returns every section exactly once.
The list includes the course's root section - a structural container (parent_id: null, matching the course's root_section_id) that is not shown in the course builder UI; most integrations can ignore it and treat its children as the modules. Pass sort_property=sort_order for the builder's display order; note sort_order is scoped per parent, so it is not globally unique across the list (the root and each parent's first child both start at 0, tie-broken by id).
See Reading back a course in the Courses Skill for the read walk.
Request
- Base URLhttps://myworkspace.myclickfunnels.com/api/v2
- Auth
- HTTP bearer
- or OAuth 2Authorization codehttps://accounts.myclickfunnels.com/oauth/authorizeToken URLhttps://accounts.myclickfunnels.com/oauth/token
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
Query parameters
ID of item after which the collection should be returned. More examples and info about pagination in our guides.
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 of a list response. Use 'desc' to reverse the default 'asc' (ascending) sort order. Examples in our guides.
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
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
- breaking
the response property
/became nullable for the status - breaking
the
/response's property type changed fromstringtointegernullfor status - breaking
the
/response's property type changed fromstringnulltointegernullfor status - info
added the new optional
queryrequest parameterper_page - info
for the
pathrequest parametercourse_id, the type was generalized fromintegertostring - 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
- breaking