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

Start free trial

LearnDash Manage Quiz

learndash/manage-quiz creates a new quiz or updates an existing one.

A newly created quiz is attached to nothing and contains no questions.

At a glance

Abilitylearndash/manage-quiz
ToolsetLearnDash — toolset/learndash
GroupLearnDash › Lessons, Topics & Quizzes
RequiresAcrossAI Pro, plus LearnDash LMS active on the site
Capabilitymanage_options
SafetyWrites data
RepeatableIdempotent — running it twice leaves the same result
Ships inAcrossAI Pro 0.9.16 and later

How it works

Both of those are separate operations. learndash/attach-step places the quiz under a course, lesson or topic, and learndash/manage-question adds questions.

So a working quiz is three kinds of call, and a quiz that exists without the other two is a normal intermediate state rather than a broken one.

Settings are written through LearnDash’s own accessor, so the meta LearnDash mirrors internally stays consistent. Writing the meta directly leaves the two copies disagreeing, and LearnDash reads whichever one it happens to read.

The settings that shape the learner experience: passingpercentage is the pass mark, repeats limits retries with retry_restrictions deciding who the limit applies to, forcedTimer and timeLimit impose a clock, showReviewQuestion lets learners revisit questions before submitting, and quiz_resume allows returning to an unfinished attempt.

Changing the pass mark on a quiz with attempts recorded does not re-evaluate them. Past attempts keep the pass or fail they were given.

Idempotent.

Input

NameTypeRequiredWhat it is
actionstringYescreate or update.
quiz_idintegerFor updateWhich quiz.
titlestringFor createThe quiz title.
contentstringNoThe quiz introduction.
statusstringNoPost status.
settingsobjectNoLearnDash settings keys.

What comes back

NameTypeWhat it is
quizobjectThe quiz after the write.
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:

Create an end-of-course quiz with a 70% pass mark.

It resolves to one call:

{
  "ability": "learndash/manage-quiz",
  "parameters": {
    "action": "create",
    "title": "Final assessment",
    "settings": { "passingpercentage": 70 }
  }
}

Worth knowing

  • Attached to nothing and empty of questions until two more calls.
  • Changing the pass mark does not re-evaluate recorded attempts.
  • Retry limits and timers change the learner experience substantially.
  • Idempotent.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading