learndash/get-user-certificate-links lists the certificate links a learner has earned across their courses, quizzes and groups.
LearnDash does not store issued certificates anywhere. Each one is generated on demand.
At a glance
| Ability | learndash/get-user-certificate-links |
| Toolset | LearnDash — toolset/learndash |
| Group | LearnDash › Certificates |
| 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
There is no archive of issued certificates. A certificate exists as a signed link that only works once the learner has completed the work, and the PDF is rendered when somebody opens it.
So there is no “when was this issued” to read, and no way to reproduce a certificate exactly as it was if the template has changed since.
The links are signed for the current user. A link generated on somebody else’s behalf may not validate when they open it — so use this to confirm a certificate exists rather than as a URL to hand out.
Sending a learner their own certificate means sending them to the course page where their link is generated for them.
A learner with no links has not completed anything with a certificate attached — which may mean incomplete work, or a course with no certificate configured.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
learner | string | integer | Yes | User ID, login or email. |
What comes back
| Name | Type | What it is |
|---|---|---|
certificates | array | Each earned certificate with its link, signed for the current user. |
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:
Has this learner earned a certificate?
It resolves to one call:
{
"ability": "learndash/get-user-certificate-links",
"parameters": {
"learner": "sam@example.com"
}
}Worth knowing
- No certificate is stored. Each is rendered on demand.
- Links are signed for the current user and may not validate for anybody else.
- Use it to confirm existence, not as a URL to send on.
- No links can mean incomplete work or no certificate configured.
Related abilities
- LearnDash Get User Progress — whether they finished
- LearnDash Get Course — whether the course issues one
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category