CampusAPI Learning Services API documentation version 1.0.2
Based on OSID version 3.0.0
https://base.url/learning
Overview
The Learning services manage learning objectives. A learning Objective describes measurable learning goals While traditional educational institutions organize learning activities into programs and courses, learning may be more accurately defined by learning Objectives and similar entities. A learning Objective describes measurable learning goals at varying levels of detail. Objectives may also be known as “competencies”, “learning outcomes”, “skills”, etc.
This package includes the following entities:
Objectives
A statable learning objective or goal. Objectives describe measurable learning goals. A learning objective may be measured by a related Assessment. Objectives may be mapped to levels, A level is represented by a Grade which is used to indicate an educational grade level or level of difficulty.
Objectives are hierarchical. An Objective with children represents an objective that is inclusive of all its children. For example, an Objective that represents learning in arithmetic may be composed of objectives that represent learning in both addition and subtraction. Objectives may also have requisites. A requisite Objective is one that should be achieved before another Objective is attempted, which can then define learning "pathways".
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this objective, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this objective, provided by system. | string(uri) |
displayName | The name of this objective for display. | string |
description | The description of this objective. | string |
genusTypeId (read‑only) | Id of the immutable type of this objective. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this objective. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
assessmentId | The assessment associated with this learning objective. References an assessment.Assessment object | string(osid‑id) |
knowledgeCategoryId | The grade associated with the knowledge dimension. References a grading.Grade object | string(osid‑id) |
cognitiveProcessId | The grade associated with the cognitive process. References a grading.Grade object | string(osid‑id) |
Activities
Activities represent learning material or other learning activities to meet an Objective. An Activity may relate to a set of Assets for self learning, recommended Courses to take, or a learning Assessment. These Activity Assessments differs from the Objective Assessment in that these are used for aiding in learning while the Objective Assessment is used to test for proficiency in the Objective.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this activity, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this activity, provided by system. | string(uri) |
displayName | The name of this activity for display. | string |
description | The description of this activity. | string |
genusTypeId (read‑only) | Id of the immutable type of this activity. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this activity. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
objectiveId (read‑only) | The objective associated with this activity. References a learning.Objective object. | string(osid‑id) |
assetIds | Any assets associated with this activity. References an array of repository.Asset objects. | string(osid‑id)[] |
courseIds | Any courses associated with this activity. References an array of course.Course objects. | string(osid‑id)[] |
assessmentIds | Any assessments associated with this activity. References an array of assessment.Assessment objects. | string(osid‑id)[] |
Proficiencies
Represents an individual's competency with a learning Objective. Proficiencies typically relate a person to an Objective. But any other kind of resource can be related to Objectives through Proficiencies. For instance, the extent to which a Course is able to teach an Objective could also be measured through Proficiency and measured through accreditation or student course evaluations.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this proficiency, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this proficiency, provided by system. | string(uri) |
displayName | The name of this proficiency for display. | string |
description | The description of this proficiency. | string |
genusTypeId (read‑only) | Id of the immutable type of this proficiency. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this proficiency. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
startDate | The starting date of this proficiency. | string(date‑time) |
endDate | The ending date of this proficiency. | string(date‑time) |
endReasonId | The reason this proficiency ended. References a process.State object. | string(osid‑id) |
resourceId (read‑only) | The resource associated with this proficiency. References a resource.Resource object. | string(osid‑id) |
objectiveId (read‑only) | The objective associated with this proficiency. References a learning.Objective object. | string(osid‑id) |
completion | The completion of this objective as a percentage 0-100. | number |
levelId | The proficiency level expressed as a grade. References a grading.Grade object | string(osid‑id) |
ObjectiveBanks
A ObjectiveBank is a catalog for all "learning" related entities. The term "Framework" is often used as an alternate name to describe this kind of organization when applied to competencies
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this objective bank, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this objective bank, provided by system. | string(uri) |
displayName | The name of this objective bank for display. | string |
description | The description of this objective bank. | string |
genusTypeId (read‑only) | Id of the immutable type of this objective bank. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this objective bank. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
providerId | The provider of this objective bank. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this objective bank. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this objective bank. | string |
License
CampusAPI REST Documentation Copyright 2020 DXtera Institute. Based on the Open Service Interface Defitions: http://osid.org
/objectives
Collection of objectives in a system, federation of systems, or in a default objectiveBank.
Get all objectives in the system or default objectiveBank.
Create a new objective in the default objectiveBank.
get /objectives
Get all objectives in the system or default objectiveBank.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleObjectiveType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleObjectiveType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleObjectiveType%40campusapi.org
- objectiveBankId: (string)
The id string to match a objectiveBank
Example:
learning.ObjectiveBank%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Objective:5086@base.url",
"uri": "http://base.url/open/campusapi/learning/objective/learning.Objective%3A5086%40base.url",
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"genusTypeId": "type.Type:defaultObjectiveType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveRecordType@campusapi.org", "..."],
"assessmentId": "assessment.Assessment:1752@base.url",
"knowledgeCategoryId": "grading.Grade:2151@base.url",
"cognitiveProcessId": "grading.Grade:4347@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /objectives
Create a new objective in the default objectiveBank.
Query Parameters
- genusType: (string)
specify a particular objective type to create
Example:
type.Type%3AexampleObjectiveType%40dxtera.org
- recordType: (array of )
specify support for one or more objective record types
Example:
[ "type.Type%3AexampleObjectiveRecordType%40campusapi.org", "..." ]
- objectiveBankId: (string)
specify in which objective-bank to create this objective
Example:
learning.ObjectiveBank%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Objective",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this objective, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this objective, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this objective for display.",
"type": "string"
},
"description": {
"description": "The description of this objective.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this objective. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this objective. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"assessmentId": {
"description": "The assessment associated with this learning objective.",
"type": "string",
"format": "osid-id"
},
"knowledgeCategoryId": {
"description": "The grade associated with the knowledge dimension.",
"type": "string",
"format": "osid-id"
},
"cognitiveProcessId": {
"description": "The grade associated with the cognitive process.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"assessmentId": "assessment.Assessment:4033@base.url",
"knowledgeCategoryId": "grading.Grade:1038@base.url",
"cognitiveProcessId": "grading.Grade:3735@base.url"
}
Entity representing a objective form metadata.
Get form metadata for creating a new objective.
get /objectives/metadata
Get form metadata for creating a new objective.
Query Parameters
- genusType: (string)
specify a particular objective type to create
Example:
type.Type%3AexampleObjectiveType%40dxtera.org
- recordType: (array of )
specify support for one or more objective record types
Example:
[ "type.Type%3AexampleObjectiveRecordType%40campusapi.org", "..." ]
- objectiveBankId: (string)
specify in which objective-bank to create this objective
Example:
learning.ObjectiveBank%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Objective",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this objective, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this objective, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this objective for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Objective.Objective:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this objective",
"linked": false
},
"description": {
"description": "The description of this objective.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Objective.Objective:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this objective",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this objective. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this objective. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"assessmentId": {
"description": "The assessment associated with this learning objective.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "learning.Objective:assessment@dxtera.org",
"existingValue": null,
"elementLabel": "Assessment",
"instructions": "Enter the Id of the assessment for this objective.",
"linked": false
},
"knowledgeCategoryId": {
"description": "The grade associated with the knowledge dimension.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "learning.Objective:knowledgeCategory@dxtera.org",
"existingValue": null,
"elementLabel": "Knowledge Category",
"instructions": "Enter the Id of the knowledge category for this objective.",
"linked": false
},
"cognitiveProcessId": {
"description": "The grade associated with the cognitive process.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "learning.Objective:cognitiveProcess@dxtera.org",
"existingValue": null,
"elementLabel": "Cognitive Process",
"instructions": "Enter the Id of the cognitive process for this objective.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root objectives in the objective hierarchy. A node with no parents is an orphan. While all objective Ids are known to the hierarchy, an orphan does not appear in the hierarchy unless explicitly added as a root node or child of another node.
Get all root root-objectives
get /objectives/root-objectives
Get all root root-objectives
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Objective:5086@base.url",
"uri": "http://base.url/open/campusapi/learning/objective/learning.Objective%3A5086%40base.url",
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"genusTypeId": "type.Type:defaultObjectiveType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveRecordType@campusapi.org", "..."],
"assessmentId": "assessment.Assessment:1752@base.url",
"knowledgeCategoryId": "grading.Grade:2151@base.url",
"cognitiveProcessId": "grading.Grade:4347@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given objective as a root in the objective hierarchy
Remove the given objective as a root in the objective hierarchy.
put /objectives/root-objectives/{objectiveId}
Add the given objective as a root in the objective hierarchy
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The objective has been added as a root" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "objective not found" }
delete /objectives/root-objectives/{objectiveId}
Remove the given objective as a root in the objective hierarchy.
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The objective has been removed as a root from the hierarchy" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "objective not found" }
Entity representing a objective
Get a objective given its id.
Update a given objective.
Delete a given objective.
get /objectives/{objectiveId}
Get a objective given its id.
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "learning.Objective:5086@base.url",
"uri": "http://base.url/open/campusapi/learning/objective/learning.Objective%3A5086%40base.url",
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"genusTypeId": "type.Type:defaultObjectiveType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveRecordType@campusapi.org", "..."],
"assessmentId": "assessment.Assessment:1752@base.url",
"knowledgeCategoryId": "grading.Grade:2151@base.url",
"cognitiveProcessId": "grading.Grade:4347@base.url"
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "objective not found" }
put /objectives/{objectiveId}
Update a given objective.
URI Parameters
- objectiveId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Objective",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this objective, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this objective, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this objective for display.",
"type": "string"
},
"description": {
"description": "The description of this objective.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this objective. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this objective. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"assessmentId": {
"description": "The assessment associated with this learning objective.",
"type": "string",
"format": "osid-id"
},
"knowledgeCategoryId": {
"description": "The grade associated with the knowledge dimension.",
"type": "string",
"format": "osid-id"
},
"cognitiveProcessId": {
"description": "The grade associated with the cognitive process.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"assessmentId": "assessment.Assessment:4033@base.url",
"knowledgeCategoryId": "grading.Grade:1038@base.url",
"cognitiveProcessId": "grading.Grade:3735@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The objective has been updated" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "objective not found" }
delete /objectives/{objectiveId}
Delete a given objective.
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The objective has been deleted" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "objective not found" }
Entity representing a objective form metadata for update
Get form metadata for updating an existing objective.
get /objectives/{objectiveId}/metadata
Get form metadata for updating an existing objective.
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Objective",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this objective, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this objective, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this objective for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Objective.Objective:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this objective",
"linked": false
},
"description": {
"description": "The description of this objective.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Objective.Objective:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this objective",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this objective. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this objective. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"assessmentId": {
"description": "The assessment associated with this learning objective.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "learning.Objective:assessment@dxtera.org",
"existingValue": null,
"elementLabel": "Assessment",
"instructions": "Enter the Id of the assessment for this objective.",
"linked": false
},
"knowledgeCategoryId": {
"description": "The grade associated with the knowledge dimension.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "learning.Objective:knowledgeCategory@dxtera.org",
"existingValue": null,
"elementLabel": "Knowledge Category",
"instructions": "Enter the Id of the knowledge category for this objective.",
"linked": false
},
"cognitiveProcessId": {
"description": "The grade associated with the cognitive process.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "learning.Objective:cognitiveProcess@dxtera.org",
"existingValue": null,
"elementLabel": "Cognitive Process",
"instructions": "Enter the Id of the cognitive process for this objective.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "objective not found" }
Get child objectives for the given objective in the hierarchy.
get /objectives/{objectiveId}/children
Get child objectives for the given objective in the hierarchy.
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Objective:5086@base.url",
"uri": "http://base.url/open/campusapi/learning/objective/learning.Objective%3A5086%40base.url",
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"genusTypeId": "type.Type:defaultObjectiveType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveRecordType@campusapi.org", "..."],
"assessmentId": "assessment.Assessment:1752@base.url",
"knowledgeCategoryId": "grading.Grade:2151@base.url",
"cognitiveProcessId": "grading.Grade:4347@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add objective as child of the given objective in the hierarchy.
Remove the given objective as a child of the given objective in the hierarchy.
put /objectives/{objectiveId}/children/{childId}
Add objective as child of the given objective in the hierarchy.
URI Parameters
- objectiveId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child objective has been added to the hierarchy" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "objective not found" }
delete /objectives/{objectiveId}/children/{childId}
Remove the given objective as a child of the given objective in the hierarchy.
URI Parameters
- objectiveId: required(string)
- childId: required(string)
Get parent objectives for the given objective in the hierarchy.
get /objectives/{objectiveId}/parents
Get parent objectives for the given objective in the hierarchy.
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Objective:5086@base.url",
"uri": "http://base.url/open/campusapi/learning/objective/learning.Objective%3A5086%40base.url",
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"genusTypeId": "type.Type:defaultObjectiveType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveRecordType@campusapi.org", "..."],
"assessmentId": "assessment.Assessment:1752@base.url",
"knowledgeCategoryId": "grading.Grade:2151@base.url",
"cognitiveProcessId": "grading.Grade:4347@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get requisite objectives for the given objective in the pathway.
get /objectives/{objectiveId}/requisites
Get requisite objectives for the given objective in the pathway.
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Objective:5086@base.url",
"uri": "http://base.url/open/campusapi/learning/objective/learning.Objective%3A5086%40base.url",
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"genusTypeId": "type.Type:defaultObjectiveType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveRecordType@campusapi.org", "..."],
"assessmentId": "assessment.Assessment:1752@base.url",
"knowledgeCategoryId": "grading.Grade:2151@base.url",
"cognitiveProcessId": "grading.Grade:4347@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add objective as requisite of the given objective in the pathway.
Remove the given objective as a requisite of the given objective in the pathway.
put /objectives/{objectiveId}/requisites/{requisiteObjectiveId}
Add objective as requisite of the given objective in the pathway.
URI Parameters
- objectiveId: required(string)
- requisiteObjectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The requisite objective has been added to the pathway" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "objective not found" }
delete /objectives/{objectiveId}/requisites/{requisiteObjectiveId}
Remove the given objective as a requisite of the given objective in the pathway.
URI Parameters
- objectiveId: required(string)
- requisiteObjectiveId: required(string)
Get dependent objectives for the given objective in the pathway.
get /objectives/{objectiveId}/dependents
Get dependent objectives for the given objective in the pathway.
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Objective:5086@base.url",
"uri": "http://base.url/open/campusapi/learning/objective/learning.Objective%3A5086%40base.url",
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"genusTypeId": "type.Type:defaultObjectiveType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveRecordType@campusapi.org", "..."],
"assessmentId": "assessment.Assessment:1752@base.url",
"knowledgeCategoryId": "grading.Grade:2151@base.url",
"cognitiveProcessId": "grading.Grade:4347@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get equivelant objectives for the given objective in the pathway.
get /objectives/{objectiveId}/equivelants
Get equivelant objectives for the given objective in the pathway.
URI Parameters
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Objective:5086@base.url",
"uri": "http://base.url/open/campusapi/learning/objective/learning.Objective%3A5086%40base.url",
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"genusTypeId": "type.Type:defaultObjectiveType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveRecordType@campusapi.org", "..."],
"assessmentId": "assessment.Assessment:1752@base.url",
"knowledgeCategoryId": "grading.Grade:2151@base.url",
"cognitiveProcessId": "grading.Grade:4347@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add objective as equivalent of the given objective in the pathway.
Remove the given objective as a equivalent of the given objective in the pathway.
put /objectives/{objectiveId}/equivelants/{equivalentObjectiveId}
Add objective as equivalent of the given objective in the pathway.
URI Parameters
- objectiveId: required(string)
- equivalentObjectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The equivalent objective has been added to the pathway" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "objective not found" }
delete /objectives/{objectiveId}/equivelants/{equivalentObjectiveId}
Remove the given objective as a equivalent of the given objective in the pathway.
URI Parameters
- objectiveId: required(string)
- equivalentObjectiveId: required(string)
/activities
Collection of activities in a system, federation of systems, or in a default objectiveBank.
Get all activities in the system or default objectiveBank.
Create a new activity in the default objectiveBank.
get /activities
Get all activities in the system or default objectiveBank.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleActivityType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleActivityType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleActivityType%40campusapi.org
- objectiveId: (string)
the id string to match a objective.
Example:
learning.Objective%3A576%40base.url
- assetId: (string)
Id string to match asset.
Example:
repository.Asset%3A2790%40demo.dxtera.org
- objectiveBankId: (string)
The id string to match a objectiveBank
Example:
learning.ObjectiveBank%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Activity:7232@base.url",
"uri": "http://base.url/open/campusapi/learning/activity/learning.Activity%3A7232%40base.url",
"displayName": "Display Name of this Activity",
"description": "The description of this Activity",
"genusTypeId": "type.Type:defaultActivityType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityRecordType@campusapi.org", "..."],
"objectiveId": "learning.Objective:6825@base.url",
"assetIds": [ "repository.Asset:6846@base.url", "..." ],
"courseIds": [ "course.Course:305@base.url", "..." ],
"assessmentIds": [ "assessment.Assessment:3082@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /activities
Create a new activity in the default objectiveBank.
Query Parameters
- objectiveId: required(string)
the objective of this activity.
Example:
learning.Objective%3A576%40base.url
- genusType: (string)
specify a particular activity type to create
Example:
type.Type%3AexampleActivityType%40dxtera.org
- recordType: (array of )
specify support for one or more activity record types
Example:
[ "type.Type%3AexampleActivityRecordType%40campusapi.org", "..." ]
- objectiveBankId: (string)
specify in which objective-bank to create this activity
Example:
learning.ObjectiveBank%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Activity",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this activity, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity for display.",
"type": "string"
},
"description": {
"description": "The description of this activity.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this activity. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"objectiveId": {
"description": "The objective associated with this activity.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"assetIds": {
"description": "Any assets associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
},
"courseIds": {
"description": "Any courses associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
},
"assessmentIds": {
"description": "Any assessments associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Activity",
"description": "The description of this Activity",
"assetIds": [ "repository.Asset:8483@base.url", "..." ],
"courseIds": [ "course.Course:3355@base.url", "..." ],
"assessmentIds": [ "assessment.Assessment:8886@base.url", "..." ]
}
Entity representing a activity form metadata.
Get form metadata for creating a new activity.
get /activities/metadata
Get form metadata for creating a new activity.
Query Parameters
- objectiveId: required(string)
the objective of this metadatum.
Example:
learning.Objective%3A576%40base.url
- genusType: (string)
specify a particular activity type to create
Example:
type.Type%3AexampleActivityType%40dxtera.org
- recordType: (array of )
specify support for one or more activity record types
Example:
[ "type.Type%3AexampleActivityRecordType%40campusapi.org", "..." ]
- objectiveBankId: (string)
specify in which objective-bank to create this activity
Example:
learning.ObjectiveBank%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Activity",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this activity, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Activity.Activity:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this activity",
"linked": false
},
"description": {
"description": "The description of this activity.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Activity.Activity:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this activity",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this activity. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"assetIds": {
"description": "Any assets associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "learning.Activity:assets@dxtera.org",
"existingValue": [],
"elementLabel": "Assets",
"instructions": "Enter Ids for assets of this activity.",
"linked": false
},
"courseIds": {
"description": "Any courses associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "learning.Activity:courses@dxtera.org",
"existingValue": [],
"elementLabel": "Courses",
"instructions": "Enter Ids for courses of this activity.",
"linked": false
},
"assessmentIds": {
"description": "Any assessments associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "learning.Activity:assessments@dxtera.org",
"existingValue": [],
"elementLabel": "Assessments",
"instructions": "Enter Ids for assessments of this activity.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a activity
Get a activity given its id.
Update a given activity.
Delete a given activity.
get /activities/{activityId}
Get a activity given its id.
URI Parameters
- activityId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "learning.Activity:7232@base.url",
"uri": "http://base.url/open/campusapi/learning/activity/learning.Activity%3A7232%40base.url",
"displayName": "Display Name of this Activity",
"description": "The description of this Activity",
"genusTypeId": "type.Type:defaultActivityType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityRecordType@campusapi.org", "..."],
"objectiveId": "learning.Objective:6825@base.url",
"assetIds": [ "repository.Asset:6846@base.url", "..." ],
"courseIds": [ "course.Course:305@base.url", "..." ],
"assessmentIds": [ "assessment.Assessment:3082@base.url", "..." ]
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "activity not found" }
put /activities/{activityId}
Update a given activity.
URI Parameters
- activityId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Activity",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this activity, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity for display.",
"type": "string"
},
"description": {
"description": "The description of this activity.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this activity. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"objectiveId": {
"description": "The objective associated with this activity.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"assetIds": {
"description": "Any assets associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
},
"courseIds": {
"description": "Any courses associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
},
"assessmentIds": {
"description": "Any assessments associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Activity",
"description": "The description of this Activity",
"assetIds": [ "repository.Asset:8483@base.url", "..." ],
"courseIds": [ "course.Course:3355@base.url", "..." ],
"assessmentIds": [ "assessment.Assessment:8886@base.url", "..." ]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The activity has been updated" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "activity not found" }
delete /activities/{activityId}
Delete a given activity.
URI Parameters
- activityId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The activity has been deleted" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "activity not found" }
Entity representing a activity form metadata for update
Get form metadata for updating an existing activity.
get /activities/{activityId}/metadata
Get form metadata for updating an existing activity.
URI Parameters
- activityId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Activity",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this activity, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Activity.Activity:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this activity",
"linked": false
},
"description": {
"description": "The description of this activity.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Activity.Activity:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this activity",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this activity. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"assetIds": {
"description": "Any assets associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "learning.Activity:assets@dxtera.org",
"existingValue": [],
"elementLabel": "Assets",
"instructions": "Enter Ids for assets of this activity.",
"linked": false
},
"courseIds": {
"description": "Any courses associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "learning.Activity:courses@dxtera.org",
"existingValue": [],
"elementLabel": "Courses",
"instructions": "Enter Ids for courses of this activity.",
"linked": false
},
"assessmentIds": {
"description": "Any assessments associated with this activity.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "learning.Activity:assessments@dxtera.org",
"existingValue": [],
"elementLabel": "Assessments",
"instructions": "Enter Ids for assessments of this activity.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "activity not found" }
/proficiencies
Collection of proficiencies in a system, federation of systems, or in a default objectiveBank.
Get all proficiencies in the system or default objectiveBank.
Create a new proficiency in the default objectiveBank.
get /proficiencies
Get all proficiencies in the system or default objectiveBank.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleProficiencyType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleProficiencyType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleProficiencyType%40campusapi.org
- fromDate: (string)
Get all proficiencies from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all proficiencies up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- resourceId: (string)
the id string to match a resource.
Example:
resource.Resource%3A704%40base.url
- objectiveId: (string)
the id string to match a objective.
Example:
learning.Objective%3A792%40base.url
- objectiveBankId: (string)
The id string to match a objectiveBank
Example:
learning.ObjectiveBank%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Proficiency:2698@base.url",
"uri": "http://base.url/open/campusapi/learning/proficiency/learning.Proficiency%3A2698%40base.url",
"displayName": "Display Name of this Proficiency",
"description": "The description of this Proficiency",
"genusTypeId": "type.Type:defaultProficiencyType@base.url",
"recordTypeIds": [ "type.Type:exampleProficiencyRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:2698@base.url",
"resourceId": "resource.Resource:7994@base.url",
"objectiveId": "learning.Objective:6037@base.url",
"completion": 3.14,
"levelId": "grading.Grade:6669@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /proficiencies
Create a new proficiency in the default objectiveBank.
Query Parameters
- resourceId: required(string)
the resource of this proficiency.
Example:
resource.Resource%3A704%40base.url
- objectiveId: required(string)
the objective of this proficiency.
Example:
learning.Objective%3A792%40base.url
- genusType: (string)
specify a particular proficiency type to create
Example:
type.Type%3AexampleProficiencyType%40dxtera.org
- recordType: (array of )
specify support for one or more proficiency record types
Example:
[ "type.Type%3AexampleProficiencyRecordType%40campusapi.org", "..." ]
- objectiveBankId: (string)
specify in which objective-bank to create this proficiency
Example:
learning.ObjectiveBank%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Proficiency",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this proficiency, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this proficiency, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this proficiency for display.",
"type": "string"
},
"description": {
"description": "The description of this proficiency.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this proficiency. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this proficiency. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this proficiency.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this proficiency.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this proficiency ended.",
"type": "string",
"format": "osid-id"
},
"resourceId": {
"description": "The resource associated with this proficiency.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"objectiveId": {
"description": "The objective associated with this proficiency.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"completion": {
"description": "The completion of this objective as a percentage 0-100.",
"type": "number"
},
"levelId": {
"description": "The proficiency level expressed as a grade.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Proficiency",
"description": "The description of this Proficiency",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:3796@base.url",
"completion": 3.14,
"levelId": "grading.Grade:5620@base.url"
}
Entity representing a proficiency form metadata.
Get form metadata for creating a new proficiency.
get /proficiencies/metadata
Get form metadata for creating a new proficiency.
Query Parameters
- resourceId: required(string)
the resource of this metadatum.
Example:
resource.Resource%3A704%40base.url
- objectiveId: required(string)
the objective of this metadatum.
Example:
learning.Objective%3A792%40base.url
- genusType: (string)
specify a particular proficiency type to create
Example:
type.Type%3AexampleProficiencyType%40dxtera.org
- recordType: (array of )
specify support for one or more proficiency record types
Example:
[ "type.Type%3AexampleProficiencyRecordType%40campusapi.org", "..." ]
- objectiveBankId: (string)
specify in which objective-bank to create this proficiency
Example:
learning.ObjectiveBank%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Proficiency",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this proficiency, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this proficiency, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this proficiency for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this proficiency",
"linked": false
},
"description": {
"description": "The description of this proficiency.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this proficiency",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this proficiency. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this proficiency. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this proficiency.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this proficiency",
"linked": false
},
"endDate": {
"description": "The ending date of this proficiency.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this proficiency",
"linked": false
},
"endReasonId": {
"description": "The reason this proficiency ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this proficiency ended",
"linked": false
},
"completion": {
"description": "The completion of this objective as a percentage 0-100.",
"type": "number",
"minimum": 0,
"maximum": 1,
"units": "",
"default": null,
"enum": [],
"elementId": "learning.Proficiency:completion@dxtera.org",
"existingValue": 0.78,
"elementLabel": "Completion",
"instructions": "Enter the completion of this proficiency.",
"linked": false
},
"levelId": {
"description": "The proficiency level expressed as a grade.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "learning.Proficiency:level@dxtera.org",
"existingValue": null,
"elementLabel": "Level",
"instructions": "Enter the Id of the level for this proficiency.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a proficiency
Get a proficiency given its id.
Update a given proficiency.
Delete a given proficiency.
get /proficiencies/{proficiencyId}
Get a proficiency given its id.
URI Parameters
- proficiencyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "learning.Proficiency:2698@base.url",
"uri": "http://base.url/open/campusapi/learning/proficiency/learning.Proficiency%3A2698%40base.url",
"displayName": "Display Name of this Proficiency",
"description": "The description of this Proficiency",
"genusTypeId": "type.Type:defaultProficiencyType@base.url",
"recordTypeIds": [ "type.Type:exampleProficiencyRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:2698@base.url",
"resourceId": "resource.Resource:7994@base.url",
"objectiveId": "learning.Objective:6037@base.url",
"completion": 3.14,
"levelId": "grading.Grade:6669@base.url"
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "proficiency not found" }
put /proficiencies/{proficiencyId}
Update a given proficiency.
URI Parameters
- proficiencyId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Proficiency",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this proficiency, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this proficiency, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this proficiency for display.",
"type": "string"
},
"description": {
"description": "The description of this proficiency.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this proficiency. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this proficiency. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this proficiency.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this proficiency.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this proficiency ended.",
"type": "string",
"format": "osid-id"
},
"resourceId": {
"description": "The resource associated with this proficiency.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"objectiveId": {
"description": "The objective associated with this proficiency.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"completion": {
"description": "The completion of this objective as a percentage 0-100.",
"type": "number"
},
"levelId": {
"description": "The proficiency level expressed as a grade.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Proficiency",
"description": "The description of this Proficiency",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:3796@base.url",
"completion": 3.14,
"levelId": "grading.Grade:5620@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The proficiency has been updated" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "proficiency not found" }
delete /proficiencies/{proficiencyId}
Delete a given proficiency.
URI Parameters
- proficiencyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The proficiency has been deleted" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "proficiency not found" }
Entity representing a proficiency form metadata for update
Get form metadata for updating an existing proficiency.
get /proficiencies/{proficiencyId}/metadata
Get form metadata for updating an existing proficiency.
URI Parameters
- proficiencyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Proficiency",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this proficiency, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this proficiency, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this proficiency for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this proficiency",
"linked": false
},
"description": {
"description": "The description of this proficiency.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this proficiency",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this proficiency. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this proficiency. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this proficiency.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this proficiency",
"linked": false
},
"endDate": {
"description": "The ending date of this proficiency.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this proficiency",
"linked": false
},
"endReasonId": {
"description": "The reason this proficiency ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Proficiency.Proficiency:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this proficiency ended",
"linked": false
},
"completion": {
"description": "The completion of this objective as a percentage 0-100.",
"type": "number",
"minimum": 0,
"maximum": 1,
"units": "",
"default": null,
"enum": [],
"elementId": "learning.Proficiency:completion@dxtera.org",
"existingValue": 0.78,
"elementLabel": "Completion",
"instructions": "Enter the completion of this proficiency.",
"linked": false
},
"levelId": {
"description": "The proficiency level expressed as a grade.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "learning.Proficiency:level@dxtera.org",
"existingValue": null,
"elementLabel": "Level",
"instructions": "Enter the Id of the level for this proficiency.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "proficiency not found" }
/objective-banks
Collection of objective-banks in a system or federation of systems.
Get all objective-banks.
Create a new objective-bank.
get /objective-banks
Get all objective-banks.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleObjectiveBankType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleObjectiveBankType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleObjectiveBankType%40campusapi.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org
- objectiveId: (string)
Get objective-banks mapped to this objective.
Example:
learning.Objective%3A936%40demo.dxtera.org
- activityId: (string)
Get objective-banks mapped to this activity.
Example:
learning.Activity%3A832%40demo.dxtera.org
- proficiencyId: (string)
Get objective-banks mapped to this proficiency.
Example:
learning.Proficiency%3A1144%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.ObjectiveBank:4085@base.url",
"uri": "http://base.url/open/campusapi/learning/objectiveBank/learning.ObjectiveBank%3A4085%40base.url",
"displayName": "Display Name of this ObjectiveBank",
"description": "The description of this ObjectiveBank",
"genusTypeId": "type.Type:defaultObjectiveBankType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveBankRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:ObjectiveBank@base.url",
"license": "The license that applies to this ObjectiveBank"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /objective-banks
Create a new objective-bank.
Query Parameters
- genusType: (string)
specify a particular objectiveBank type to create
Example:
type.Type%3AexampleObjectiveBankType%40dxtera.org
- recordType: (array of )
specify support for one or more objectiveBank record types
Example:
[ "type.Type%3AexampleObjectiveBankRecordType%40campusapi.org", "..." ]
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ObjectiveBank",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this objective bank, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this objective bank, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this objective bank for display.",
"type": "string"
},
"description": {
"description": "The description of this objective bank.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this objective bank. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this objective bank. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this objective bank.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this objective bank. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this objective bank.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this ObjectiveBank",
"description": "The description of this ObjectiveBank",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:ObjectiveBank@base.url",
"license": "The license that applies to this ObjectiveBank"
}
Entity representing a objectiveBank form metadata.
Get form metadata for creating a new objectiveBank.
get /objective-banks/metadata
Get form metadata for creating a new objectiveBank.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "ObjectiveBank",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this objective bank, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this objective bank, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this objective bank for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ObjectiveBank.ObjectiveBank:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this objective bank",
"linked": false
},
"description": {
"description": "The description of this objective bank.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ObjectiveBank.ObjectiveBank:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this objective bank",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this objective bank. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this objective bank. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this objective bank.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ObjectiveBank.ObjectiveBank:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this objective bank",
"linked": false
},
"brandingIds": {
"description": "The branding of this objective bank. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "ObjectiveBank.ObjectiveBank:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this objective bank",
"linked": false
},
"license": {
"description": "The licensing that applies to this objective bank.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ObjectiveBank.ObjectiveBank:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this objective bank",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root objectiveBanks in the objectiveBank hierarchy. A node with no parents is an orphan. While all objectiveBank Ids are known to the hierarchy, an orphan does not appear in the hierarchy unless explicitly added as a root node or child of another node.
Get all root root-objective-bank
get /objective-banks/root-objective-bank
Get all root root-objective-bank
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.ObjectiveBank:4085@base.url",
"uri": "http://base.url/open/campusapi/learning/objectiveBank/learning.ObjectiveBank%3A4085%40base.url",
"displayName": "Display Name of this ObjectiveBank",
"description": "The description of this ObjectiveBank",
"genusTypeId": "type.Type:defaultObjectiveBankType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveBankRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:ObjectiveBank@base.url",
"license": "The license that applies to this ObjectiveBank"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a objective-bank
Get a objective-bank given its id.
Update a given objective-bank.
Delete a given objective-bank.
get /objective-banks/{objectiveBankId}
Get a objective-bank given its id.
URI Parameters
- objectiveBankId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "learning.ObjectiveBank:4085@base.url",
"uri": "http://base.url/open/campusapi/learning/objectiveBank/learning.ObjectiveBank%3A4085%40base.url",
"displayName": "Display Name of this ObjectiveBank",
"description": "The description of this ObjectiveBank",
"genusTypeId": "type.Type:defaultObjectiveBankType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveBankRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:ObjectiveBank@base.url",
"license": "The license that applies to this ObjectiveBank"
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "objective-bank not found" }
put /objective-banks/{objectiveBankId}
Update a given objective-bank.
URI Parameters
- objectiveBankId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ObjectiveBank",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this objective bank, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this objective bank, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this objective bank for display.",
"type": "string"
},
"description": {
"description": "The description of this objective bank.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this objective bank. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this objective bank. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this objective bank.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this objective bank. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this objective bank.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this ObjectiveBank",
"description": "The description of this ObjectiveBank",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:ObjectiveBank@base.url",
"license": "The license that applies to this ObjectiveBank"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The objective-bank has been updated" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "objective-bank not found" }
delete /objective-banks/{objectiveBankId}
Delete a given objective-bank.
URI Parameters
- objectiveBankId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The objective-bank has been deleted" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "objective-bank not found" }
Entity representing a objectiveBank form metadata for update
Get form metadata for updating an existing objectiveBank.
get /objective-banks/{objectiveBankId}/metadata
Get form metadata for updating an existing objectiveBank.
URI Parameters
- objectiveBankId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "ObjectiveBank",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this objective bank, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this objective bank, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this objective bank for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ObjectiveBank.ObjectiveBank:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this objective bank",
"linked": false
},
"description": {
"description": "The description of this objective bank.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ObjectiveBank.ObjectiveBank:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this objective bank",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this objective bank. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this objective bank. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this objective bank.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ObjectiveBank.ObjectiveBank:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this objective bank",
"linked": false
},
"brandingIds": {
"description": "The branding of this objective bank. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "ObjectiveBank.ObjectiveBank:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this objective bank",
"linked": false
},
"license": {
"description": "The licensing that applies to this objective bank.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ObjectiveBank.ObjectiveBank:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this objective bank",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "objectiveBank not found" }
Get child objectiveBanks for the given objectiveBank in the hierarchy.
get /objective-banks/{objectiveBankId}/children
Get child objectiveBanks for the given objectiveBank in the hierarchy.
URI Parameters
- objectiveBankId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.ObjectiveBank:4085@base.url",
"uri": "http://base.url/open/campusapi/learning/objectiveBank/learning.ObjectiveBank%3A4085%40base.url",
"displayName": "Display Name of this ObjectiveBank",
"description": "The description of this ObjectiveBank",
"genusTypeId": "type.Type:defaultObjectiveBankType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveBankRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:ObjectiveBank@base.url",
"license": "The license that applies to this ObjectiveBank"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add objectiveBank as child of the given objectiveBank in the hierarchy.
Remove the given objectiveBank as a child of the given objectiveBank in the hierarchy.
put /objective-banks/{objectiveBankId}/children/{childId}
Add objectiveBank as child of the given objectiveBank in the hierarchy.
URI Parameters
- objectiveBankId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child objectiveBank has been added to the hierarchy" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "objectiveBank not found" }
delete /objective-banks/{objectiveBankId}/children/{childId}
Remove the given objectiveBank as a child of the given objectiveBank in the hierarchy.
URI Parameters
- objectiveBankId: required(string)
- childId: required(string)
Get parent objectiveBanks for the given objectiveBank in the hierarchy.
get /objective-banks/{objectiveBankId}/parents
Get parent objectiveBanks for the given objectiveBank in the hierarchy.
URI Parameters
- objectiveBankId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.ObjectiveBank:4085@base.url",
"uri": "http://base.url/open/campusapi/learning/objectiveBank/learning.ObjectiveBank%3A4085%40base.url",
"displayName": "Display Name of this ObjectiveBank",
"description": "The description of this ObjectiveBank",
"genusTypeId": "type.Type:defaultObjectiveBankType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveBankRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:ObjectiveBank@base.url",
"license": "The license that applies to this ObjectiveBank"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get all objectives in this objectiveBank
get /objective-banks/{objectiveBankId}/objectives
Get all objectives in this objectiveBank
URI Parameters
- objectiveBankId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Objective:5086@base.url",
"uri": "http://base.url/open/campusapi/learning/objective/learning.Objective%3A5086%40base.url",
"displayName": "Display Name of this Objective",
"description": "The description of this Objective",
"genusTypeId": "type.Type:defaultObjectiveType@base.url",
"recordTypeIds": [ "type.Type:exampleObjectiveRecordType@campusapi.org", "..."],
"assessmentId": "assessment.Assessment:1752@base.url",
"knowledgeCategoryId": "grading.Grade:2151@base.url",
"cognitiveProcessId": "grading.Grade:4347@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given objective to this objectiveBank
Remove the given objective from the objectiveBank.
put /objective-banks/{objectiveBankId}/objectives/{objectiveId}
Add the given objective to this objectiveBank
URI Parameters
- objectiveBankId: required(string)
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "objective has been added to objectiveBank" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "objective not found" }
delete /objective-banks/{objectiveBankId}/objectives/{objectiveId}
Remove the given objective from the objectiveBank.
URI Parameters
- objectiveBankId: required(string)
- objectiveId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "objective has been removed" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "objective not found" }
Get all activities in this objectiveBank
get /objective-banks/{objectiveBankId}/activities
Get all activities in this objectiveBank
URI Parameters
- objectiveBankId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Activity:7232@base.url",
"uri": "http://base.url/open/campusapi/learning/activity/learning.Activity%3A7232%40base.url",
"displayName": "Display Name of this Activity",
"description": "The description of this Activity",
"genusTypeId": "type.Type:defaultActivityType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityRecordType@campusapi.org", "..."],
"objectiveId": "learning.Objective:6825@base.url",
"assetIds": [ "repository.Asset:6846@base.url", "..." ],
"courseIds": [ "course.Course:305@base.url", "..." ],
"assessmentIds": [ "assessment.Assessment:3082@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given activity to this objectiveBank
Remove the given activity from the objectiveBank.
put /objective-banks/{objectiveBankId}/activities/{activityId}
Add the given activity to this objectiveBank
URI Parameters
- objectiveBankId: required(string)
- activityId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "activity has been added to objectiveBank" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "activity not found" }
delete /objective-banks/{objectiveBankId}/activities/{activityId}
Remove the given activity from the objectiveBank.
URI Parameters
- objectiveBankId: required(string)
- activityId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "activity has been removed" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "activity not found" }
Get all proficiencies in this objectiveBank
get /objective-banks/{objectiveBankId}/proficiencies
Get all proficiencies in this objectiveBank
URI Parameters
- objectiveBankId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "learning.Proficiency:2698@base.url",
"uri": "http://base.url/open/campusapi/learning/proficiency/learning.Proficiency%3A2698%40base.url",
"displayName": "Display Name of this Proficiency",
"description": "The description of this Proficiency",
"genusTypeId": "type.Type:defaultProficiencyType@base.url",
"recordTypeIds": [ "type.Type:exampleProficiencyRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:2698@base.url",
"resourceId": "resource.Resource:7994@base.url",
"objectiveId": "learning.Objective:6037@base.url",
"completion": 3.14,
"levelId": "grading.Grade:6669@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given proficiency to this objectiveBank
Remove the given proficiency from the objectiveBank.
put /objective-banks/{objectiveBankId}/proficiencies/{proficiencyId}
Add the given proficiency to this objectiveBank
URI Parameters
- objectiveBankId: required(string)
- proficiencyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "proficiency has been added to objectiveBank" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "proficiency not found" }
delete /objective-banks/{objectiveBankId}/proficiencies/{proficiencyId}
Remove the given proficiency from the objectiveBank.
URI Parameters
- objectiveBankId: required(string)
- proficiencyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "proficiency has been removed" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "proficiency not found" }