Course Service

API V2 reference

This page applies to SCORM Cloud API V2. If you're looking for our V1 api reference see here

Course Service


The Course Service is where you’ll find methods for importing, previewing, configuring, and getting information on courses. Note that aside from preview, the course service is not used for launching courses. For that you should see the Registration Service.


buildCoursePreviewLaunchLink

POST /courses/{courseId}/preview

Summary

Returns the launch link to use to preview this course.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Body launchLinkRequest true LaunchLinkRequestSchema
Query cssUrl false String

Responses:

Produces: application/json

HTTP Code Description Schema
200 The link to the course preview. LaunchLinkSchema
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




buildCoursePreviewLaunchLinkWithVersion

POST /courses/{courseId}/versions/{versionId}/preview

Summary

Returns the link to use to preview a particular version of a course.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Path versionId true Integer
Body launchLinkRequest true LaunchLinkRequestSchema

Responses:

Produces: application/json

HTTP Code Description Schema
200 The preview link for this version. LaunchLinkSchema
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




createFetchAndImportCourseJob

POST /courses/importJobs

Summary

An import job will be started to fetch and import the referenced file, and the import job ID will be returned. If the import is successful, the imported course will be registered using the courseId provided. To check the progress of the import job, GetImportJobStatus should be called with the job ID returned from this call.

Parameters

Consumes: application/json

Type Name Required Schema
Query courseId true String
Body importRequest true ImportFetchRequestSchema
Query mayCreateNewVersion false Boolean
Query postbackUrl false String

Responses:

Produces: application/json

HTTP Code Description Schema
200 ID of the created import job. StringResultSchema
400 Bad request MessageSchema
409 Conflict, courseId exists and mayCreateNewVersion is false. MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write




createUploadAndImportCourseJob

POST /courses/importJobs/upload

Summary

An import job will be started to import the posted file, and the import job ID will be returned. If the import is successful, the imported course will be registered using the courseId provided. To check the progress of the import job, GetImportJobStatus should be called with the job ID returned from this call.

Parameters

Consumes: multipart/form-data

Type Name Required Schema
Query courseId true String
Query mayCreateNewVersion false Boolean
Query postbackUrl false String
Form file false File

Responses:

Produces: application/json

HTTP Code Description Schema
200 ID of the created import job StringResultSchema
400 Bad request MessageSchema
409 conflict, courseId exists and mayCreateNewVersion is false MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write




deleteCourse

DELETE /courses/{courseId}

Summary

Delete course identified by courseId. When a course is deleted, so is everything connected to this course. This includes:

  • Registrations
  • Invitations
  • Dispatches
  • Debug Logs

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String

Responses:

Produces: application/json

HTTP Code Description Schema
204 Successfully deleted course
400 Bad request MessageSchema
404 courseId not found ResponseError

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH delete:course
delete




deleteCourseConfigurationSetting

DELETE /courses/{courseId}/configuration/{settingId}

Summary

Clears the value of the given settingId for this course. The effective setting value will become any value set at the application level (if this value is set at the application level) or the default setting.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Path settingId true String

Responses:

Produces: application/json

HTTP Code Description Schema
204 Cleared setting successfully
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write




deleteCourseTags

DELETE /courses/{courseId}/tags

Summary

Delete the provided tags from this course.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Body tags true TagListSchema

Responses:

Produces: application/json

HTTP Code Description Schema
204 Set tags successfully
400 Bad request MessageSchema
404 courseId was not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write




deleteCourseVersion

DELETE /courses/{courseId}/versions/{versionId}

Summary

Delete versionId of courseId. If this is the last remaining version of this course, the course itself will be deleted and no longer accessible.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Path versionId true Integer

Responses:

Produces: application/json

HTTP Code Description Schema
204 Successfully deleted course version
400 Bad request MessageSchema
404 courseId version versionId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH delete:course
delete




deleteCourseVersionConfigurationSetting

DELETE /courses/{courseId}/versions/{versionId}/configuration/{settingId}

Summary

Clears the settingId value for this course and version.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Path versionId true Integer
Path settingId true String

Responses:

Produces: application/json

HTTP Code Description Schema
204 Cleared setting successfully
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write




getCourse

GET /courses/{courseId}

Summary

Get detailed information about courseId. Futher detail can be obtained with the optional query parameters flags.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Query includeRegistrationCount false Boolean
Query includeCourseMetadata false Boolean

Responses:

Produces: application/json

HTTP Code Description Schema
200 Object describing requested course CourseSchema
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




getCourseConfiguration

GET /courses/{courseId}/configuration

Summary

Returns all effective configuration settings for this course. For any setting which is not explicitly set at the course level, the effective value will be either the value set at the application level (if there is one) or the default value for the setting.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Query includeMetadata false Boolean

Responses:

