SCORM Engine API documentation
http://example.org/ScormEngineInterface/api/v1/
/{tenant}/configuration
Returns the effective values for all configuration settings associated with the parent resource.
get /{tenant}/configuration
Returns the effective values for all configuration settings associated with the parent resource.
URI Parameters
- tenant: required (string)
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "configListSchema",
"type": "object",
"properties": {
"configurationItems": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "configurationItem",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.ConfigurationItem",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"value": {
"type": "string"
}
},
"additionalProperties": false
},
"required": true
}
},
"additionalProperties": false
}
Example:
{
"configurationItems": [{
"id": "ApiRollupRegistrationPostBackUrl",
"value": ""
}, {
"id": "PlayerShowFinishButton",
"value": "YES"
}, {
"id": "PromptOnPlayerClose",
"value": "false"
}]
}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Parent resource not found." }
Sets the value for this configuration setting, for the resource being configured.
Returns the effective value for this configuration setting for the resource being configured.
put /{tenant}/configuration/{settingId}
Sets the value for this configuration setting, for the resource being configured.
URI Parameters
- tenant: required (string)
- settingId: required (string)
id for this configuration setting
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "settingSchema",
"properties": {
"value": {
"type": "string",
"required": true
}
},
"additionalProperties": false
}
Example:
{"value": "http://example.org" }
HTTP status code 204
request succeeded
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Invalid configuration setting id." }
HTTP status code 404
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Registration not found." }
get /{tenant}/configuration/{settingId}
Returns the effective value for this configuration setting for the resource being configured.
URI Parameters
- tenant: required (string)
- settingId: required (string)
id for this configuration setting
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "settingSchema",
"properties": {
"value": {
"type": "string",
"required": true
}
},
"additionalProperties": false
}
Example:
{"value": "http://example.org" }
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Parent resource or configuration setting not found." }
courses
Import, list, or delete courses.
Get the list of courses
get /{tenant}/courses
Get the list of courses
URI Parameters
- tenant: required (string)
Query Parameters
- more: (string)
Value for this parameter will be provided in the 'more' property of courses lists, where needed. An opaque value, construction and parsing may change without notice.
- since: (string)
Only courses updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, the server's time zone will be used.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "courseListSchema",
"type": "object",
"properties": {
"courses": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "courseSummarySchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.CourseSummarySchema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "integer"
},
"title": {
"type": "string"
},
"courseLearningStandard": {
"type": "string",
"enum": [
"SCORM_11",
"SCORM_12",
"SCORM_2004_2ND_EDITION",
"SCORM_2004_3RD_EDITION",
"SCORM_2004_4TH_EDITION",
"AICC",
"XAPI",
"CMI5"
]
},
"updated": {
"type": "string"
}
},
"additionalProperties": false
},
"required": true
},
"more" : {
"type" : "string"
}
},
"additionalProperties": false
}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "courses not found" }
Delete the course with courseId = {courseId}
delete /{tenant}/courses/{courseId}
Delete the course with courseId = {courseId}
URI Parameters
- tenant: required (string)
- courseId: required (string)
Serialized course ID
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 204
request succeeded
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "course not found" }
get the course title
get /{tenant}/courses/{courseId}/title
get the course title
URI Parameters
- tenant: required (string)
- courseId: required (string)
Serialized course ID
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"type": "object",
"title": "titleSchema",
"properties": {
"title": {
"type": "string"
}
},
"additionalProperties": false
}
Example:
{"title": "The course title." }
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Course not found" }
Returns the launch link to use to preview this course
get /{tenant}/courses/{courseId}/preview
Returns the launch link to use to preview this course
URI Parameters
- tenant: required (string)
- courseId: required (string)
Serialized course ID
Query Parameters
- expiry: (integer)
Number of seconds from now this link will expire in. Use 0 for no expiration.
- forceReview: (boolean)
Launch in review mode.
- startSco: (string)
For SCORM, SCO identifier to override launch, overriding the normal sequencing.
- redirectOnExitUrl: (string)
The URL the application should redirect to when the learner exits a course. If not specified, configured value will be used.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "launchLinkSchema",
"type": "object",
"properties": {
"launchLink": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"launchLink":"/ScormEngineInterface/defaultui/launch.aspx?parameters..."}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Returns xAPI activity ID associated with this course
get /{tenant}/courses/{courseId}/xapiActivityId
Returns xAPI activity ID associated with this course
URI Parameters
- tenant: required (string)
- courseId: required (string)
Serialized course ID
Query Parameters
- version: (integer - default: -1)
The version of this course to use. If not provided, the latest version will be used. The External ID version property should not be set.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "idSchema",
"type": "object",
"properties": {
"id": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"id": "http://example.org/example/activity/id" }
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Course not found or there is no xAPIActivityID because xAPI is not enabled" }
Returns the effective values for all configuration settings associated with the parent resource.
get /{tenant}/courses/{courseId}/configuration
Returns the effective values for all configuration settings associated with the parent resource.
URI Parameters
- tenant: required (string)
- courseId: required (string)
Serialized course ID
Query Parameters
- version: (integer - default: -1)
The version of this course to use. If not provided, the latest version will be used. The External ID version property should not be set.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "configListSchema",
"type": "object",
"properties": {
"configurationItems": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "configurationItem",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.ConfigurationItem",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"value": {
"type": "string"
}
},
"additionalProperties": false
},
"required": true
}
},
"additionalProperties": false
}
Example:
{
"configurationItems": [{
"id": "ApiRollupRegistrationPostBackUrl",
"value": ""
}, {
"id": "PlayerShowFinishButton",
"value": "YES"
}, {
"id": "PromptOnPlayerClose",
"value": "false"
}]
}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Parent resource not found." }
Sets the value for this configuration setting, for the resource being configured.
Returns the effective value for this configuration setting for the resource being configured.
put /{tenant}/courses/{courseId}/configuration/{settingId}
Sets the value for this configuration setting, for the resource being configured.
URI Parameters
- tenant: required (string)
- courseId: required (string)
Serialized course ID
- settingId: required (string)
id for this configuration setting
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "settingSchema",
"properties": {
"value": {
"type": "string",
"required": true
}
},
"additionalProperties": false
}
Example:
{"value": "http://example.org" }
HTTP status code 204
request succeeded
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Invalid configuration setting id." }
HTTP status code 404
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Registration not found." }
get /{tenant}/courses/{courseId}/configuration/{settingId}
Returns the effective value for this configuration setting for the resource being configured.
URI Parameters
- tenant: required (string)
- courseId: required (string)
Serialized course ID
- settingId: required (string)
id for this configuration setting
Query Parameters
- version: (integer - default: -1)
The version of this course to use. If not provided, the latest version will be used. The External ID version property should not be set.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "settingSchema",
"properties": {
"value": {
"type": "string",
"required": true
}
},
"additionalProperties": false
}
Example:
{"value": "http://example.org" }
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Parent resource or configuration setting not found." }
Either the actual contents of the zip file to import may be posted, or JSON that references the remote location to import from. Note that parameters common to both modes must be specified on the querystring. An import job will be started to import the posted or 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.
post /{tenant}/courses/importJobs
Either the actual contents of the zip file to import may be posted, or JSON that references the remote location to import from. Note that parameters common to both modes must be specified on the querystring. An import job will be started to import the posted or 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.
URI Parameters
- tenant: required (string)
Headers
- Content-Type: (string)
The content type of the request. Must be "multipart/form-data" followed by a boundary when uploading a file to iport, otherwise it must be application/json
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
- course: required (string)
A unique identifier your application will use to identify the course after import. Your application is responsible both for generating this unique ID and for keeping track of the ID for later use.
- mayCreateNewVersion: (boolean)
Is it OK to create a new version of this course? If this is set to false and the course already exists, the upload will fail. If true and the course already exists then a new version will be created. No effect if the course doesn't already exist.
Body
Type: multipart/*
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "importRequestSchema",
"properties": {
"url": {
"type": "string",
"required": true,
"description": "URL path to the .zip package representing the course or the manifest file defining the course.)"
},
"courseName": {
"type": "string",
"required" : true,
"description" : "Display name for the course to import."
},
"webPathToCourse": {
"type": "string",
"required" : false,
"default" : "",
"description" : "To be specified if, and only if, the url refers to a manifest rather than a .zip file. This is the URL to the root of the course, to be accessed by the end user. When specified, the content will not be downloaded, instead the manifest referenced by the url will be used to import the course definition only, so this needs to be a path that the content is already available at."
}
},
"additionalProperties": false
}
Example:
{
"url": "http://scorm.com/wp-content/assets/golf_examples/PIFS/RuntimeMinimumCalls_SCORM20043rdEdition.zip",
"courseName": "test course"
}
HTTP status code 200
The identifier for the import job
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "stringResultSchema",
"properties": {
"result": {
"type": "string",
"required": true
}
},
"additionalProperties": false
}
HTTP status code 204
request succeeded
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
This method will check the status of an import job.
get /{tenant}/courses/importJobs/{importJobId}
This method will check the status of an import job.
URI Parameters
- tenant: required (string)
- importJobId: required (string)
Id received when the import job was submitted to the importJobs resource..
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Import result
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "importResultSchema",
"properties": {
"status": {
"type": "string",
"enum": [
"RUNNING",
"COMPLETE",
"ERROR"
]
},
"message": {
"type": "string"
},
"courseTitle": {
"type": "string"
},
"parserWarnings": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "importJob not found" }
registrations
Create, list, or delete registrations.
Create a registration. The application/json format should be used, the application/x-www-form-urlencoded is available for compatibiliy with older systems.
Gets a list of registrations including a summary of the status of each registration. Note the "since" parameter exists to allow retreiving only registrations that have changed.
post /{tenant}/registrations
Create a registration. The application/json format should be used, the application/x-www-form-urlencoded is available for compatibiliy with older systems.
URI Parameters
- tenant: required (string)
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "registrationSchema",
"properties": {
"courseId": {
"type": "string"
},
"learner": {
"$schema": "http://json-schema.org/draft-03/schema#",
"type": "object",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.LearnerSchema",
"title": "learnerSchema",
"properties":{
"id": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"additionalProperties": false,
"required": true
},
"registrationId": {
"type": "string",
"required" : true
},
"forCredit": {
"type": "boolean",
"default": true
},
"xapiRegistrationId": {
"description": "The xapiRegistrationId to be associated with this registration. If not specified, the system will assign an xapiRegistrationId",
"type": "string",
"default": "",
"required": false
},
"postBack": {
"type": "object",
"title": "postBack",
"required" : false,
"description": "Specifies an optional override URL for which to post activity and status data in real time as the course is completed. By default all of these settings are read from your configuration.",
"properties": {
"url": {
"type": "string",
"required" : false
},
"authType": {
"type": "string",
"enum": [
"FORM",
"HTTPBASIC"
],
"default": "FORM",
"description": "Optional parameter to specify how to authorize against the given postbackurl, can be 'form' or 'httpbasic'. If form authentication, the username and password for authentication are submitted as form fields 'username' and 'password', and the registration data as the form field 'data'. If httpbasic authentication is used, the username and password are placed in the standard Authorization HTTP header, and the registration data is the body of the message (sent as text/xml content type). This field is set to 'form' by default."
},
"userName": {
"type": "string",
"description": "The user name to be used in authorizing the postback of data to the URL specified by postback url.",
"required" : false
},
"password": {
"type": "string",
"description": "The password to be used in authorizing the postback of data to the URL specified by postback url.",
"required" : false
},
"resultsFormat": {
"type": "string",
"enum": [
"COURSE",
"ACTIVITY",
"FULL"
],
"description": "This parameter allows you to specify a level of detail in the information that is posted back while the course is being taken. It may be one of three values: 'course' (course summary), 'activity' (activity summary, or 'full' (full detail), and is set to 'course' by default. The information will be posted as xml, and the format of that xml is specified below under the method 'getRegistrationResult'",
"default": "COURSE"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Example:
{
"courseId": "2",
"learner": {
"id": "testLearnerId",
"firstName": "Last",
"lastName": "First"
},
"registrationId": "testRegistrationId",
"forCredit": true
}
Type: application/x-www-form-urlencoded
Form Parameters- registration: required (string)
Id for the registration to be created.
- packageId: required (string)
Id of the package (course) for which the registration should be created.
- forCredit: (boolean - default: true)
Indicates whether the course is being taken for credit.
HTTP status code 204
request succeeded
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
get /{tenant}/registrations
Gets a list of registrations including a summary of the status of each registration. Note the "since" parameter exists to allow retreiving only registrations that have changed.
URI Parameters
- tenant: required (string)
Query Parameters
- more: (string)
Value for this parameter will be provided in the 'more' property of registrations lists, where needed. An opaque value, construction and parsing may change without notice.
- since: (string)
Only registrations updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, the server's time zone will be used.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
- courseId: (string)
Only registrations for the specified course id will be included.
- learnerId: (string)
Only registrations for the specified learner id will be included.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "registrationListSchema",
"type": "object",
"properties": {
"registrations": {
"type": "array",
"items": {
"$ref": "registrationSummarySchema"
},
"required": true
},
"more" : {
"type" : "string"
}
}
}
Example:
{
"registrations": [
{
"id": "tcvmbscgolf",
"instance": 0,
"updated": "2015-11-04T20:32:37.000Z",
"registrationCompletion": "UNKNOWN",
"registrationSuccess": "PASSED",
"score": {
"scaled": 93,
"additionalProperties": {}
},
"totalSecondsTracked": 0,
"course": {
"id": "tcvm",
"version": 0,
"title": "Tin Can Golf Example",
"courseLearningStandard": "XAPI",
"updated": "2015-11-04T15:32:19.000Z"
},
"learner": {
"id": "ConsoleLearner",
"firstName": "Console",
"lastName": "Learner"
},
"globalObjectives": [],
"additionalProperties": {}
},
{
"id": "059053c1-564e-4dfc-9df4-236623f91cc6",
"instance": 0,
"updated": "2015-11-04T22:05:49.000Z",
"registrationCompletion": "INCOMPLETE",
"registrationSuccess": "UNKNOWN",
"totalSecondsTracked": 0,
"course": {
"id": "2",
"version": 0,
"title": "Golf Explained - Run-time Basic Calls",
"courseLearningStandard": "SCORM_12",
"updated": "2015-10-27T19:07:49.000Z"
},
"learner": {
"id": "testLearnerId",
"firstName": "Last",
"lastName": "First"
},
"globalObjectives": [],
"additionalProperties": {}
}
],
"more": "/ScormEngineInterface/api/v1/default/registrations?more=AAABUNSI1kgAAAEi",
"additionalProperties": {}
}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "registrations not found" }
Delete the registration with registrationId = {registrationId}
Does this registration exist?
delete /{tenant}/registrations/{registrationId}
Delete the registration with registrationId = {registrationId}
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 204
request succeeded
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "registration not found" }
get /{tenant}/registrations/{registrationId}
Does this registration exist?
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "minimalRegistrationSummarySchema",
"properties": {
"exists": {
"type": "boolean",
"required": true
}
}
}
Example:
{ "exists" : true}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "registration not found" }
Returns the effective values for all configuration settings associated with the parent resource.
get /{tenant}/registrations/{registrationId}/configuration
Returns the effective values for all configuration settings associated with the parent resource.
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- instance: (integer - default: -1)
The instance of this registration to use. If not provided, the latest instance will be used. The External ID instance property should not be set.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "configListSchema",
"type": "object",
"properties": {
"configurationItems": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "configurationItem",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.ConfigurationItem",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"value": {
"type": "string"
}
},
"additionalProperties": false
},
"required": true
}
},
"additionalProperties": false
}
Example:
{
"configurationItems": [{
"id": "ApiRollupRegistrationPostBackUrl",
"value": ""
}, {
"id": "PlayerShowFinishButton",
"value": "YES"
}, {
"id": "PromptOnPlayerClose",
"value": "false"
}]
}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Parent resource not found." }
Sets the value for this configuration setting, for the resource being configured.
Returns the effective value for this configuration setting for the resource being configured.
put /{tenant}/registrations/{registrationId}/configuration/{settingId}
Sets the value for this configuration setting, for the resource being configured.
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
- settingId: required (string)
id for this configuration setting
Query Parameters
- instance: (integer - default: -1)
The instance of this registration to use. If not provided, the latest instance will be used. The External ID instance property should not be set.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "settingSchema",
"properties": {
"value": {
"type": "string",
"required": true
}
},
"additionalProperties": false
}
Example:
{"value": "http://example.org" }
HTTP status code 204
request succeeded
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Invalid configuration setting id." }
HTTP status code 404
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Registration not found." }
get /{tenant}/registrations/{registrationId}/configuration/{settingId}
Returns the effective value for this configuration setting for the resource being configured.
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
- settingId: required (string)
id for this configuration setting
Query Parameters
- instance: (integer - default: -1)
The instance of this registration to use. If not provided, the latest instance will be used. The External ID instance property should not be set.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "settingSchema",
"properties": {
"value": {
"type": "string",
"required": true
}
},
"additionalProperties": false
}
Example:
{"value": "http://example.org" }
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Parent resource or configuration setting not found." }
Returns xAPI registration ID associated with this registration
get /{tenant}/registrations/{registrationId}/xapiRegistrationId
Returns xAPI registration ID associated with this registration
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
- instance: (integer - default: -1)
The instance of this registration to get the xAPI registration ID for. If not provided, the latest instance will be used. The External ID instance property should not be set.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "idSchema",
"type": "object",
"properties": {
"id": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"id": "de305d54-75b4-431b-adb2-eb6b9e546013" }
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Registration not found or there is no xAPIRegistrationId because xAPI is not enabled" }
Returns the link to use to launch this registration
get /{tenant}/registrations/{registrationId}/launchLink
Returns the link to use to launch this registration
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- expiry: (integer)
Number of seconds from now this link will expire in. Use 0 for no expiration.
- forceReview: (boolean)
Launch in review mode.
- startSco: (string)
For SCORM, SCO identifier to override launch, overriding the normal sequencing.
- redirectOnExitUrl: (string)
The URL the application should redirect to when the learner exits a course. If not specified, configured value will be used.
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "launchLinkSchema",
"type": "object",
"properties": {
"launchLink": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"launchLink":"/ScormEngineInterface/defaultui/launch.aspx?parameters..."}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
gets the last instance ID that exists for this registration
get /{tenant}/registrations/{registrationId}/lastInstance
gets the last instance ID that exists for this registration
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "integerResultSchema",
"properties": {
"result": {
"type": "integer",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "result" : 42}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
delete registration progress (clear registration)
Get registration summary
delete /{tenant}/registrations/{registrationId}/progress
delete registration progress (clear registration)
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 204
request succeeded
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Registration not found" }
get /{tenant}/registrations/{registrationId}/progress
Get registration summary
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
- instance: (integer - default: -1)
The instance of this registration to get progress for. If not provided, the latest instance will be used. The External ID instance property should not be set.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "registrationSummarySchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.RegistrationSummarySchema",
"properties": {
"id": {
"type": "string"
},
"instance": {
"type": "integer"
},
"updated": {
"type": "string"
},
"registrationCompletion": {
"type": "string",
"enum": [
"UNKNOWN",
"COMPLETED",
"INCOMPLETE"
]
},
"registrationSuccess": {
"type": "string",
"enum": [
"UNKNOWN",
"PASSED",
"FAILED"
]
},
"score": {
"type": "object",
"title": "scoreSchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.ScoreSchema",
"properties": {
"scaled": {
"description": "Scaled score between 0 and 100",
"type": "number"
}
}
},
"totalSecondsTracked": {
"type": "number"
},
"course": {
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "courseSummarySchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.CourseSummarySchema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "integer"
},
"title": {
"type": "string"
},
"courseLearningStandard": {
"type": "string",
"enum": [
"SCORM_11",
"SCORM_12",
"SCORM_2004_2ND_EDITION",
"SCORM_2004_3RD_EDITION",
"SCORM_2004_4TH_EDITION",
"AICC",
"XAPI",
"CMI5"
]
},
"updated": {
"type": "string"
}
},
"additionalProperties": false
},
"learner": {
"$schema": "http://json-schema.org/draft-03/schema#",
"type": "object",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.LearnerSchema",
"title": "learnerSchema",
"properties":{
"id": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"additionalProperties": false
},
"globalObjectives": {
"type": "array",
"items": {
"$ref": "objectiveSchema"
}
},
"activityDetails": {
"type": "object",
"id": "activityDetails",
"title": "activityResultSchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.ActivityResultSchema",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"attempts": {
"type": "integer"
},
"activityCompletion": {
"type": "string",
"enum": [
"UNKNOWN",
"COMPLETED",
"INCOMPLETE"
]
},
"activitySuccess": {
"type": "string",
"enum": [
"UNKNOWN",
"PASSED",
"FAILED"
]
},
"score": {
"type": "object",
"title": "scoreSchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.ScoreSchema",
"properties": {
"scaled": {
"description": "Scaled score between 0 and 100",
"type": "number"
}
}
},
"timeTracked": {
"type": "string"
},
"completionAmount": {
"type": "object",
"title": "completionAmountSchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.CompletionAmountSchema",
"properties": {
"scaled": {
"description": "Scaled completion amount between 0 and 100",
"type": "number"
}
}
},
"suspended": {
"type": "boolean"
},
"children": {
"type": "array",
"items": {
"$ref": "#/properties/activityDetails"
}
},
"objectives": {
"type": "array",
"items": {
"$ref": "objectiveSchema"
}
},
"staticProperties": {
"type": "object",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.StaticPropertiesSchema",
"title": "staticPropertiesSchema",
"properties": {
"completionThreshold": {
"type": "string"
},
"launchData": {
"type": "string"
},
"maxTimeAllowed": {
"type": "string"
},
"scaledPassingScore": {
"type": "number"
},
"scaledPassingScoreUsed": {
"type": "boolean"
},
"timeLimitAction": {
"type": "string"
}
}
},
"runtime": {
"type": "object",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.RuntimeSchema",
"title": "runtimeSchema",
"properties": {
"completionStatus": {
"type": "string"
},
"credit": {
"type": "string"
},
"entry": {
"type": "string"
},
"exit": {
"type": "string"
},
"learnerPreference": {
"type": "object",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.LearnerPreferenceSchema",
"title": "learnerPreferenceSchema",
"properties": {
"audioLevel": {
"type": "number"
},
"language": {
"type": "string"
},
"deliverySpeed": {
"type": "number"
},
"audioCaptioning": {
"type": "integer"
}
}
},
"location": {
"type": "string"
},
"mode": {
"type": "string"
},
"progressMeasure": {
"type": "string"
},
"scoreScaled": {
"type": "string"
},
"scoreRaw": {
"type": "string"
},
"scoreMin": {
"type": "string"
},
"scoreMax": {
"type": "string"
},
"totalTime": {
"type": "string"
},
"timeTracked": {
"type": "string"
},
"successStatus": {
"type": "string"
},
"suspendData": {
"type": "string"
},
"learnerComments": {
"type": "array",
"items": {
"$ref": "commentSchema"
}
},
"lmsComments": {
"type": "array",
"items": {
"$ref": "commentSchema"
}
},
"runtimeInteractions": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-03/schema",
"title": "runtimeInteractionSchema",
"type" : "object",
"javaType" : "RusticiSoftware.ScormContentPlayer.api.model.RuntimeInteractionSchema",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"objectives": {
"type": "array",
"items": {
"type": "string"
}
},
"timestamp": {
"type": "string"
},
"correctResponses": {
"type": "array",
"items": {
"type": "string"
}
},
"weighting": {
"type": "string"
},
"learnerResponse": {
"type": "string"
},
"result": {
"type": "string"
},
"latency": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
},
"runtimeObjectives": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-03/schema",
"title": "runtimeObjectiveSchema",
"type" : "object",
"javaType" : "RusticiSoftware.ScormContentPlayer.api.model.RuntimeObjectiveSchema",
"properties": {
"id": {
"type": "string"
},
"scoreScaled": {
"type": "string"
},
"scoreMin": {
"type": "string"
},
"scoreMax": {
"type": "string"
},
"scoreRaw": {
"type": "string"
},
"successStatus": {
"type": "string"
},
"completionStatus": {
"type": "string"
},
"progressMeasure": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
Example:
{
"id": "asdfsd",
"instance": 0,
"updated": "2015-11-05T21:55:20.000Z",
"registrationCompletion": "COMPLETED",
"registrationSuccess": "PASSED",
"totalSecondsTracked": 0,
"course": {
"id": "d8cf7b40-5c42-420b-a276-f5e4364a3d65",
"version": 0,
"title": "Golf Explained - Metadata Example",
"courseLearningStandard": "SCORM_2004_3_RD_EDITION",
"updated": "2015-10-28T15:00:44.000Z"
},
"learner": {
"id": "ConsoleLearner",
"firstName": "Console",
"lastName": "Learner"
},
"globalObjectives": [],
"additionalProperties": {}
}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Get detailed registration progress. Note: the data returned is the same as for /progress, except that 'activityDetails' is populated where applicable
get /{tenant}/registrations/{registrationId}/progress/detail
Get detailed registration progress. Note: the data returned is the same as for /progress, except that 'activityDetails' is populated where applicable
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
- instance: (integer - default: -1)
The instance of this registration to get progress for. If not provided, the latest instance will be used. The External ID instance property should not be set.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title": "registrationSummarySchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.RegistrationSummarySchema",
"properties": {
"id": {
"type": "string"
},
"instance": {
"type": "integer"
},
"updated": {
"type": "string"
},
"registrationCompletion": {
"type": "string",
"enum": [
"UNKNOWN",
"COMPLETED",
"INCOMPLETE"
]
},
"registrationSuccess": {
"type": "string",
"enum": [
"UNKNOWN",
"PASSED",
"FAILED"
]
},
"score": {
"type": "object",
"title": "scoreSchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.ScoreSchema",
"properties": {
"scaled": {
"description": "Scaled score between 0 and 100",
"type": "number"
}
}
},
"totalSecondsTracked": {
"type": "number"
},
"course": {
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "courseSummarySchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.CourseSummarySchema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "integer"
},
"title": {
"type": "string"
},
"courseLearningStandard": {
"type": "string",
"enum": [
"SCORM_11",
"SCORM_12",
"SCORM_2004_2ND_EDITION",
"SCORM_2004_3RD_EDITION",
"SCORM_2004_4TH_EDITION",
"AICC",
"XAPI",
"CMI5"
]
},
"updated": {
"type": "string"
}
},
"additionalProperties": false
},
"learner": {
"$schema": "http://json-schema.org/draft-03/schema#",
"type": "object",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.LearnerSchema",
"title": "learnerSchema",
"properties":{
"id": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"additionalProperties": false
},
"globalObjectives": {
"type": "array",
"items": {
"$ref": "objectiveSchema"
}
},
"activityDetails": {
"type": "object",
"id": "activityDetails",
"title": "activityResultSchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.ActivityResultSchema",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"attempts": {
"type": "integer"
},
"activityCompletion": {
"type": "string",
"enum": [
"UNKNOWN",
"COMPLETED",
"INCOMPLETE"
]
},
"activitySuccess": {
"type": "string",
"enum": [
"UNKNOWN",
"PASSED",
"FAILED"
]
},
"score": {
"type": "object",
"title": "scoreSchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.ScoreSchema",
"properties": {
"scaled": {
"description": "Scaled score between 0 and 100",
"type": "number"
}
}
},
"timeTracked": {
"type": "string"
},
"completionAmount": {
"type": "object",
"title": "completionAmountSchema",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.CompletionAmountSchema",
"properties": {
"scaled": {
"description": "Scaled completion amount between 0 and 100",
"type": "number"
}
}
},
"suspended": {
"type": "boolean"
},
"children": {
"type": "array",
"items": {
"$ref": "#/properties/activityDetails"
}
},
"objectives": {
"type": "array",
"items": {
"$ref": "objectiveSchema"
}
},
"staticProperties": {
"type": "object",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.StaticPropertiesSchema",
"title": "staticPropertiesSchema",
"properties": {
"completionThreshold": {
"type": "string"
},
"launchData": {
"type": "string"
},
"maxTimeAllowed": {
"type": "string"
},
"scaledPassingScore": {
"type": "number"
},
"scaledPassingScoreUsed": {
"type": "boolean"
},
"timeLimitAction": {
"type": "string"
}
}
},
"runtime": {
"type": "object",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.RuntimeSchema",
"title": "runtimeSchema",
"properties": {
"completionStatus": {
"type": "string"
},
"credit": {
"type": "string"
},
"entry": {
"type": "string"
},
"exit": {
"type": "string"
},
"learnerPreference": {
"type": "object",
"javaType": "RusticiSoftware.ScormContentPlayer.api.model.LearnerPreferenceSchema",
"title": "learnerPreferenceSchema",
"properties": {
"audioLevel": {
"type": "number"
},
"language": {
"type": "string"
},
"deliverySpeed": {
"type": "number"
},
"audioCaptioning": {
"type": "integer"
}
}
},
"location": {
"type": "string"
},
"mode": {
"type": "string"
},
"progressMeasure": {
"type": "string"
},
"scoreScaled": {
"type": "string"
},
"scoreRaw": {
"type": "string"
},
"scoreMin": {
"type": "string"
},
"scoreMax": {
"type": "string"
},
"totalTime": {
"type": "string"
},
"timeTracked": {
"type": "string"
},
"successStatus": {
"type": "string"
},
"suspendData": {
"type": "string"
},
"learnerComments": {
"type": "array",
"items": {
"$ref": "commentSchema"
}
},
"lmsComments": {
"type": "array",
"items": {
"$ref": "commentSchema"
}
},
"runtimeInteractions": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-03/schema",
"title": "runtimeInteractionSchema",
"type" : "object",
"javaType" : "RusticiSoftware.ScormContentPlayer.api.model.RuntimeInteractionSchema",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"objectives": {
"type": "array",
"items": {
"type": "string"
}
},
"timestamp": {
"type": "string"
},
"correctResponses": {
"type": "array",
"items": {
"type": "string"
}
},
"weighting": {
"type": "string"
},
"learnerResponse": {
"type": "string"
},
"result": {
"type": "string"
},
"latency": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
},
"runtimeObjectives": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-03/schema",
"title": "runtimeObjectiveSchema",
"type" : "object",
"javaType" : "RusticiSoftware.ScormContentPlayer.api.model.RuntimeObjectiveSchema",
"properties": {
"id": {
"type": "string"
},
"scoreScaled": {
"type": "string"
},
"scoreMin": {
"type": "string"
},
"scoreMax": {
"type": "string"
},
"scoreRaw": {
"type": "string"
},
"successStatus": {
"type": "string"
},
"completionStatus": {
"type": "string"
},
"progressMeasure": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
Example:
{
"id": "asdfsd",
"instance": 0,
"updated": "2015-11-05T21:55:20.000Z",
"registrationCompletion": "COMPLETED",
"registrationSuccess": "PASSED",
"totalSecondsTracked": 0,
"course": {
"id": "d8cf7b40-5c42-420b-a276-f5e4364a3d65",
"version": 0,
"title": "Golf Explained - Metadata Example",
"courseLearningStandard": "SCORM_2004_3_RD_EDITION",
"updated": "2015-10-28T15:00:44.000Z"
},
"learner": {
"id": "ConsoleLearner",
"firstName": "Console",
"lastName": "Learner"
},
"globalObjectives": [],
"activityDetails": {
"id": "golf_sample_default_org",
"title": "Golf Explained - Metadata Example",
"attempts": 1,
"activityCompletion": "COMPLETED",
"activitySuccess": "PASSED",
"suspended": false,
"children": [
{
"id": "item_1",
"title": "Golf Explained",
"attempts": 2,
"activityCompletion": "COMPLETED",
"activitySuccess": "PASSED",
"timeTracked": "0000:00:00",
"suspended": false,
"children": [],
"objectives": [
{
"id": "",
"primary": true,
"objectiveSuccess": "PASSED",
"additionalProperties": {}
}
],
"staticProperties": {
"completionThreshold": "",
"launchData": "",
"maxTimeAllowed": "",
"timeLimitAction": "",
"additionalProperties": {}
},
"runtime": {
"completionStatus": "unknown",
"credit": "credit",
"entry": "abinitio",
"exit": "unknown",
"learnerPreference": {
"audioLevel": 1,
"language": "",
"deliverySpeed": 1,
"audioCaptioning": 0,
"additionalProperties": {}
},
"mode": "normal",
"progressMeasure": "",
"scoreScaled": "",
"scoreRaw": "",
"scoreMin": "",
"scoreMax": "",
"totalTime": "0000:00:00",
"timeTracked": "0000:00:00",
"successStatus": "unknown",
"suspendData": "",
"learnerComments": [],
"lmsComments": [],
"runtimeInteractions": [],
"runtimeObjectives": [],
"additionalProperties": {}
},
"additionalProperties": {}
}
],
"objectives": [
{
"id": "",
"primary": true,
"objectiveSuccess": "PASSED",
"additionalProperties": {}
}
],
"staticProperties": {
"completionThreshold": "",
"launchData": "",
"maxTimeAllowed": "",
"timeLimitAction": "",
"additionalProperties": {}
},
"additionalProperties": {}
},
"additionalProperties": {}
}
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
delete global data associated with this registration
delete /{tenant}/registrations/{registrationId}/globalData
delete global data associated with this registration
URI Parameters
- tenant: required (string)
- registrationId: required (string)
id for this registration
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 204
request succeeded
HTTP status code 400
bad request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{ "message" : "Explanation of why the request is bad."}
HTTP status code 404
not found
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "Registration not found" }
ping
Get back a message indicating that the API is working.
get /{tenant}/ping
Get back a message indicating that the API is working.
URI Parameters
- tenant: required (string)
Query Parameters
- configuration: (string)
External configuration. Contains custom configuration properties defined by each LMS.
HTTP status code 200
Import result
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-03/schema",
"title" : "messageSchema",
"type": "object",
"properties": {
"message": {
"type": "string",
"required" : true
}
},
"additionalProperties": false
}
Example:
{"message": "API is up." }