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
| Ability | learndash/manage-quiz |
| Toolset | LearnDash — toolset/learndash |
| Group | LearnDash › Lessons, Topics & Quizzes |
| Requires | AcrossAI Pro, plus LearnDash LMS active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI 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
| Name | Type | Required | What it is |
|---|---|---|---|
action | string | Yes | create or update. |
quiz_id | integer | For update | Which quiz. |
title | string | For create | The quiz title. |
content | string | No | The quiz introduction. |
status | string | No | Post status. |
settings | object | No | LearnDash settings keys. |
What comes back
| Name | Type | What it is |
|---|---|---|
quiz | object | The quiz after the write. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present 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
- LearnDash Manage Question — add questions
- LearnDash Attach Step — place it in a course
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category