learndash/list-user-achievements lists the badges a learner has earned, newest first, with the points each carried and when it was awarded.
A repeatable achievement appears once per time it was earned.
At a glance
| Ability | learndash/list-user-achievements |
| Toolset | LearnDash — toolset/learndash |
| Group | LearnDash › Achievements |
| Requires | AcrossAI Pro, plus LearnDash LMS active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
That per-earn row is what learndash/revoke-achievement operates on. The award IDs it returns are per-award row IDs, not achievement post IDs — a learner can hold the same badge five times and each earn is a separate record.
Confusing the two is the easiest mistake to make with revocation, which is why the distinction is stated on both pages.
The points recorded on each award are the points the badge carried at the time. Changing a badge’s points later does not retroactively change awards already made, so a learner’s total can reflect values the badge no longer has.
That is correct — an award is a historical record — and it means the total is not derivable from the current badge definitions.
learndash/get-user-achievement-points is the running total, which is not simply the sum of these.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
learner | string | integer | Yes | User ID, login or email. |
What comes back
| Name | Type | What it is |
|---|---|---|
awards | array | Each earn with its award ID, badge, points and date. Newest first. |
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:
What badges has this learner earned?
It resolves to one call:
{
"ability": "learndash/list-user-achievements",
"parameters": {
"learner": "sam@example.com"
}
}Worth knowing
- The IDs here are per-award rows, not achievement post IDs.
- A repeatable badge appears once per earn.
- Points are recorded as they were at award time and do not change retroactively.
- The running total is a separate call and is not the sum of these.
Related abilities
- LearnDash Get User Points — the running total
- LearnDash Revoke Achievement — which takes these award IDs
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category