ApplicationManagement Service
The ApplicationManagement service provides an interface allowing you to both update existing applications (and their secret keys) as well as add/delete new applications. You may also retrieve OAuth2 tokens from the createToken method which can be used in future calls for authentication.
One thing that is important to be aware of:
For certain methods you’ll be required to authorize with an App Management application id and secret key. Those methods are:
getApplicationList
createApplication
deleteApplication
getCredential
createCredential
updateCredential
deleteCredential
Note:
The App Management application id doesn’t exist by default. You can find or create the App Management on the Apps page of SCORM Cloud.
createApplication
POST
/appManagement/applications
Summary
A call to this method will create a new application and return a basic object describing it.
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Body | applicationName | true | ApplicationSchema |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
200 | Success | ApplicationSchema |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_MANAGEMENT | |
oauth2 | OAUTH | write:appmgmt |
createCredential
POST
/appManagement/{childAppId}/credentials
Summary
Create a new credential (aka secret key) for use with the childAppId
.
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Path | childAppId | true | String |
Body | credentialRequest | true | CredentialRequestSchema |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
200 | Information about the created credential | CredentialCreatedSchema |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_MANAGEMENT | |
oauth2 | OAUTH | write:appmgmt |
createToken
POST
/appManagement/token
Summary
Creates, signs and returns an OAuth2 token based on the provided permissions, if the credentials used to request the token have the permissions being requested. Note: the token is not stored and therefore can not be modified or deleted. The requested permissions are encoded in the token which is then signed. As long as the secret used to create it is not changed the token will be valid until it expires.
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Body | tokenRequest | true | TokenRequestSchema |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
200 | The token | StringResultSchema |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_NORMAL |
deleteApplication
DELETE
/appManagement/applications/{childAppId}
Summary
Delete an application. If the application contains content, it must first be manually removed before calling this method, else an error will be thrown.
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Path | childAppId | true | String |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
204 | Success | |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
409 | Content still exists in application. | MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_MANAGEMENT | |
oauth2 | OAUTH | delete:appmgmt |
deleteApplicationConfigurationSetting
DELETE
/appManagement/configuration/{settingId}
Summary
Clears the setting value at this level. This is effectively reverting the setting to the system level default.
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Path | settingId | true | String |
Query | learningStandard | false | String |
Query | singleSco | false | Boolean |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
204 | Cleared setting successfully | |
400 | Bad request | MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_NORMAL | |
oauth2 | OAUTH | write:appmgmt |
deleteCredential
DELETE
/appManagement/{childAppId}/credentials/{credentialId}
Summary
Delete credentialId
from the system. Note: if an application’s last secret
key is deleted it will not be able to use the SCORM Cloud api until another
key is granted to it via CreateCredential
. Removing the last secret key
may also disable some priviledges in the website.
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Path | childAppId | true | String |
Path | credentialId | true | String |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
204 | Deleted credential successfully | |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
404 | credentialId not found |
MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_MANAGEMENT | |
oauth2 | OAUTH | delete:appmgmt |
getApplicationConfiguration
GET
/appManagement/configuration
Summary
Returns all configuration settings for this level. These settings will only affect items within this application which do not have that setting themselves.
Note
This resource actually represents 2 distinct levels which are:
- ALL content in an application. This is achieved by leaving
learningStandard
andsingleSco
asnull
. Anything set at the learningStandard/singleSco level will take precedence over these settings.- Content falling into a learningStandard/singleSco category. This allows setting more specific defaults for a particular learningStandard/singleSco combination. Note: both
learningStandard
andsingleSco
must be provided, as this level is considered to be identified by those items joined.
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Query | learningStandard | false | String |
Query | singleSco | false | Boolean |
Query | includeMetadata | false | Boolean |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
200 | List of configuration settings at the Application level. | SettingListSchema |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_NORMAL | |
oauth2 | OAUTH | read:appmgmt |
getApplicationList
GET
/appManagement/applications
Summary
Get list of all applications in this realm.
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
200 | List of applications | ApplicationListSchema |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_MANAGEMENT | |
oauth2 | OAUTH | read:appmgmt |
getCredentials
GET
/appManagement/{childAppId}/credentials
Summary
Retrieve a list of all credentials (aka secret keys) belonging
to childAppId
and their statuses.
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Path | childAppId | true | String |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
200 | List of credentials for this application | CredentialListSchema |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_MANAGEMENT | |
oauth2 | OAUTH | read:appmgmt |
setApplicationConfiguration
POST
/appManagement/configuration
Summary
Set configuration settings for the application level. These settings will only affect items within the application which do not have their own configuration set. This can be used to effectively set application level defaults.
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Body | configurationSettings | true | SettingsPostSchema |
Query | learningStandard | false | String |
Query | singleSco | false | Boolean |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
204 | Success | |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_NORMAL | |
oauth2 | OAUTH | write:appmgmt |
updateCredential
PUT
/appManagement/{childAppId}/credentials/{credentialId}
Summary
Update the name or status associated with credentialId
. If the status is
updated to disabled, the credential will no longer be valid for authorization
through the API. If the last (or only) key for an application is disabled
it may affect some website priviledges
Parameters
Consumes: application/json
Type | Name | Required | Schema |
---|---|---|---|
Path | childAppId | true | String |
Path | credentialId | true | String |
Body | credentialUpdate | true | CredentialRequestSchema |
Responses:
Produces: application/json
HTTP Code | Description | Schema |
---|---|---|
204 | Updated credential successfully | |
400 | Bad request | MessageSchema |
401 | Not authorized to make this request. | MessageSchema |
404 | credentialId not found |
MessageSchema |
Authentication:
Type | Name | Scopes |
---|---|---|
basic | APP_MANAGEMENT | |
oauth2 | OAUTH | write:appmgmt |