Skip to content

Add wsfunction API Endpoint to Retrieve Student Certificates #711

@indicozy

Description

@indicozy

Currently, there is no dedicated web service function (wsfunction) in Moodle to retrieve a student's issued certificates (e.g., course completion certificates, badges, or custom certificate modules). This limits integration with external systems (e.g., portals, dashboards, mobile apps) that need to display or verify a user’s earned certificates.

Feature Request:

Implement a new web service function, for example:
core_certificate_get_user_certificates

This function should allow authenticated users (students, admins, or authorized roles) to fetch a list of certificates associated with a specific user.


Expected Behavior:

  • The API should return a list of certificates for a given user (by userid).
  • Include relevant details such as:
    • Certificate name/title
    • Course name
    • Issue date
    • Download URL or file reference
    • Status (issued, pending, etc.)
    • Grade or criteria met (if applicable)
  • Support standard Moodle web service protocols (REST, XML-RPC, etc.)
  • Respect user privacy and permissions — users should only access their own certificates unless they have moodle/course:managefiles or similar capabilities.

Suggested Parameters:

{
  "userid": 123,
  "courseid": 456 (optional, filter by course)
}

Suggested Response Format:

{
  "certificates": [
    {
      "id": 101,
      "name": "Introduction to Programming Certificate",
      "courseid": 456,
      "coursename": "Introduction to Programming",
      "issue_date": 1700000000,
      "downloadurl": "https://moodle.example.com/pluginfile.php/...",
      "grade": 88.5,
      "status": "issued"
    }
  ],
  "warnings": []
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions