edx-platform
edx-platform copied to clipboard
Bulk Email API
Note: Double check that this API doesn't already exist in another repo.
No REST API currently exists for bulk email operations. The existing bulk_email module provides internal APIs but not RESTful endpoints. These instructor-specific endpoints will provide the first REST API for bulk email functionality.
| Method | Endpoint | Services | Status | Existing API Path | Description |
|---|---|---|---|---|---|
| GET | /api/instructor/v1/courses/{course_key}/bulk_email | bulk_email | Missing | N/A | List all sent bulk emails for the course |
| POST | /api/instructor/v1/courses/{course_key}/bulk_email | bulk_email, instructor_task | Exists | /courses/{course_id}/instructor/api/send_email | Send bulk email to students (supports targeting by cohort, enrollment track, etc.) |
| GET | /api/instructor/v1/courses/{course_key}/bulk_email/{email_id} | bulk_email | Missing | N/A | Retrieve details of a specific bulk email |
| GET | /api/instructor/v1/courses/{course_key}/bulk_email/{email_id}/status | bulk_email, instructor_task | Partial | /courses/{course_id}/instructor/api/list_background_email_tasks | Get send status for a bulk email (pending, in-progress, completed) |
| DELETE | /api/instructor/v1/courses/{course_key}/bulk_email/{email_id} | bulk_email | Missing | N/A | Cancel a pending bulk email or delete email record |
| GET | /api/instructor/v1/courses/{course_key}/email_templates | bulk_email | Exists | /courses/{course_id}/instructor/api/list_email_content | List previously sent emails (serves as templates for new emails) |