CampusAPI Syllabus Services API documentation version 1.0.5
Based on OSID version 3.0.0
https://base.url/syllabus
Overview
The Course Syllabus package manages curriculum within a Course and relating the material to learning Objectives to create lesson plans. It may be defined very broadly or at a fine-grained level to facilitate the production of lesson Plans in the Course Plan service package.
This package includes the following entities:
Syllabi
A Syllabus is an entity representing the content of a Course. A Course may have multiple syllabi.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this syllabus, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this syllabus, provided by system. | string(uri) |
displayName | The name of this syllabus for display. | string |
description | The description of this syllabus. | string |
genusTypeId (read‑only) | Id of the immutable type of this syllabus. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this syllabus. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
courseId (read‑only) | The course associated with this syllabus. References a course.Course object. | string(osid‑id) |
Modules
A Module is a major division of a Syllabus. Modules may be toggled for inclusion in an overall Syllabus. Modules are subdivided into Docets.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this module, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this module, provided by system. | string(uri) |
displayName | The name of this module for display. | string |
description | The description of this module. | string |
genusTypeId (read‑only) | Id of the immutable type of this module. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this module. 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 module. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this module. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this module. | string |
active (read‑only) | Whether this module is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this module is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this module is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this module is operational. This module is operational if any of the applied enablers are true. | boolean |
syllabusId (read‑only) | The syllabus associated with this module. References a syllabus.Syllabus object. | string(osid‑id) |
Docets
A Docet is an relationship serving as a piece of content within a Module. A Docet relates to one or more learning Objectives. The learning Objectives visible through a Course may be built up using the Course Syllabus package.
Each Docet may include Assets for materials serving to instruct this portion of the Course or Assessments for quizzes and assignments.
A Docet may be a portion of an activity that is designated is in or out of class time and an estimated time duration. The Course Plan package can examine the in class Docets and their durations to understand the schedule of lesson plans through a CourseOffering in a Term.
Docets may apply to a subset of ActivityUnits with a Course.
Although Docets may be defined at very broad levels covering multiple learning Objectives and multiple ActivityUnits with long durations, when managed down to the level of a single Objective can serve to structure the lesson plan, homework assignments, and other exercises within a single instance of an Activity offering.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this docet, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this docet, provided by system. | string(uri) |
displayName | The name of this docet for display. | string |
description | The description of this docet. | string |
genusTypeId (read‑only) | Id of the immutable type of this docet. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this docet. 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 docet. | string(date‑time) |
endDate | The ending date of this docet. | string(date‑time) |
endReasonId | The reason this docet ended. References a process.State object. | string(osid‑id) |
moduleId (read‑only) | The module associated with this docet. References a syllabus.Module object. | string(osid‑id) |
activityUnitId (read‑only) | The activity unit associated with this docet. References a course.ActivityUnit object. | string(osid‑id) |
learningObjectiveIds | The learning objectives. References an array of learning.Objective objects. | string(osid‑id)[] |
inClass | Tests if this Docet occurs within an Activity or it outlines efforts spent outside a convened activity. | boolean |
duration | The estimated duration. | string(duration) |
assetIds | The assets distributed to the students. References an array of repository.Asset objects. | string(osid‑id)[] |
assessmentIds | The assessments. References an array of assessment.Assessment objects. | string(osid‑id)[] |
CourseCatalogs
Courses, ActivityUnits, CourseOfferings, Activities, and Terms can be organized into federateble catalogs. CourseCatalogs can be used to represent a set of CourseOfferings offered in a specific Term, year, or by subject area, sponsor, campus, etc.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this course catalog, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this course catalog, provided by system. | string(uri) |
displayName | The name of this course catalog for display. | string |
description | The description of this course catalog. | string |
genusTypeId (read‑only) | Id of the immutable type of this course catalog. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this course catalog. 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 course catalog. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this course catalog. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this course catalog. | string |
License
CampusAPI REST Documentation Copyright 2023 DXtera Institute. Based on the Open Service Interface Definitions: http://osid.org
/syllabi
Collection of Syllabi in a system, federation of systems, or in a default CourseCatalog.
Get all Syllabi in the system or default CourseCatalog.
Create a new Syllabus in the default CourseCatalog.
get /syllabi
Get all Syllabi in the system or default CourseCatalog.
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "course", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleSyllabusType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleSyllabusType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleSyllabusType%40campusapi.org
- courseId: (string)
the id string to match a course.
Example:
course.Course%3A288%40base.url
- courseCatalogId: (string)
The id string to match a courseCatalog
Example:
course.CourseCatalog%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "syllabus.Syllabus:656@base.url",
"uri": "http://base.url/open/campusapi/syllabus/syllabus/syllabus.Syllabus%3A656%40base.url",
"displayName": "Display Name of this Syllabus",
"description": "The description of this Syllabus",
"genusTypeId": "type.Type:defaultSyllabusType@base.url",
"recordTypeIds": [ "type.Type:exampleSyllabusRecordType@campusapi.org", "..."],
"courseId": "course.Course:3079@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /syllabi
Create a new Syllabus in the default CourseCatalog.
Query Parameters
- courseId: required(string)
the course of this syllabus.
Example:
course.Course%3A288%40base.url
- genusType: (string)
specify a particular syllabus type to create
Example:
type.Type%3AexampleSyllabusType%40dxtera.org
- recordType: (array of )
specify support for one or more syllabus record types
Example:
[ "type.Type%3AexampleSyllabusRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this syllabus
Example:
syllabus.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Syllabus",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this syllabus, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this syllabus, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this syllabus for display.",
"type": "string"
},
"description": {
"description": "The description of this syllabus.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this syllabus. 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 syllabus. 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
},
"courseId": {
"description": "The course associated with this syllabus.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Syllabus",
"description": "The description of this Syllabus"
}
Query the collection of Syllabi in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a SyllabusQuery object.
post /syllabi/syllabus-query
Submit a query using a SyllabusQuery object.
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "course", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "SyllabusQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchCourseIds": {
"description": "List of course Ids for this query to match syllabus that have a related course.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"courseQueries": {
"description": "CourseQueries to match the course. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCourseCatalogIds": {
"description": "List of CourseCatalog Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"courseCatalogId": {
"description": "Course Catalog id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"courseCatalogQueries": {
"description": "CourseCatalogQueries to match Course Catalog. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "syllabus.Syllabus:656@base.url",
"uri": "http://base.url/open/campusapi/syllabus/syllabus/syllabus.Syllabus%3A656%40base.url",
"displayName": "Display Name of this Syllabus",
"description": "The description of this Syllabus",
"genusTypeId": "type.Type:defaultSyllabusType@base.url",
"recordTypeIds": [ "type.Type:exampleSyllabusRecordType@campusapi.org", "..."],
"courseId": "course.Course:3079@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Syllabus form metadata.
Get form metadata for creating a new Syllabus.
get /syllabi/metadata
Get form metadata for creating a new Syllabus.
Query Parameters
- courseId: required(string)
the course of this metadatum.
Example:
course.Course%3A288%40base.url
- genusType: (string)
specify a particular syllabus type to create
Example:
type.Type%3AexampleSyllabusType%40dxtera.org
- recordType: (array of )
specify support for one or more syllabus record types
Example:
[ "type.Type%3AexampleSyllabusRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this syllabus
Example:
syllabus.CourseCatalog%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": "Syllabus",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this syllabus, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this syllabus, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this syllabus for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Syllabus.Syllabus:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this syllabus",
"linked": false
},
"description": {
"description": "The description of this syllabus.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Syllabus.Syllabus:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this syllabus",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this syllabus. 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 syllabus. 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
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Syllabus
Get a particular Syllabus given its id.
Update a particular Syllabus given its id.
Delete a particular Syllabus given its id.
get /syllabi/{syllabusId}
Get a particular Syllabus given its id.
URI Parameters
- syllabusId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "course", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "syllabus.Syllabus:656@base.url",
"uri": "http://base.url/open/campusapi/syllabus/syllabus/syllabus.Syllabus%3A656%40base.url",
"displayName": "Display Name of this Syllabus",
"description": "The description of this Syllabus",
"genusTypeId": "type.Type:defaultSyllabusType@base.url",
"recordTypeIds": [ "type.Type:exampleSyllabusRecordType@campusapi.org", "..."],
"courseId": "course.Course:3079@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": "Syllabus not found" }
put /syllabi/{syllabusId}
Update a particular Syllabus given its id.
URI Parameters
- syllabusId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Syllabus",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this syllabus, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this syllabus, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this syllabus for display.",
"type": "string"
},
"description": {
"description": "The description of this syllabus.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this syllabus. 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 syllabus. 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
},
"courseId": {
"description": "The course associated with this syllabus.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Syllabus",
"description": "The description of this Syllabus"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Syllabus 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": "Syllabus not found" }
delete /syllabi/{syllabusId}
Delete a particular Syllabus given its id.
URI Parameters
- syllabusId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Syllabus 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": "Syllabus not found" }
Entity representing a Syllabus form metadata for update
Get form metadata for updating an existing Syllabus.
get /syllabi/{syllabusId}/metadata
Get form metadata for updating an existing Syllabus.
URI Parameters
- syllabusId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Syllabus",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this syllabus, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this syllabus, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this syllabus for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Syllabus.Syllabus:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this syllabus",
"linked": false
},
"description": {
"description": "The description of this syllabus.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Syllabus.Syllabus:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this syllabus",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this syllabus. 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 syllabus. 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
}
}
}
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": "syllabus not found" }
/modules
Collection of Modules in a system, federation of systems, or in a default CourseCatalog.
Get all Modules in the system or default CourseCatalog.
Create a new Module in the default CourseCatalog.
get /modules
Get all Modules in the system or default CourseCatalog.
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "syllabus", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleModuleType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleModuleType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleModuleType%40campusapi.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3690%40demo.dxtera.org
- syllabusId: (string)
the id string to match a syllabus.
Example:
syllabus.Syllabus%3A384%40base.url
- courseCatalogId: (string)
The id string to match a courseCatalog
Example:
course.CourseCatalog%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "syllabus.Module:2743@base.url",
"uri": "http://base.url/open/campusapi/syllabus/module/syllabus.Module%3A2743%40base.url",
"displayName": "Display Name of this Module",
"description": "The description of this Module",
"genusTypeId": "type.Type:defaultModuleType@base.url",
"recordTypeIds": [ "type.Type:exampleModuleRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Module@base.url",
"license": "The license that applies to this Module",
"syllabusId": "course.syllabus.Syllabus:3956@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /modules
Create a new Module in the default CourseCatalog.
Query Parameters
- syllabusId: required(string)
the syllabus of this module.
Example:
syllabus.Syllabus%3A384%40base.url
- genusType: (string)
specify a particular module type to create
Example:
type.Type%3AexampleModuleType%40dxtera.org
- recordType: (array of )
specify support for one or more module record types
Example:
[ "type.Type%3AexampleModuleRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this module
Example:
syllabus.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Module",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this module, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this module, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this module for display.",
"type": "string"
},
"description": {
"description": "The description of this module.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this module. 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 module. 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 module.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this module. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this module.",
"type": "string"
},
"active": {
"description": "Whether this module is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this module is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this module is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this module is operational. This module is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"syllabusId": {
"description": "The syllabus associated with this module.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Module",
"description": "The description of this Module",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Module@base.url",
"license": "The license that applies to this Module"
}
Query the collection of Modules in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a ModuleQuery object.
post /modules/module-query
Submit a query using a ModuleQuery object.
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "syllabus", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ModuleQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchProviderIds": {
"description": "List of provider Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"providerQueries": {
"description": "resource.ResourceQuery for provider. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
},
"matchAnyProvider": {
"description": "Match providers with any value. true to match Module with any provider, false to match Module with no provider",
"type": "boolean"
}
},
"matchBrandingIds": {
"description": "List of branding asset Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"brandingQueries": {
"description": "repository.AssetQuery for branding. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyBranding": {
"description": "Match brandingss with any value. true to match Module with any branding, false to match Module with no branding",
"type": "boolean"
},
"matchlicenses": {
"description": "List of license strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"license": {
"description": "license to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchSyllabusIds": {
"description": "List of syllabus Ids for this query to match module that have a related syllabus.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"syllabusQueries": {
"description": "SyllabusQueries to match the syllabus. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCourseCatalogIds": {
"description": "List of CourseCatalog Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"courseCatalogId": {
"description": "Course Catalog id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"courseCatalogQueries": {
"description": "CourseCatalogQueries to match Course Catalog. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "syllabus.Module:2743@base.url",
"uri": "http://base.url/open/campusapi/syllabus/module/syllabus.Module%3A2743%40base.url",
"displayName": "Display Name of this Module",
"description": "The description of this Module",
"genusTypeId": "type.Type:defaultModuleType@base.url",
"recordTypeIds": [ "type.Type:exampleModuleRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Module@base.url",
"license": "The license that applies to this Module",
"syllabusId": "course.syllabus.Syllabus:3956@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Module form metadata.
Get form metadata for creating a new Module.
get /modules/metadata
Get form metadata for creating a new Module.
Query Parameters
- syllabusId: required(string)
the syllabus of this metadatum.
Example:
syllabus.Syllabus%3A384%40base.url
- genusType: (string)
specify a particular module type to create
Example:
type.Type%3AexampleModuleType%40dxtera.org
- recordType: (array of )
specify support for one or more module record types
Example:
[ "type.Type%3AexampleModuleRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this module
Example:
syllabus.CourseCatalog%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": "Module",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this module, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this module, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this module for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Module.Module:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this module",
"linked": false
},
"description": {
"description": "The description of this module.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Module.Module:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this module",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this module. 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 module. 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 module.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Module.Module:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this module",
"linked": false
},
"brandingIds": {
"description": "The branding of this module. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Module.Module:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this module",
"linked": false
},
"license": {
"description": "The licensing that applies to this module.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Module.Module:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this module",
"linked": false
},
"enabled": {
"description": "Whether this module is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Module.Module:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this module is enabled",
"linked": false
},
"disabled": {
"description": "Whether this module is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Module.Module:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this module is enabled",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Module
Get a particular Module given its id.
Update a particular Module given its id.
Delete a particular Module given its id.
get /modules/{moduleId}
Get a particular Module given its id.
URI Parameters
- moduleId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "syllabus", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "syllabus.Module:2743@base.url",
"uri": "http://base.url/open/campusapi/syllabus/module/syllabus.Module%3A2743%40base.url",
"displayName": "Display Name of this Module",
"description": "The description of this Module",
"genusTypeId": "type.Type:defaultModuleType@base.url",
"recordTypeIds": [ "type.Type:exampleModuleRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Module@base.url",
"license": "The license that applies to this Module",
"syllabusId": "course.syllabus.Syllabus:3956@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": "Module not found" }
put /modules/{moduleId}
Update a particular Module given its id.
URI Parameters
- moduleId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Module",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this module, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this module, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this module for display.",
"type": "string"
},
"description": {
"description": "The description of this module.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this module. 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 module. 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 module.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this module. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this module.",
"type": "string"
},
"active": {
"description": "Whether this module is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this module is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this module is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this module is operational. This module is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"syllabusId": {
"description": "The syllabus associated with this module.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Module",
"description": "The description of this Module",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Module@base.url",
"license": "The license that applies to this Module"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Module 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": "Module not found" }
delete /modules/{moduleId}
Delete a particular Module given its id.
URI Parameters
- moduleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Module 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": "Module not found" }
Entity representing a Module form metadata for update
Get form metadata for updating an existing Module.
get /modules/{moduleId}/metadata
Get form metadata for updating an existing Module.
URI Parameters
- moduleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Module",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this module, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this module, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this module for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Module.Module:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this module",
"linked": false
},
"description": {
"description": "The description of this module.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Module.Module:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this module",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this module. 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 module. 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 module.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Module.Module:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this module",
"linked": false
},
"brandingIds": {
"description": "The branding of this module. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Module.Module:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this module",
"linked": false
},
"license": {
"description": "The licensing that applies to this module.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Module.Module:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this module",
"linked": false
},
"enabled": {
"description": "Whether this module is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Module.Module:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this module is enabled",
"linked": false
},
"disabled": {
"description": "Whether this module is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Module.Module:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this module is enabled",
"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": "module not found" }
/docets
Collection of Docets in a system, federation of systems, or in a default CourseCatalog.
Get all Docets in the system or default CourseCatalog.
Create a new Docet in the default CourseCatalog.
get /docets
Get all Docets in the system or default CourseCatalog.
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "endReason", "learningObjectives", "assets", "assessments", "module", "activityUnit", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleDocetType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleDocetType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleDocetType%40campusapi.org
- fromDate: (string)
Get all docets from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all docets up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- moduleId: (string)
the id string to match a module.
Example:
syllabus.Module%3A240%40base.url
- activityUnitId: (string)
the id string to match a activity-unit.
Example:
course.ActivityUnit%3A390%40base.url
- courseCatalogId: (string)
The id string to match a courseCatalog
Example:
course.CourseCatalog%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "syllabus.Docet:9015@base.url",
"uri": "http://base.url/open/campusapi/syllabus/docet/syllabus.Docet%3A9015%40base.url",
"displayName": "Display Name of this Docet",
"description": "The description of this Docet",
"genusTypeId": "type.Type:defaultDocetType@base.url",
"recordTypeIds": [ "type.Type:exampleDocetRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:9015@base.url",
"moduleId": "course.syllabus.Module:1641@base.url",
"activityUnitId": "course.ActivityUnit:3402@base.url",
"learningObjectives": [ "learning.Objective:4152@base.url", "..." ],
"inClass": true,
"duration": "P3DT3H",
"assets": [ "repository.Asset:7816@base.url", "..." ],
"assessments": [ "assessment.Assessment:5153@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /docets
Create a new Docet in the default CourseCatalog.
Query Parameters
- moduleId: required(string)
the module of this docet.
Example:
syllabus.Module%3A240%40base.url
- activityUnitId: required(string)
the activity-unit of this docet.
Example:
course.ActivityUnit%3A390%40base.url
- genusType: (string)
specify a particular docet type to create
Example:
type.Type%3AexampleDocetType%40dxtera.org
- recordType: (array of )
specify support for one or more docet record types
Example:
[ "type.Type%3AexampleDocetRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this docet
Example:
syllabus.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Docet",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this docet, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this docet, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this docet for display.",
"type": "string"
},
"description": {
"description": "The description of this docet.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this docet. 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 docet. 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 docet.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this docet.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this docet ended.",
"type": "string",
"format": "osid-id"
},
"moduleId": {
"description": "The module associated with this docet.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"activityUnitId": {
"description": "The activity unit associated with this docet.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"learningObjectiveIds": {
"description": "The learning objectives.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
},
"inClass": {
"description": "Tests if this Docet occurs within an Activity or it outlines efforts spent outside a convened activity.",
"type": "boolean"
},
"duration": {
"description": "The estimated duration.",
"type": "string",
"format": "duration"
},
"assetIds": {
"description": "The assets distributed to the students.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
},
"assessmentIds": {
"description": "The assessments.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Docet",
"description": "The description of this Docet",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:5247@base.url",
"learningObjectives": [ "learning.Objective:7371@base.url", "..." ],
"inClass": true,
"duration": "P3DT3H",
"assets": [ "repository.Asset:6411@base.url", "..." ],
"assessments": [ "assessment.Assessment:5133@base.url", "..." ]
}
Query the collection of Docets in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a DocetQuery object.
post /docets/docet-query
Submit a query using a DocetQuery object.
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "endReason", "learningObjectives", "assets", "assessments", "module", "activityUnit", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "DocetQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchEffective": {
"description": "Match effective objects where the current date falls within the start and end dates inclusive. true to match any effective, false to match ineffective",
"type": "boolean"
},
"matchStartDate": {
"description": "Matches temporals whose start date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchEndDate": {
"description": "Matches temporals whose end date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchEndReasonIds": {
"description": "List of end reason Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"endReasonQueries": {
"description": "process.StateQueries to match end reason state. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyEndReason": {
"description": "Match end reasons with any value. true to match Docets with any end reason, false to match Docets with no end reason",
"type": "boolean"
},
"matchModuleIds": {
"description": "List of module Ids for this query to match docet that have a related module.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"moduleQueries": {
"description": "ModuleQueries to match the module. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchActivityUnitIds": {
"description": "List of activityUnit Ids for this query to match docet that have a related activityUnit.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"activityUnitQueries": {
"description": "ActivityUnitQueries to match the activityUnit. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchLearningObjectiveIds": {
"description": "List of Objective Ids for this query to match learningObjectives.",
"type": "array",
"items": {
"type": "object",
"properties": {
"learningObjectiveId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"learningObjectiveQueries": {
"description": "learning.ObjectiveQueries to match the Learning Objectives. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyLearningObjective": {
"description": "Match learning objectives with any value. true to match Docets with any learning objectives, false to match Docets with no learning objectives",
"type": "boolean"
},
"matchInClass": {
"description": "Match boolean value for inClass.",
"type": "object",
"properties": {
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
},
"matchDuration": {
"description": "Matches durations in the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "start range",
"type": "string",
"format": "duration"
},
"to": {
"description": "end range",
"type": "string",
"format": "duration"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyDuration": {
"description": "Match durations with any value. true to match Docets with any duration, false to match ProgramOfferings with no duration",
"type": "boolean"
},
"matchAssetIds": {
"description": "List of Asset Ids for this query to match assets.",
"type": "array",
"items": {
"type": "object",
"properties": {
"assetId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"assetQueries": {
"description": "repository.AssetQueries to match the Assets. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyAsset": {
"description": "Match assets with any value. true to match Docets with any assets, false to match Docets with no assets",
"type": "boolean"
},
"matchAssessmentIds": {
"description": "List of Assessment Ids for this query to match assessments.",
"type": "array",
"items": {
"type": "object",
"properties": {
"assessmentId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"assessmentQueries": {
"description": "assessment.AssessmentQueries to match the Assessments. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyAssessment": {
"description": "Match assessments with any value. true to match Docets with any assessments, false to match Docets with no assessments",
"type": "boolean"
},
"matchCourseCatalogIds": {
"description": "List of CourseCatalog Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"courseCatalogId": {
"description": "Course Catalog id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"courseCatalogQueries": {
"description": "CourseCatalogQueries to match Course Catalog. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "syllabus.Docet:9015@base.url",
"uri": "http://base.url/open/campusapi/syllabus/docet/syllabus.Docet%3A9015%40base.url",
"displayName": "Display Name of this Docet",
"description": "The description of this Docet",
"genusTypeId": "type.Type:defaultDocetType@base.url",
"recordTypeIds": [ "type.Type:exampleDocetRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:9015@base.url",
"moduleId": "course.syllabus.Module:1641@base.url",
"activityUnitId": "course.ActivityUnit:3402@base.url",
"learningObjectives": [ "learning.Objective:4152@base.url", "..." ],
"inClass": true,
"duration": "P3DT3H",
"assets": [ "repository.Asset:7816@base.url", "..." ],
"assessments": [ "assessment.Assessment:5153@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Docet form metadata.
Get form metadata for creating a new Docet.
get /docets/metadata
Get form metadata for creating a new Docet.
Query Parameters
- moduleId: required(string)
the module of this metadatum.
Example:
syllabus.Module%3A240%40base.url
- activityUnitId: required(string)
the activity-unit of this metadatum.
Example:
course.ActivityUnit%3A390%40base.url
- genusType: (string)
specify a particular docet type to create
Example:
type.Type%3AexampleDocetType%40dxtera.org
- recordType: (array of )
specify support for one or more docet record types
Example:
[ "type.Type%3AexampleDocetRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this docet
Example:
syllabus.CourseCatalog%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": "Docet",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this docet, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this docet, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this docet for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this docet",
"linked": false
},
"description": {
"description": "The description of this docet.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this docet",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this docet. 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 docet. 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 docet.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this docet",
"linked": false
},
"endDate": {
"description": "The ending date of this docet.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this docet",
"linked": false
},
"endReasonId": {
"description": "The reason this docet ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this docet ended",
"linked": false
},
"learningObjectives": {
"description": "The learning objectives.",
"type": "array",
"elementId": "course.syllabus.Docet:learningObjectives@dxtera.org",
"existingValue": [],
"elementLabel": "Learning Objectives",
"instructions": "Enter Ids for learning objectives of this docet.",
"linked": false
},
"inClass": {
"description": "Tests if this Docet occurs within an Activity or it outlines efforts spent outside a convened activity.",
"type": "boolean",
"elementId": "course.syllabus.Docet:inClass@dxtera.org",
"existingValue": false,
"elementLabel": "In Class",
"instructions": "Enter true or false.",
"linked": false
},
"duration": {
"description": "The estimated duration.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.syllabus.Docet:duration@dxtera.org",
"existingValue": "",
"elementLabel": "Duration",
"instructions": "Enter the duration of this docet.",
"linked": false
},
"assets": {
"description": "The assets distributed to the students.",
"type": "array",
"elementId": "course.syllabus.Docet:assets@dxtera.org",
"existingValue": [],
"elementLabel": "Assets",
"instructions": "Enter Ids for assets of this docet.",
"linked": false
},
"assessments": {
"description": "The assessments.",
"type": "array",
"elementId": "course.syllabus.Docet:assessments@dxtera.org",
"existingValue": [],
"elementLabel": "Assessments",
"instructions": "Enter Ids for assessments of this docet.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Docet
Get a particular Docet given its id.
Update a particular Docet given its id.
Delete a particular Docet given its id.
get /docets/{docetId}
Get a particular Docet given its id.
URI Parameters
- docetId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "endReason", "learningObjectives", "assets", "assessments", "module", "activityUnit", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "syllabus.Docet:9015@base.url",
"uri": "http://base.url/open/campusapi/syllabus/docet/syllabus.Docet%3A9015%40base.url",
"displayName": "Display Name of this Docet",
"description": "The description of this Docet",
"genusTypeId": "type.Type:defaultDocetType@base.url",
"recordTypeIds": [ "type.Type:exampleDocetRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:9015@base.url",
"moduleId": "course.syllabus.Module:1641@base.url",
"activityUnitId": "course.ActivityUnit:3402@base.url",
"learningObjectives": [ "learning.Objective:4152@base.url", "..." ],
"inClass": true,
"duration": "P3DT3H",
"assets": [ "repository.Asset:7816@base.url", "..." ],
"assessments": [ "assessment.Assessment:5153@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": "Docet not found" }
put /docets/{docetId}
Update a particular Docet given its id.
URI Parameters
- docetId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Docet",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this docet, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this docet, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this docet for display.",
"type": "string"
},
"description": {
"description": "The description of this docet.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this docet. 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 docet. 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 docet.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this docet.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this docet ended.",
"type": "string",
"format": "osid-id"
},
"moduleId": {
"description": "The module associated with this docet.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"activityUnitId": {
"description": "The activity unit associated with this docet.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"learningObjectiveIds": {
"description": "The learning objectives.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
},
"inClass": {
"description": "Tests if this Docet occurs within an Activity or it outlines efforts spent outside a convened activity.",
"type": "boolean"
},
"duration": {
"description": "The estimated duration.",
"type": "string",
"format": "duration"
},
"assetIds": {
"description": "The assets distributed to the students.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
},
"assessmentIds": {
"description": "The assessments.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Docet",
"description": "The description of this Docet",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:5247@base.url",
"learningObjectives": [ "learning.Objective:7371@base.url", "..." ],
"inClass": true,
"duration": "P3DT3H",
"assets": [ "repository.Asset:6411@base.url", "..." ],
"assessments": [ "assessment.Assessment:5133@base.url", "..." ]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Docet 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": "Docet not found" }
delete /docets/{docetId}
Delete a particular Docet given its id.
URI Parameters
- docetId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Docet 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": "Docet not found" }
Entity representing a Docet form metadata for update
Get form metadata for updating an existing Docet.
get /docets/{docetId}/metadata
Get form metadata for updating an existing Docet.
URI Parameters
- docetId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Docet",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this docet, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this docet, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this docet for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this docet",
"linked": false
},
"description": {
"description": "The description of this docet.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this docet",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this docet. 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 docet. 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 docet.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this docet",
"linked": false
},
"endDate": {
"description": "The ending date of this docet.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this docet",
"linked": false
},
"endReasonId": {
"description": "The reason this docet ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Docet.Docet:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this docet ended",
"linked": false
},
"learningObjectives": {
"description": "The learning objectives.",
"type": "array",
"elementId": "course.syllabus.Docet:learningObjectives@dxtera.org",
"existingValue": [],
"elementLabel": "Learning Objectives",
"instructions": "Enter Ids for learning objectives of this docet.",
"linked": false
},
"inClass": {
"description": "Tests if this Docet occurs within an Activity or it outlines efforts spent outside a convened activity.",
"type": "boolean",
"elementId": "course.syllabus.Docet:inClass@dxtera.org",
"existingValue": false,
"elementLabel": "In Class",
"instructions": "Enter true or false.",
"linked": false
},
"duration": {
"description": "The estimated duration.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.syllabus.Docet:duration@dxtera.org",
"existingValue": "",
"elementLabel": "Duration",
"instructions": "Enter the duration of this docet.",
"linked": false
},
"assets": {
"description": "The assets distributed to the students.",
"type": "array",
"elementId": "course.syllabus.Docet:assets@dxtera.org",
"existingValue": [],
"elementLabel": "Assets",
"instructions": "Enter Ids for assets of this docet.",
"linked": false
},
"assessments": {
"description": "The assessments.",
"type": "array",
"elementId": "course.syllabus.Docet:assessments@dxtera.org",
"existingValue": [],
"elementLabel": "Assessments",
"instructions": "Enter Ids for assessments of this docet.",
"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": "docet not found" }
/course-catalogs
Collection of CourseCatalogs in a system or federation of systems.
Get all CourseCatalogs.
Create a new CourseCatalog.
get /course-catalogs
Get all CourseCatalogs.
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "provider", "branding", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCourseCatalogType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCourseCatalogType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCourseCatalogType%40campusapi.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org
- syllabusId: (string)
Get course-catalogs mapped to this syllabus.
Example:
syllabus.Syllabus%3A832%40demo.dxtera.org
- moduleId: (string)
Get course-catalogs mapped to this module.
Example:
syllabus.Module%3A624%40demo.dxtera.org
- docetId: (string)
Get course-catalogs mapped to this docet.
Example:
syllabus.Docet%3A520%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "course.CourseCatalog:8936@base.url",
"uri": "http://base.url/open/campusapi/course/courseCatalog/course.CourseCatalog%3A8936%40base.url",
"displayName": "Display Name of this CourseCatalog",
"description": "The description of this CourseCatalog",
"genusTypeId": "type.Type:defaultCourseCatalogType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseCatalogRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:CourseCatalog@base.url",
"license": "The license that applies to this CourseCatalog"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /course-catalogs
Create a new CourseCatalog.
Query Parameters
- genusType: (string)
specify a particular courseCatalog type to create
Example:
type.Type%3AexampleCourseCatalogType%40dxtera.org
- recordType: (array of )
specify support for one or more courseCatalog record types
Example:
[ "type.Type%3AexampleCourseCatalogRecordType%40campusapi.org", "..." ]
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "CourseCatalog",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this course catalog, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this course catalog, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this course catalog for display.",
"type": "string"
},
"description": {
"description": "The description of this course catalog.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this course catalog. 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 course catalog. 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 course catalog.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this course catalog. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this course catalog.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this CourseCatalog",
"description": "The description of this CourseCatalog",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:CourseCatalog@base.url",
"license": "The license that applies to this CourseCatalog"
}
Query the collection of CourseCatalogs in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a CourseCatalogQuery object.
post /course-catalogs/course-catalog-query
Submit a query using a CourseCatalogQuery object.
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
- expand: (string)
Expand object or type for named attribute: , or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "CourseCatalogQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchProviderIds": {
"description": "List of provider Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"providerQueries": {
"description": "resource.ResourceQuery for provider. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
},
"matchAnyProvider": {
"description": "Match providers with any value. true to match CourseCatalog with any provider, false to match CourseCatalog with no provider",
"type": "boolean"
}
},
"matchBrandingIds": {
"description": "List of branding asset Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"brandingQueries": {
"description": "repository.AssetQuery for branding. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyBranding": {
"description": "Match brandingss with any value. true to match CourseCatalog with any branding, false to match CourseCatalog with no branding",
"type": "boolean"
},
"matchlicenses": {
"description": "List of license strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"license": {
"description": "license to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchCourseCatalogIds": {
"description": "List of CourseCatalog Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"courseCatalogId": {
"description": "Course Catalog id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"courseCatalogQueries": {
"description": "CourseCatalogQueries to match Course Catalog. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "course.CourseCatalog:8936@base.url",
"uri": "http://base.url/open/campusapi/course/courseCatalog/course.CourseCatalog%3A8936%40base.url",
"displayName": "Display Name of this CourseCatalog",
"description": "The description of this CourseCatalog",
"genusTypeId": "type.Type:defaultCourseCatalogType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseCatalogRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:CourseCatalog@base.url",
"license": "The license that applies to this CourseCatalog"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a CourseCatalog form metadata.
Get form metadata for creating a new CourseCatalog.
get /course-catalogs/metadata
Get form metadata for creating a new CourseCatalog.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "CourseCatalog",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this course catalog, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this course catalog, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this course catalog for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseCatalog.CourseCatalog:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this course catalog",
"linked": false
},
"description": {
"description": "The description of this course catalog.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseCatalog.CourseCatalog:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this course catalog",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this course catalog. 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 course catalog. 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 course catalog.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseCatalog.CourseCatalog:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this course catalog",
"linked": false
},
"brandingIds": {
"description": "The branding of this course catalog. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "CourseCatalog.CourseCatalog:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this course catalog",
"linked": false
},
"license": {
"description": "The licensing that applies to this course catalog.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseCatalog.CourseCatalog:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this course catalog",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root CourseCatalogs in the CourseCatalog hierarchy. A node with no parents is an orphan. While all CourseCatalog 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-course-catalog
get /course-catalogs/root-course-catalog
Get all root root-course-catalog
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "course.CourseCatalog:8936@base.url",
"uri": "http://base.url/open/campusapi/course/courseCatalog/course.CourseCatalog%3A8936%40base.url",
"displayName": "Display Name of this CourseCatalog",
"description": "The description of this CourseCatalog",
"genusTypeId": "type.Type:defaultCourseCatalogType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseCatalogRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:CourseCatalog@base.url",
"license": "The license that applies to this CourseCatalog"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a CourseCatalog
Get a particular CourseCatalog given its id.
Update a particular CourseCatalog given its id.
Delete a particular CourseCatalog given its id.
get /course-catalogs/{courseCatalogId}
Get a particular CourseCatalog given its id.
URI Parameters
- courseCatalogId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "course.CourseCatalog:8936@base.url",
"uri": "http://base.url/open/campusapi/course/courseCatalog/course.CourseCatalog%3A8936%40base.url",
"displayName": "Display Name of this CourseCatalog",
"description": "The description of this CourseCatalog",
"genusTypeId": "type.Type:defaultCourseCatalogType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseCatalogRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:CourseCatalog@base.url",
"license": "The license that applies to this CourseCatalog"
}
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": "CourseCatalog not found" }
put /course-catalogs/{courseCatalogId}
Update a particular CourseCatalog given its id.
URI Parameters
- courseCatalogId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "CourseCatalog",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this course catalog, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this course catalog, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this course catalog for display.",
"type": "string"
},
"description": {
"description": "The description of this course catalog.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this course catalog. 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 course catalog. 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 course catalog.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this course catalog. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this course catalog.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this CourseCatalog",
"description": "The description of this CourseCatalog",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:CourseCatalog@base.url",
"license": "The license that applies to this CourseCatalog"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The CourseCatalog 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": "CourseCatalog not found" }
delete /course-catalogs/{courseCatalogId}
Delete a particular CourseCatalog given its id.
URI Parameters
- courseCatalogId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The CourseCatalog 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": "CourseCatalog not found" }
Entity representing a CourseCatalog form metadata for update
Get form metadata for updating an existing CourseCatalog.
get /course-catalogs/{courseCatalogId}/metadata
Get form metadata for updating an existing CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "CourseCatalog",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this course catalog, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this course catalog, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this course catalog for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseCatalog.CourseCatalog:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this course catalog",
"linked": false
},
"description": {
"description": "The description of this course catalog.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseCatalog.CourseCatalog:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this course catalog",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this course catalog. 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 course catalog. 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 course catalog.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseCatalog.CourseCatalog:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this course catalog",
"linked": false
},
"brandingIds": {
"description": "The branding of this course catalog. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "CourseCatalog.CourseCatalog:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this course catalog",
"linked": false
},
"license": {
"description": "The licensing that applies to this course catalog.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseCatalog.CourseCatalog:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this course catalog",
"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": "courseCatalog not found" }
Get child CourseCatalogs for the given CourseCatalog in the hierarchy.
get /course-catalogs/{courseCatalogId}/children
Get child CourseCatalogs for the given CourseCatalog in the hierarchy.
URI Parameters
- courseCatalogId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "course.CourseCatalog:8936@base.url",
"uri": "http://base.url/open/campusapi/course/courseCatalog/course.CourseCatalog%3A8936%40base.url",
"displayName": "Display Name of this CourseCatalog",
"description": "The description of this CourseCatalog",
"genusTypeId": "type.Type:defaultCourseCatalogType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseCatalogRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:CourseCatalog@base.url",
"license": "The license that applies to this CourseCatalog"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add CourseCatalog as child of the given CourseCatalog in the hierarchy.
Remove the given CourseCatalog as a child of the given CourseCatalog in the hierarchy.
put /course-catalogs/{courseCatalogId}/children/{childId}
Add CourseCatalog as child of the given CourseCatalog in the hierarchy.
URI Parameters
- courseCatalogId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child CourseCatalog 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": "courseCatalog not found" }
delete /course-catalogs/{courseCatalogId}/children/{childId}
Remove the given CourseCatalog as a child of the given CourseCatalog in the hierarchy.
URI Parameters
- courseCatalogId: required(string)
- childId: required(string)
Get parent CourseCatalogs for the given CourseCatalog in the hierarchy.
get /course-catalogs/{courseCatalogId}/parents
Get parent CourseCatalogs for the given CourseCatalog in the hierarchy.
URI Parameters
- courseCatalogId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "course.CourseCatalog:8936@base.url",
"uri": "http://base.url/open/campusapi/course/courseCatalog/course.CourseCatalog%3A8936%40base.url",
"displayName": "Display Name of this CourseCatalog",
"description": "The description of this CourseCatalog",
"genusTypeId": "type.Type:defaultCourseCatalogType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseCatalogRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:CourseCatalog@base.url",
"license": "The license that applies to this CourseCatalog"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get all Syllabi in this CourseCatalog
get /course-catalogs/{courseCatalogId}/syllabi
Get all Syllabi in this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "course", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleSyllabusType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleSyllabusType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleSyllabusType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "syllabus.Syllabus:656@base.url",
"uri": "http://base.url/open/campusapi/syllabus/syllabus/syllabus.Syllabus%3A656%40base.url",
"displayName": "Display Name of this Syllabus",
"description": "The description of this Syllabus",
"genusTypeId": "type.Type:defaultSyllabusType@base.url",
"recordTypeIds": [ "type.Type:exampleSyllabusRecordType@campusapi.org", "..."],
"courseId": "course.Course:3079@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Syllabus to this CourseCatalog
Remove the given Syllabus from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/syllabi/{syllabusId}
Add the given Syllabus to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- syllabusId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Syllabus has been added to CourseCatalog" }
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": "Syllabus not found" }
delete /course-catalogs/{courseCatalogId}/syllabi/{syllabusId}
Remove the given Syllabus from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- syllabusId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Syllabus 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": "Syllabus not found" }
Get all Modules in this CourseCatalog
get /course-catalogs/{courseCatalogId}/modules
Get all Modules in this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "syllabus", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleModuleType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleModuleType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleModuleType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "syllabus.Module:2743@base.url",
"uri": "http://base.url/open/campusapi/syllabus/module/syllabus.Module%3A2743%40base.url",
"displayName": "Display Name of this Module",
"description": "The description of this Module",
"genusTypeId": "type.Type:defaultModuleType@base.url",
"recordTypeIds": [ "type.Type:exampleModuleRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Module@base.url",
"license": "The license that applies to this Module",
"syllabusId": "course.syllabus.Syllabus:3956@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Module to this CourseCatalog
Remove the given Module from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/modules/{moduleId}
Add the given Module to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- moduleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Module has been added to CourseCatalog" }
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": "Module not found" }
delete /course-catalogs/{courseCatalogId}/modules/{moduleId}
Remove the given Module from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- moduleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Module 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": "Module not found" }
Get all Docets in this CourseCatalog
get /course-catalogs/{courseCatalogId}/docets
Get all Docets in this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "endReason", "learningObjectives", "assets", "assessments", "module", "activityUnit", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleDocetType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleDocetType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleDocetType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "syllabus.Docet:9015@base.url",
"uri": "http://base.url/open/campusapi/syllabus/docet/syllabus.Docet%3A9015%40base.url",
"displayName": "Display Name of this Docet",
"description": "The description of this Docet",
"genusTypeId": "type.Type:defaultDocetType@base.url",
"recordTypeIds": [ "type.Type:exampleDocetRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:9015@base.url",
"moduleId": "course.syllabus.Module:1641@base.url",
"activityUnitId": "course.ActivityUnit:3402@base.url",
"learningObjectives": [ "learning.Objective:4152@base.url", "..." ],
"inClass": true,
"duration": "P3DT3H",
"assets": [ "repository.Asset:7816@base.url", "..." ],
"assessments": [ "assessment.Assessment:5153@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Docet to this CourseCatalog
Remove the given Docet from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/docets/{docetId}
Add the given Docet to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- docetId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Docet has been added to CourseCatalog" }
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": "Docet not found" }
delete /course-catalogs/{courseCatalogId}/docets/{docetId}
Remove the given Docet from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- docetId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Docet 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": "Docet not found" }