REST API - Allow for Course Template Options

Idea created by mb23565 on Jun 7, 2017
    Under review



    I would like to purpose a Course Template REST APIs to be added to the framework.


    Our institution, along with many I presume, use course templates to stream line a lot of you course creation process. This is a really useful feature that allows us to utilize a course master in conjunction of the content collection to version our course releases each semester to obtain historical course progress and development. Unfortunately, there is current option implemented in the current REST API framework to allow for such a process.


    Currently the Course PUT method allows the following model:

      "id": "string",
      "uuid": "string",
      "externalId": "string",
      "dataSourceId": "string",
      "courseId": "string",
      "name": "string",
      "description": "string",
      "created": "2017-05-31T20:16:02.387Z",
      "organization": true,
      "ultraStatus": "Undecided",
      "allowGuests": true,
      "readOnly": true,
      "termId": "string",
      "availability": {
        "available": "Yes",
        "duration": {
          "type": "Continuous",
          "start": "2017-05-31T20:16:02.387Z",
          "end": "2017-05-31T20:16:02.387Z",
          "daysOfUse": 0
      "enrollment": {
        "type": "InstructorLed",
        "start": "2017-05-31T20:16:02.387Z",
        "end": "2017-05-31T20:16:02.387Z",
        "accessCode": "string"
      "locale": {
        "id": "string",
        "force": true
      "hasChildren": true,
      "parentId": "string",
      "externalAccessUrl": "string",
      "guestAccessUrl": "string"


    As you can see there is no placement for what purpose: templateCourseId or courseTemplateId. This implementation course easily allow a creation of a course that will trigger the content copy from the template course id key. If this key were set in place, users will be able to set templates in their Main SIS/Application then push the course creation to the current Course PUT endpoint.


    Another option would be to allow querying against the template course and see all the courses that are based off this template. This allows for further implementation for REST Based Analytics.

    Product Version (if applicable):