Here is a proposal for supporting a trichotomy of REST APIs in the edX platform. The trichotomy defines just-enough maintenance and process that is appropriate for each tier, enabling and balancing developer efficiency with consumer support.
API Type | Feature-driven APIs (API for development) | Service APIs (API for extensions and add-ons) | Business-driven APIs (API as a product) |
---|---|---|---|
Use Case | feature development | feature enhancements | integration with strategic organizations and partners |
Users | open edX developers | course teams, open edX vendor community | administrators, researchers, institutions |
Clients | frontend and backend services | external services | external systems operated by business-partner organizations |
Support Lifecycle | 1 open edX named release | 2 years with a migration plan, if API changes | 2-3 years with a migration plan, if API changes |
Governance |
|
|
|
API Examples |
|
|
|
Client Examples |
|
|
|
...