openedx / openedx/openedx-platform

Certificates API

Open
#37,471 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
8.2k
Forks
4.4k
Avg merge
6d 18h
Merged PRs (30d)
42

Description

While /api/certificates/v0/ provides learner-facing certificate retrieval, these instructor-specific endpoints provide administrative operations (certificate generation, allowlist management, bulk operations) that require instructor permissions.

Method Endpoint Services Status Existing API Path Description
GET /api/instructor/v1/courses/{course_key}/certificates certificates Partial /courses/{course_id}/instructor/api/get_issued_certificates List issued certificates for the course
POST /api/instructor/v1/courses/{course_key}/certificates/generate certificates, instructor_task Exists /courses/{course_id}/instructor/api/start_certificate_generation Generate certificates for all eligible students
POST /api/instructor/v1/courses/{course_key}/certificates/generate/{username} certificates, student Missing N/A Generate certificate for a specific student
POST /api/instructor/v1/courses/{course_key}/certificates/generate_bulk certificates, instructor_task Exists /courses/{course_id}/instructor/api/generate_bulk_certificate_exceptions Bulk generate certificates for students on the allowlist
GET /api/instructor/v1/courses/{course_key}/certificates/allowlist certificates Missing N/A List students on the certificate allowlist (students who can receive certs despite not passing)
POST /api/instructor/v1/courses/{course_key}/certificates/allowlist certificates, student Partial /courses/{course_id}/instructor/api/certificate_exception_view Add student(s) to certificate allowlist
DELETE /api/instructor/v1/courses/{course_key}/certificates/allowlist certificates Missing N/A Remove student(s) from certificate allowlist
GET /api/instructor/v1/courses/{course_key}/certificates/{certificate_id}/status certificates Missing N/A Get generation status for a specific certificate


Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing /api/certificates/v0/ learner-facing API and the existing instructor routes listed in the table, then trace how instructor permissions are enforced. Use the endpoint table as the scope; done means the partial and missing certificate operations have corresponding behavior and coverage consistent with the stated descriptions.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, authorization, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.