Produces: application/json

HTTP Code Description Schema
200 List of configuration settings SettingListSchema
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




getCourseStatements

GET /courses/{courseId}/xAPIStatements

Summary

Get xAPI statements for courseId.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Query learnerId false String
Query since false Date
Query until false Date
Query more false String

Responses:

Produces: application/json

HTTP Code Description Schema
200 Course statements XapiStatementResult
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




getCourseTags

GET /courses/{courseId}/tags

Summary

Get a list of the tags for this course.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String

Responses:

Produces: application/json

HTTP Code Description Schema
200 List of tags for this course TagListSchema
400 Bad request MessageSchema
404 courseId was not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




getCourseVersionConfiguration

GET /courses/{courseId}/versions/{versionId}/configuration

Summary

Returns all configuration settings for this course and version.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Path versionId true Integer
Query includeMetadata false Boolean

Responses:

Produces: application/json

HTTP Code Description Schema
200 List of configuration settings SettingListSchema
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




getCourseVersionInfo

GET /courses/{courseId}/versions/{versionId}

Summary

Get specific version versionId of courseId

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Path versionId true Integer
Query includeRegistrationCount false Boolean
Query includeCourseMetadata false Boolean

Responses:

Produces: application/json

HTTP Code Description Schema
200 Object describing course version CourseSchema
400 Bad request MessageSchema
404 courseId version versionId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




getCourseVersionStatements

GET /courses/{courseId}/versions/{versionId}/xAPIStatements

Summary

Get xAPI statements for version versionId of courseId

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Path versionId true Integer
Query learnerId false String
Query since false Date
Query until false Date
Query more false String

Responses:

Produces: application/json

HTTP Code Description Schema
200 Course version statements XapiStatementResult
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




getCourseVersions

GET /courses/{courseId}/versions

Summary

Get information about all versions of courseId. This can be useful to see information such as registration counts and modification times across the versions of a course.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Query since false Date
Query until false Date
Query includeRegistrationCount false Boolean
Query includeCourseMetadata false Boolean

Responses:

Produces: application/json

HTTP Code Description Schema
200 List of course version objects CourseListNonPagedSchema
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




getCourses

GET /courses

Summary

Get all courses for the appId which was used to authenticate this call.

Parameters

Consumes: application/json

Type Name Required Schema
Query more false String
Query since false Date
Query until false Date
Query filter false String
Query filterBy false String
Query orderBy false String
Query includeRegistrationCount false Boolean
Query includeCourseMetadata false Boolean
Query tags false ListList

Responses:

Produces: application/json

HTTP Code Description Schema
200 List of objects describing courses CourseListSchema
400 Bad request MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




getImportJobStatus

GET /courses/importJobs/{importJobId}

Summary

Check the status of an import job. This can be called incrementally to check to progress of a call to either of the import options.

Parameters

Consumes: application/json

Type Name Required Schema
Path importJobId true String

Responses:

Produces: application/json

HTTP Code Description Schema
200 Object describing import status ImportJobResultSchema
400 Bad request MessageSchema
404 importJobId not found ResponseError

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH read
read:course




putCourseTags

PUT /courses/{courseId}/tags

Summary

Set the tags for this course. Note: any tags currently on this course will be overwritten with the new array of tags.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Body tags true TagListSchema

Responses:

Produces: application/json

HTTP Code Description Schema
204 Set tags successfully
400 Bad request MessageSchema
404 courseId was not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write




putCourseTagsBatch

PUT /courses/tags

Summary

Sets all of the provided tags on all of the provided courses.

Parameters

Consumes: application/json

Type Name Required Schema
Body batch true BatchTagsSchema

Responses:

Produces: application/json

HTTP Code Description Schema
204 Removed tags successfully
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write




setCourseConfiguration

POST /courses/{courseId}/configuration

Summary

Set configuration settings for this course. Setting a value at this level will override any value which is set at the application level.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Body configurationSettings true SettingsPostSchema

Responses:

Produces: application/json

HTTP Code Description Schema
204 Success
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write




setCourseTitle

PUT /courses/{courseId}/title

Summary

Sets the course title for the provided courseId.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Body title true TitleSchema

Responses:

Produces: application/json

HTTP Code Description Schema
204 Successfully set title
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write




setCourseVersionConfiguration

POST /courses/{courseId}/versions/{versionId}/configuration

Summary

Set configuration settings for this course and version.

Parameters

Consumes: application/json

Type Name Required Schema
Path courseId true String
Path versionId true Integer
Body configurationSettings true SettingsPostSchema

Responses:

Produces: application/json

HTTP Code Description Schema
204 Success
400 Bad request MessageSchema
404 courseId not found MessageSchema

Authentication:

Type Name Scopes
basic APP_NORMAL
oauth2 OAUTH write:course
write