30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

LearnDash List Courses

learndash/list-courses searches and filters the LearnDash course catalogue and returns a compact summary per course: ID, title, slug, status, author and permalink.

It is the entry point to everything else in this suite, because almost every other ability takes a course ID.

At a glance

Abilitylearndash/list-courses
ToolsetLearnDash — toolset/learndash
GroupLearnDash › Courses
RequiresAcrossAI Pro, plus LearnDash LMS active on the site
Capabilitymanage_options
SafetyRead-only — changes nothing
RepeatableIdempotent — running it twice leaves the same result
Ships inAcrossAI Pro 0.9.16 and later

How it works

Compact is deliberate. A course carries a large settings object and a step tree, and returning either for every row would make a catalogue listing expensive for no benefit.

learndash/get-course returns one course’s full settings; learndash/get-course-structure returns its lesson, topic and quiz tree. Both are per-course calls because both are large.

The status filter matters more on a LearnDash site than on most. Draft courses are normal — a course under construction is a draft for weeks — and a listing that omitted them would describe a smaller catalogue than exists.

The author filter is useful on sites where instructors own their own courses, which is a common arrangement and one where “which courses does this person own” is a real question.

Input

NameTypeRequiredWhat it is
searchstringNoKeyword search.
statusstringNoPost status filter.
authorintegerNoOnly courses owned by this user.
orderbystringNoSort key.
per_pageintegerNoRows per page.
pageintegerNoPage number.

What comes back

NameTypeWhat it is
coursesarrayEach course with its ID, title, slug, status, author and permalink.
totalintegerHow many matched.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation.

Example

Ask your assistant:

What courses does this site have?

It resolves to one call:

{
  "ability": "learndash/list-courses",
  "parameters": {}
}

Worth knowing

  • Compact by design — settings and structure are per-course calls.
  • Draft courses are normal on a LearnDash site.
  • The author filter answers ownership questions on instructor-led sites.
  • Read-only.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading