The RME API lets your own tools upload and update courses, check processing status, and manage review comments directly in your Review My eLearning account. It's a REST API built for course builders, automation platforms and scripts, so you can move a course into RME without downloading a zip and uploading it by hand.
What you can do with it:
Upload a SCORM or HTML5 course as a file, or give RME an https URL to fetch it from
Issue an upload ticket so another tool can upload a course without receiving your API credentials
Check processing status until the course is active (usually within a minute)
Read comments, update their status, and reply in comment threads
Re-publish an updated course under the same external ID, which adds a new review cycle instead of a duplicate
To authenticate, create an API key in RME under Organization Settings > API Keys, or connect through OAuth if you're building an app or extension. For course uploads, API keys use courses.write (or api.write), and OAuth uses courses.write. Status can also be read with api.read for API keys or mcp.read for OAuth. API and MCP access is included on every plan.
Quick reference
Action or setting | Endpoint or behavior |
|---|---|
Push a course | POST /api/v1/courses/ingest (multipart file or JSON file_url) → 202 |
Push without sharing credentials | POST /api/v1/courses/upload-ticket → ticket, then POST /api/v1/courses/ingest-ticket with X-Upload-Ticket |
Check progress | GET /api/v1/courses/:id/status → wait for status: "active" |
Read comments | GET /api/v1/courses/:id/comments (?cycle= ?since=) |
Update a comment | PATCH /api/v1/courses/:id/comments/:commentId (status, approved) |
Reply to a comment | POST /api/v1/courses/:id/comments/:commentId/discussions (body) |
Comment statuses | New · Pending · Complete · Declined |
:id accepts | The RME course_id or your external_id |
API key scope | courses.write (or api.write); read status also with api.read |
OAuth scope | courses.write (status also readable with mcp.read) |
Dedupe/version | Send a stable external_id (+ external_source) on every push |
Size limit | 500 MB (default) |
URL rules | https only, no private-network addresses |
Full reference, with endpoints, examples and error codes: Course Ingest API guide
Questions? Email support@reviewmyelearning.com.