← All LMS

Open edX

by Axim Collaborative (open source)

Visit website ↗

The open-source platform behind edX. REST APIs with OAuth2/JWT, an internal event bus (openedx-events), LTI, and a large plugin ecosystem. No first-party hosted webhooks in core.

Open sourceMOOCHigher educationCorporate Last verified 2026-06-20
Direct Middleware API Webhooks

Direct integrations

Native integrations you connect from inside the LMS — typically an OAuth "Connect" flow, with no external middleware.

Supported — Extended through Django plugins, LTI, and XBlocks; integrations are typically self-hosted/configured.

IntegrationCategoryTypeNotes
LTI 1.3 / LTI Advantage Interoperability lti Consume external tools as LTI components.
Ecommerce / payment processors Payments plugin Stripe/PayPal via the ecommerce service or Commerce Coordinator.
SAML 2.0 / OAuth SSO Identity saml Third-party auth via the SSO pipeline.
Zoom / BigBlueButton Video conferencing plugin Live sessions via XBlocks/plugins.

Middleware support

Third-party automation platforms (iPaaS) that connect this LMS to thousands of other apps without code.

Supported — Integrations connect through the REST APIs; no first-party iPaaS app (it is self-hosted/open source).

PlatformSupportedDetails
Zapier No Integrate via the REST APIs / event bus.
Make Yes Via HTTP modules against the REST APIs.
Pabbly Connect Yes Via HTTP against the REST APIs.
n8n Yes Via the HTTP Request node against the REST APIs.
Microsoft Power Automate No
Workato No
Tray.io No

API

Programmatic access to the LMS. Endpoints below are a documented subset — always check the vendor's official reference for the complete, current list.

Supported — Multiple per-service REST APIs (enrollment, user/accounts, courses, grades, etc.). Use the OAuthAPIClient for service-to-service calls. Paths below are representative.

TypeREST
Versionper-service (v1)
AuthenticationOAuth 2.0 (POST /oauth2/access_token → JWT bearer token)
Base URLhttps://<your-lms-host>/api
FormatJSON
Rate limitDeployment-configurable.
Docshttps://docs.openedx.org/projects/edx-platform/en/latest/how-tos/use_the_api.html

Endpoints

Auth

MethodEndpointDescription
POST /oauth2/access_token Obtain an OAuth2 JWT access token

Enrollment

MethodEndpointDescription
GET /enrollment/v1/enrollments/ List enrollments
GET /enrollment/v1/enrollment/{username},{course_id} Check a user's enrollment in a course
POST /enrollment/v1/enrollment Enroll a user in a course

Users

MethodEndpointDescription
GET /user/v1/accounts/{username} Get a user's account

Courses

MethodEndpointDescription
GET /courses/v1/courses/ List courses

Grades

MethodEndpointDescription
GET /api/grades/v1/courses/{course_id} Get grades for a course

Webhooks

Outbound HTTP callbacks the LMS sends to your endpoint when events occur, with their supported event types and security model.

Not supported — Core Open edX has no hosted outbound webhook product. It provides 'openedx-events' (a Django/Kafka event bus) and Django signals that plugins use to push notifications; community plugins (e.g. webhook/event-routing backends) add outbound HTTP callbacks. For SaaS-style webhooks, deploy a plugin or poll the REST APIs.

Docs: https://github.com/openedx/openedx-events

Sources