This repository contains specification files for data exchange between MOOC providers participating in the MOOChub. Based on previous work regarding MOOC standards, the JSON format specified enables a seamless exchange of course information, instructors, and the institutes offering a course. Minimal information is required per course to ease onboarding for new partners while allowing customizability to fit individual needs.
The MOOChub API specification consists of two major parts: (1) A JSON format and (2) an API versioning concept.
-
JSON format
The JSON format specified in this repository is based on the JSON:API schema and uses their proposed pagination approach. In a valid response, only a few attributes must be present, most can be omitted or can be
null
. As we see a semantical difference between an omitted and anull
value, we kindly ask you to provide as much information as possible. -
API versioning concept
Upon request of the API, the server and client might negotiate the most suitable version of the API using HTTP headers. Please refer to the dedicated versioning specification for more details.
The latest finalized version of the schema is released in this repository and tagged appropriately. All MOOChub compliant software is requested to implement the versioning as outlined in the dedicated API versioning specification. We follow a semantic versioning approach for all releases to ease consuming schema-compliant APIs.
The schema is mainly driven by the MOOChub organization and their partners. Therefore, it is designed to provide a consistent and uniform mechanism to transport required information between the partners. We will evolve the schema based on requirements introduced by partners and consumers. Additional contributions to the schema are welcome and will be considered for an upcoming release. Please create an issue or a pull request to start contributing!
If you have further questions or would like to get listed in the MOOChub using an endpoint following this schema, please drop us a mail at [email protected].