CampusAPI Registration Services API documentation version 1.0.5
Based on OSID version 3.0.0
https://base.url/registration
Overview
The Registration service package provides functionality for managing student registrations for courses and course activities.
This package includes the following entities:
ActivityBundles
An ActivityBundle is a set of activities within a CourseOffering in which a student can register. A CourseOffering may have a variety of activity offerings and the activity bundle groups sets of these offerings together. For example, each section of a class may have a lecture and a lab but multiple labs may be offered. For each valid registration option grouping together a lecture and one of the offered labs is presented as an ActivityBundle.
Some registration mechanisms only require a registration at the CourseOffering level and do not permit students to select below that level. In this case, a single ActivityBundle is created for the top level CourseOffering.
ActivityBundles may further constrain the grading and credit options defined at the CourseOffering level.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this activity bundle, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this activity bundle, provided by system. | string(uri) |
displayName | The name of this activity bundle for display. | string |
description | The description of this activity bundle. | string |
genusTypeId (read‑only) | Id of the immutable type of this activity bundle. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this activity bundle. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
courseOfferingId (read‑only) | The course offering associated with this activity bundle. References a course.CourseOffering object. | string(osid‑id) |
credits | The number of credits available to register for in this course. | number[] |
gradingOptionIds | The various grading options available to register in this course. References an array of grading.GradeSystem objects. | string(osid‑id)[] |
Registrations
A Registration is relationship between a Resource (typically a student) and an ActivityBundle.
Currently, transactional submission of Registrations across multiple CourseOfferings is not defined but transactional submission may be abstractly performed in the Ordering Service. Similarly, management of waitlists may be performed in the Provisioning Service although there is no management of waitlist behavior through CourseOfferings and ActivityBundles.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this registration, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this registration, provided by system. | string(uri) |
displayName | The name of this registration for display. | string |
description | The description of this registration. | string |
genusTypeId (read‑only) | Id of the immutable type of this registration. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this registration. 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 registration. | string(date‑time) |
endDate | The ending date of this registration. | string(date‑time) |
endReasonId | The reason this registration ended. References a process.State object. | string(osid‑id) |
activityBundleId (read‑only) | The activity bundle associated with this registration. References a registration.ActivityBundle object. | string(osid‑id) |
studentId (read‑only) | The student associated with this registration. References a resource.Resource object. | string(osid‑id) |
credits | The number of credits the student is registered to earn. | number[] |
gradingOptionId | The grading option for this registration. References a grading.GradeSystem object | string(osid‑id) |
ActivityRegistrations
An ActivityRegistration is an OsidRelationship between a Resource and an Activity. ActivityRegistrations permit hanging data off of each Activity. ActivityRegistrations may be implicitly created upon the creation of a Registration.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this activity registration, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this activity registration, provided by system. | string(uri) |
displayName | The name of this activity registration for display. | string |
description | The description of this activity registration. | string |
genusTypeId (read‑only) | Id of the immutable type of this activity registration. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this activity registration. 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 activity registration. | string(date‑time) |
endDate | The ending date of this activity registration. | string(date‑time) |
endReasonId | The reason this activity registration ended. References a process.State object. | string(osid‑id) |
registrationId (read‑only) | The registration associated with this activity registration. References a registration.Registration object. | string(osid‑id) |
activityId (read‑only) | The activity associated with this activity registration. References a course.Activity object. | string(osid‑id) |
studentId (read‑only) | The student associated with this activity registration. References a resource.Resource object. | 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
/activity-bundles
Collection of ActivityBundles in a system, federation of systems, or in a default CourseCatalog.
Get all ActivityBundles in the system or default CourseCatalog.
Create a new ActivityBundle in the default CourseCatalog.
get /activity-bundles
Get all ActivityBundles 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", "gradingOptions", "courseOffering", 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%3AexampleActivityBundleType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleActivityBundleType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleActivityBundleType%40campusapi.org
- courseOfferingId: (string)
the id string to match a course-offering.
Example:
course.CourseOffering%3A1260%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": "registration.ActivityBundle:2319@base.url",
"uri": "http://base.url/open/campusapi/registration/activity_bundle/registration.ActivityBundle%3A2319%40base.url",
"displayName": "Display Name of this ActivityBundle",
"description": "The description of this ActivityBundle",
"genusTypeId": "type.Type:defaultActivityBundleType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityBundleRecordType@campusapi.org", "..."],
"courseOfferingId": "course.CourseOffering:9862@base.url",
"credits": [3, 3, 1],
"gradingOptionIds": [ "grading.GradeSystem:8428@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /activity-bundles
Create a new ActivityBundle in the default CourseCatalog.
Query Parameters
- courseOfferingId: required(string)
the course-offering of this activity-bundle.
Example:
course.CourseOffering%3A1260%40base.url
- genusType: (string)
specify a particular activityBundle type to create
Example:
type.Type%3AexampleActivityBundleType%40dxtera.org
- recordType: (array of )
specify support for one or more activityBundle record types
Example:
[ "type.Type%3AexampleActivityBundleRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this activityBundle
Example:
registration.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ActivityBundle",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this activity bundle, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity bundle, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity bundle for display.",
"type": "string"
},
"description": {
"description": "The description of this activity bundle.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this activity bundle. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity bundle. 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
},
"courseOfferingId": {
"description": "The course offering associated with this activity bundle.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"credits": {
"description": "The number of credits available to register for in this course.",
"type": "array",
"items": {
"type": "number"
}
},
"gradingOptionIds": {
"description": "The various grading options available to register in this course.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this ActivityBundle",
"description": "The description of this ActivityBundle",
"credits": [5, 5, 2],
"gradingOptionIds": [ "grading.GradeSystem:2919@base.url", "..." ]
}
Query the collection of ActivityBundles in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a ActivityBundleQuery object.
post /activity-bundles/activity-bundle-query
Submit a query using a ActivityBundleQuery 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", "gradingOptions", "courseOffering", 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": "ActivityBundleQuery",
"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"
}
}
}
},
"matchCourseOfferingIds": {
"description": "List of courseOffering Ids for this query to match activity bundle that have a related courseOffering.",
"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"
}
}
}
},
"courseOfferingQueries": {
"description": "CourseOfferingQueries to match the courseOffering. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCredits": {
"description": "Match Credits within the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "starting value",
"type": "number"
},
"to": {
"description": "ending value",
"type": "number"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyCredits": {
"description": "Match credits with any value. true to match ActivityBundles with any credits, false to match ProgramOfferings with no credits",
"type": "boolean"
},
"matchGradingOptionIds": {
"description": "List of GradeSystem Ids for this query to match gradingOptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"gradingOptionId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"gradingOptionQueries": {
"description": "grading.GradeSystemQueries to match the Grading Options. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyGradingOption": {
"description": "Match grading options with any value. true to match ActivityBundles with any grading options, false to match ActivityBundles with no grading options",
"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": "registration.ActivityBundle:2319@base.url",
"uri": "http://base.url/open/campusapi/registration/activity_bundle/registration.ActivityBundle%3A2319%40base.url",
"displayName": "Display Name of this ActivityBundle",
"description": "The description of this ActivityBundle",
"genusTypeId": "type.Type:defaultActivityBundleType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityBundleRecordType@campusapi.org", "..."],
"courseOfferingId": "course.CourseOffering:9862@base.url",
"credits": [3, 3, 1],
"gradingOptionIds": [ "grading.GradeSystem:8428@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a ActivityBundle form metadata.
Get form metadata for creating a new ActivityBundle.
get /activity-bundles/metadata
Get form metadata for creating a new ActivityBundle.
Query Parameters
- courseOfferingId: required(string)
the course-offering of this metadatum.
Example:
course.CourseOffering%3A1260%40base.url
- genusType: (string)
specify a particular activityBundle type to create
Example:
type.Type%3AexampleActivityBundleType%40dxtera.org
- recordType: (array of )
specify support for one or more activityBundle record types
Example:
[ "type.Type%3AexampleActivityBundleRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this activityBundle
Example:
registration.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": "ActivityBundle",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this activity bundle, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity bundle, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity bundle for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityBundle.ActivityBundle:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this activity bundle",
"linked": false
},
"description": {
"description": "The description of this activity bundle.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityBundle.ActivityBundle:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this activity bundle",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this activity bundle. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity bundle. 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
},
"credits": {
"description": "The number of credits available to register for in this course.",
"type": "array",
"items": {
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"enum": []
},
"default": [],
"elementId": "course.registration.ActivityBundle:credits@dxtera.org",
"existingValue": [3.14, 1.414, 2.71828],
"elementLabel": "Credits",
"instructions": "Enter the credits of this activity bundle.",
"linked": false
},
"gradingOptionIds": {
"description": "The various grading options available to register in this course.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "course.registration.ActivityBundle:gradingOptions@dxtera.org",
"existingValue": [],
"elementLabel": "Grading Options",
"instructions": "Enter Ids for grading options of this activity bundle.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a ActivityBundle
Get a particular ActivityBundle given its id.
Update a particular ActivityBundle given its id.
Delete a particular ActivityBundle given its id.
get /activity-bundles/{activityBundleId}
Get a particular ActivityBundle given its id.
URI Parameters
- activityBundleId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "gradingOptions", "courseOffering", 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": "registration.ActivityBundle:2319@base.url",
"uri": "http://base.url/open/campusapi/registration/activity_bundle/registration.ActivityBundle%3A2319%40base.url",
"displayName": "Display Name of this ActivityBundle",
"description": "The description of this ActivityBundle",
"genusTypeId": "type.Type:defaultActivityBundleType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityBundleRecordType@campusapi.org", "..."],
"courseOfferingId": "course.CourseOffering:9862@base.url",
"credits": [3, 3, 1],
"gradingOptionIds": [ "grading.GradeSystem:8428@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": "ActivityBundle not found" }
put /activity-bundles/{activityBundleId}
Update a particular ActivityBundle given its id.
URI Parameters
- activityBundleId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ActivityBundle",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this activity bundle, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity bundle, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity bundle for display.",
"type": "string"
},
"description": {
"description": "The description of this activity bundle.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this activity bundle. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity bundle. 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
},
"courseOfferingId": {
"description": "The course offering associated with this activity bundle.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"credits": {
"description": "The number of credits available to register for in this course.",
"type": "array",
"items": {
"type": "number"
}
},
"gradingOptionIds": {
"description": "The various grading options available to register in this course.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this ActivityBundle",
"description": "The description of this ActivityBundle",
"credits": [5, 5, 2],
"gradingOptionIds": [ "grading.GradeSystem:2919@base.url", "..." ]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The ActivityBundle 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": "ActivityBundle not found" }
delete /activity-bundles/{activityBundleId}
Delete a particular ActivityBundle given its id.
URI Parameters
- activityBundleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The ActivityBundle 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": "ActivityBundle not found" }
Entity representing a ActivityBundle form metadata for update
Get form metadata for updating an existing ActivityBundle.
get /activity-bundles/{activityBundleId}/metadata
Get form metadata for updating an existing ActivityBundle.
URI Parameters
- activityBundleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "ActivityBundle",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this activity bundle, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity bundle, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity bundle for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityBundle.ActivityBundle:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this activity bundle",
"linked": false
},
"description": {
"description": "The description of this activity bundle.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityBundle.ActivityBundle:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this activity bundle",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this activity bundle. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity bundle. 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
},
"credits": {
"description": "The number of credits available to register for in this course.",
"type": "array",
"items": {
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"enum": []
},
"default": [],
"elementId": "course.registration.ActivityBundle:credits@dxtera.org",
"existingValue": [3.14, 1.414, 2.71828],
"elementLabel": "Credits",
"instructions": "Enter the credits of this activity bundle.",
"linked": false
},
"gradingOptionIds": {
"description": "The various grading options available to register in this course.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "course.registration.ActivityBundle:gradingOptions@dxtera.org",
"existingValue": [],
"elementLabel": "Grading Options",
"instructions": "Enter Ids for grading options of this activity bundle.",
"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": "activityBundle not found" }
/registrations
Collection of Registrations in a system, federation of systems, or in a default CourseCatalog.
Get all Registrations in the system or default CourseCatalog.
Create a new Registration in the default CourseCatalog.
get /registrations
Get all Registrations 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", "gradingOption", "activityBundle", "student", 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%3AexampleRegistrationType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleRegistrationType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleRegistrationType%40campusapi.org
- fromDate: (string)
Get all registrations from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all registrations up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- activityBundleId: (string)
the id string to match a activity-bundle.
Example:
registration.ActivityBundle%3A2160%40base.url
- studentId: (string)
the id string to match a student.
Example:
resource.Resource%3A672%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": "registration.Registration:1056@base.url",
"uri": "http://base.url/open/campusapi/registration/registration/registration.Registration%3A1056%40base.url",
"displayName": "Display Name of this Registration",
"description": "The description of this Registration",
"genusTypeId": "type.Type:defaultRegistrationType@base.url",
"recordTypeIds": [ "type.Type:exampleRegistrationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:1056@base.url",
"activityBundleId": "course.registration.ActivityBundle:8870@base.url",
"studentId": "resource.Resource:7200@base.url",
"credits": [4, 4, 5],
"gradingOptionId": "grading.GradeSystem:4100@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /registrations
Create a new Registration in the default CourseCatalog.
Query Parameters
- activityBundleId: required(string)
the activity-bundle of this registration.
Example:
registration.ActivityBundle%3A2160%40base.url
- studentId: required(string)
the student of this registration.
Example:
resource.Resource%3A672%40base.url
- genusType: (string)
specify a particular registration type to create
Example:
type.Type%3AexampleRegistrationType%40dxtera.org
- recordType: (array of )
specify support for one or more registration record types
Example:
[ "type.Type%3AexampleRegistrationRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this registration
Example:
registration.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Registration",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this registration, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this registration, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this registration for display.",
"type": "string"
},
"description": {
"description": "The description of this registration.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this registration. 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 registration. 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 registration.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this registration.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this registration ended.",
"type": "string",
"format": "osid-id"
},
"activityBundleId": {
"description": "The activity bundle associated with this registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"studentId": {
"description": "The student associated with this registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"credits": {
"description": "The number of credits the student is registered to earn.",
"type": "array",
"items": {
"type": "number"
}
},
"gradingOptionId": {
"description": "The grading option for this registration.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Registration",
"description": "The description of this Registration",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7960@base.url",
"credits": [1, 4, 5],
"gradingOptionId": "grading.GradeSystem:310@base.url"
}
Query the collection of Registrations in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a RegistrationQuery object.
post /registrations/registration-query
Submit a query using a RegistrationQuery 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", "gradingOption", "activityBundle", "student", 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": "RegistrationQuery",
"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 Registrations with any end reason, false to match Registrations with no end reason",
"type": "boolean"
},
"matchActivityBundleIds": {
"description": "List of activityBundle Ids for this query to match registration that have a related activityBundle.",
"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"
}
}
}
},
"activityBundleQueries": {
"description": "ActivityBundleQueries to match the activityBundle. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchStudentIds": {
"description": "List of student Ids for this query to match registration that have a related student.",
"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"
}
}
}
},
"studentQueries": {
"description": "StudentQueries to match the student. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCredits": {
"description": "Match Credits within the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "starting value",
"type": "number"
},
"to": {
"description": "ending value",
"type": "number"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyCredits": {
"description": "Match credits with any value. true to match Registrations with any credits, false to match ProgramOfferings with no credits",
"type": "boolean"
},
"matchGradingOptionIds": {
"description": "List of GradeSystem Ids for this query to match gradingOption.",
"type": "array",
"items": {
"type": "object",
"properties": {
"gradingOptionId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"gradingOptionQueries": {
"description": "grading.GradeSystemQueries to match the Grading Option. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyGradingOption": {
"description": "Match grading option with any value. true to match Registrations with any grading option, false to match Registrations with no grading option",
"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": "registration.Registration:1056@base.url",
"uri": "http://base.url/open/campusapi/registration/registration/registration.Registration%3A1056%40base.url",
"displayName": "Display Name of this Registration",
"description": "The description of this Registration",
"genusTypeId": "type.Type:defaultRegistrationType@base.url",
"recordTypeIds": [ "type.Type:exampleRegistrationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:1056@base.url",
"activityBundleId": "course.registration.ActivityBundle:8870@base.url",
"studentId": "resource.Resource:7200@base.url",
"credits": [4, 4, 5],
"gradingOptionId": "grading.GradeSystem:4100@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Registration form metadata.
Get form metadata for creating a new Registration.
get /registrations/metadata
Get form metadata for creating a new Registration.
Query Parameters
- activityBundleId: required(string)
the activity-bundle of this metadatum.
Example:
registration.ActivityBundle%3A2160%40base.url
- studentId: required(string)
the student of this metadatum.
Example:
resource.Resource%3A672%40base.url
- genusType: (string)
specify a particular registration type to create
Example:
type.Type%3AexampleRegistrationType%40dxtera.org
- recordType: (array of )
specify support for one or more registration record types
Example:
[ "type.Type%3AexampleRegistrationRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this registration
Example:
registration.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": "Registration",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this registration, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this registration, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this registration for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this registration",
"linked": false
},
"description": {
"description": "The description of this registration.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this registration",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this registration. 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 registration. 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 registration.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this registration",
"linked": false
},
"endDate": {
"description": "The ending date of this registration.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this registration",
"linked": false
},
"endReasonId": {
"description": "The reason this registration ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this registration ended",
"linked": false
},
"credits": {
"description": "The number of credits the student is registered to earn.",
"type": "array",
"items": {
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"enum": []
},
"default": [],
"elementId": "course.registration.Registration:credits@dxtera.org",
"existingValue": [3.14, 1.414, 2.71828],
"elementLabel": "Credits",
"instructions": "Enter the credits of this registration.",
"linked": false
},
"gradingOptionId": {
"description": "The grading option for this registration.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.registration.Registration:gradingOption@dxtera.org",
"existingValue": null,
"elementLabel": "Grading Option",
"instructions": "Enter the Id of the grading option for this registration.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Registration
Get a particular Registration given its id.
Update a particular Registration given its id.
Delete a particular Registration given its id.
get /registrations/{registrationId}
Get a particular Registration given its id.
URI Parameters
- registrationId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "endReason", "gradingOption", "activityBundle", "student", 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": "registration.Registration:1056@base.url",
"uri": "http://base.url/open/campusapi/registration/registration/registration.Registration%3A1056%40base.url",
"displayName": "Display Name of this Registration",
"description": "The description of this Registration",
"genusTypeId": "type.Type:defaultRegistrationType@base.url",
"recordTypeIds": [ "type.Type:exampleRegistrationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:1056@base.url",
"activityBundleId": "course.registration.ActivityBundle:8870@base.url",
"studentId": "resource.Resource:7200@base.url",
"credits": [4, 4, 5],
"gradingOptionId": "grading.GradeSystem:4100@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": "Registration not found" }
put /registrations/{registrationId}
Update a particular Registration given its id.
URI Parameters
- registrationId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Registration",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this registration, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this registration, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this registration for display.",
"type": "string"
},
"description": {
"description": "The description of this registration.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this registration. 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 registration. 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 registration.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this registration.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this registration ended.",
"type": "string",
"format": "osid-id"
},
"activityBundleId": {
"description": "The activity bundle associated with this registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"studentId": {
"description": "The student associated with this registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"credits": {
"description": "The number of credits the student is registered to earn.",
"type": "array",
"items": {
"type": "number"
}
},
"gradingOptionId": {
"description": "The grading option for this registration.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Registration",
"description": "The description of this Registration",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7960@base.url",
"credits": [1, 4, 5],
"gradingOptionId": "grading.GradeSystem:310@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Registration 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": "Registration not found" }
delete /registrations/{registrationId}
Delete a particular Registration given its id.
URI Parameters
- registrationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Registration 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": "Registration not found" }
Entity representing a Registration form metadata for update
Get form metadata for updating an existing Registration.
get /registrations/{registrationId}/metadata
Get form metadata for updating an existing Registration.
URI Parameters
- registrationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Registration",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this registration, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this registration, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this registration for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this registration",
"linked": false
},
"description": {
"description": "The description of this registration.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this registration",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this registration. 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 registration. 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 registration.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this registration",
"linked": false
},
"endDate": {
"description": "The ending date of this registration.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this registration",
"linked": false
},
"endReasonId": {
"description": "The reason this registration ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Registration.Registration:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this registration ended",
"linked": false
},
"credits": {
"description": "The number of credits the student is registered to earn.",
"type": "array",
"items": {
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"enum": []
},
"default": [],
"elementId": "course.registration.Registration:credits@dxtera.org",
"existingValue": [3.14, 1.414, 2.71828],
"elementLabel": "Credits",
"instructions": "Enter the credits of this registration.",
"linked": false
},
"gradingOptionId": {
"description": "The grading option for this registration.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.registration.Registration:gradingOption@dxtera.org",
"existingValue": null,
"elementLabel": "Grading Option",
"instructions": "Enter the Id of the grading option for this registration.",
"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": "registration not found" }
/activity-registrations
Collection of ActivityRegistrations in a system, federation of systems, or in a default CourseCatalog.
Get all ActivityRegistrations in the system or default CourseCatalog.
Create a new ActivityRegistration in the default CourseCatalog.
get /activity-registrations
Get all ActivityRegistrations 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", "registration", "activity", "student", 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%3AexampleActivityRegistrationType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleActivityRegistrationType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleActivityRegistrationType%40campusapi.org
- fromDate: (string)
Get all activity-registrations from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all activity-registrations up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- registrationId: (string)
the id string to match a registration.
Example:
registration.Registration%3A2880%40base.url
- activityId: (string)
the id string to match a activity.
Example:
course.Activity%3A960%40base.url
- studentId: (string)
the id string to match a student.
Example:
resource.Resource%3A1120%40base.url
- courseOfferingId: (string)
Id string to match courseOffering.
Example:
course.CourseOffering%3A3827%40base.url
- activity.courseOffering.sponsorId: (string)
Id string to match activity.courseOffering.sponsor.
Example:
resource.Resource%3A327887%40base.url
- activity.courseOffering.termId: (string)
Id string to match activity.courseOffering.term.
Example:
course.Term%3A98374%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": "registration.ActivityRegistration:6518@base.url",
"uri": "http://base.url/open/campusapi/registration/activityRegistration/registration.ActivityRegistration%3A6518%40base.url",
"displayName": "Display Name of this ActivityRegistration",
"description": "The description of this ActivityRegistration",
"genusTypeId": "type.Type:defaultActivityRegistrationType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityRegistrationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:6518@base.url",
"registrationId": "course.registration.Registration:9242@base.url",
"activityId": "course.Activity:6572@base.url",
"studentId": "resource.Resource:2821@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /activity-registrations
Create a new ActivityRegistration in the default CourseCatalog.
Query Parameters
- registrationId: required(string)
the registration of this activity-registration.
Example:
registration.Registration%3A2880%40base.url
- activityId: required(string)
the activity of this activity-registration.
Example:
course.Activity%3A960%40base.url
- studentId: required(string)
the student of this activity-registration.
Example:
resource.Resource%3A1120%40base.url
- genusType: (string)
specify a particular activityRegistration type to create
Example:
type.Type%3AexampleActivityRegistrationType%40dxtera.org
- recordType: (array of )
specify support for one or more activityRegistration record types
Example:
[ "type.Type%3AexampleActivityRegistrationRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this activityRegistration
Example:
registration.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ActivityRegistration",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this activity registration, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity registration, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity registration for display.",
"type": "string"
},
"description": {
"description": "The description of this activity registration.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this activity registration. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity registration. 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 activity registration.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this activity registration.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this activity registration ended.",
"type": "string",
"format": "osid-id"
},
"registrationId": {
"description": "The registration associated with this activity registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"activityId": {
"description": "The activity associated with this activity registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"studentId": {
"description": "The student associated with this activity registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this ActivityRegistration",
"description": "The description of this ActivityRegistration",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:2910@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The ActivityRegistration has been created",
"activity-registrationId": "registration.ActivityRegistration:9876@demo.dxtera.org"}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Query the collection of ActivityRegistrations in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a ActivityRegistrationQuery object.
post /activity-registrations/activity-registration-query
Submit a query using a ActivityRegistrationQuery 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", "registration", "activity", "student", 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": "ActivityRegistrationQuery",
"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 ActivityRegistrations with any end reason, false to match ActivityRegistrations with no end reason",
"type": "boolean"
},
"matchRegistrationIds": {
"description": "List of registration Ids for this query to match activity registration that have a related registration.",
"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"
}
}
}
},
"registrationQueries": {
"description": "RegistrationQueries to match the registration. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchActivityIds": {
"description": "List of activity Ids for this query to match activity registration that have a related activity.",
"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"
}
}
}
},
"activityQueries": {
"description": "ActivityQueries to match the activity. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchStudentIds": {
"description": "List of student Ids for this query to match activity registration that have a related student.",
"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"
}
}
}
},
"studentQueries": {
"description": "StudentQueries to match the student. 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": "registration.ActivityRegistration:6518@base.url",
"uri": "http://base.url/open/campusapi/registration/activityRegistration/registration.ActivityRegistration%3A6518%40base.url",
"displayName": "Display Name of this ActivityRegistration",
"description": "The description of this ActivityRegistration",
"genusTypeId": "type.Type:defaultActivityRegistrationType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityRegistrationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:6518@base.url",
"registrationId": "course.registration.Registration:9242@base.url",
"activityId": "course.Activity:6572@base.url",
"studentId": "resource.Resource:2821@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a ActivityRegistration form metadata.
Get form metadata for creating a new ActivityRegistration.
get /activity-registrations/metadata
Get form metadata for creating a new ActivityRegistration.
Query Parameters
- registrationId: required(string)
the registration of this metadatum.
Example:
registration.Registration%3A2880%40base.url
- activityId: required(string)
the activity of this metadatum.
Example:
course.Activity%3A960%40base.url
- studentId: required(string)
the student of this metadatum.
Example:
resource.Resource%3A1120%40base.url
- genusType: (string)
specify a particular activityRegistration type to create
Example:
type.Type%3AexampleActivityRegistrationType%40dxtera.org
- recordType: (array of )
specify support for one or more activityRegistration record types
Example:
[ "type.Type%3AexampleActivityRegistrationRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this activityRegistration
Example:
registration.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": "ActivityRegistration",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this activity registration, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity registration, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity registration for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this activity registration",
"linked": false
},
"description": {
"description": "The description of this activity registration.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this activity registration",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this activity registration. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity registration. 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 activity registration.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this activity registration",
"linked": false
},
"endDate": {
"description": "The ending date of this activity registration.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this activity registration",
"linked": false
},
"endReasonId": {
"description": "The reason this activity registration ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this activity registration ended",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a ActivityRegistration
Get a particular ActivityRegistration given its id.
Update a particular ActivityRegistration given its id.
Delete a particular ActivityRegistration given its id.
get /activity-registrations/{activityRegistrationId}
Get a particular ActivityRegistration given its id.
URI Parameters
- activityRegistrationId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "endReason", "registration", "activity", "student", 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": "registration.ActivityRegistration:6518@base.url",
"uri": "http://base.url/open/campusapi/registration/activityRegistration/registration.ActivityRegistration%3A6518%40base.url",
"displayName": "Display Name of this ActivityRegistration",
"description": "The description of this ActivityRegistration",
"genusTypeId": "type.Type:defaultActivityRegistrationType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityRegistrationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:6518@base.url",
"registrationId": "course.registration.Registration:9242@base.url",
"activityId": "course.Activity:6572@base.url",
"studentId": "resource.Resource:2821@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": "ActivityRegistration not found" }
put /activity-registrations/{activityRegistrationId}
Update a particular ActivityRegistration given its id.
URI Parameters
- activityRegistrationId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ActivityRegistration",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this activity registration, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity registration, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity registration for display.",
"type": "string"
},
"description": {
"description": "The description of this activity registration.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this activity registration. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity registration. 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 activity registration.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this activity registration.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this activity registration ended.",
"type": "string",
"format": "osid-id"
},
"registrationId": {
"description": "The registration associated with this activity registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"activityId": {
"description": "The activity associated with this activity registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"studentId": {
"description": "The student associated with this activity registration.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this ActivityRegistration",
"description": "The description of this ActivityRegistration",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:2910@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The ActivityRegistration 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": "ActivityRegistration not found" }
delete /activity-registrations/{activityRegistrationId}
Delete a particular ActivityRegistration given its id.
URI Parameters
- activityRegistrationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The ActivityRegistration 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": "ActivityRegistration not found" }
Entity representing a ActivityRegistration form metadata for update
Get form metadata for updating an existing ActivityRegistration.
get /activity-registrations/{activityRegistrationId}/metadata
Get form metadata for updating an existing ActivityRegistration.
URI Parameters
- activityRegistrationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "ActivityRegistration",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this activity registration, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this activity registration, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this activity registration for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this activity registration",
"linked": false
},
"description": {
"description": "The description of this activity registration.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this activity registration",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this activity registration. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this activity registration. 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 activity registration.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this activity registration",
"linked": false
},
"endDate": {
"description": "The ending date of this activity registration.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this activity registration",
"linked": false
},
"endReasonId": {
"description": "The reason this activity registration ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ActivityRegistration.ActivityRegistration:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this activity registration ended",
"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": "activityRegistration 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
- activityBundleId: (string)
Get course-catalogs mapped to this activity-bundle.
Example:
registration.ActivityBundle%3A2340%40demo.dxtera.org
- registrationId: (string)
Get course-catalogs mapped to this registration.
Example:
registration.Registration%3A1872%40demo.dxtera.org
- activityRegistrationId: (string)
Get course-catalogs mapped to this activity-registration.
Example:
registration.ActivityRegistration%3A3276%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 ActivityBundles in this CourseCatalog
get /course-catalogs/{courseCatalogId}/activity-bundles
Get all ActivityBundles 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", "gradingOptions", "courseOffering", 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%3AexampleActivityBundleType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleActivityBundleType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleActivityBundleType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "registration.ActivityBundle:2319@base.url",
"uri": "http://base.url/open/campusapi/registration/activity_bundle/registration.ActivityBundle%3A2319%40base.url",
"displayName": "Display Name of this ActivityBundle",
"description": "The description of this ActivityBundle",
"genusTypeId": "type.Type:defaultActivityBundleType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityBundleRecordType@campusapi.org", "..."],
"courseOfferingId": "course.CourseOffering:9862@base.url",
"credits": [3, 3, 1],
"gradingOptionIds": [ "grading.GradeSystem:8428@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given ActivityBundle to this CourseCatalog
Remove the given ActivityBundle from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/activity-bundles/{activityBundleId}
Add the given ActivityBundle to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- activityBundleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "ActivityBundle 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": "ActivityBundle not found" }
delete /course-catalogs/{courseCatalogId}/activity-bundles/{activityBundleId}
Remove the given ActivityBundle from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- activityBundleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "ActivityBundle 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": "ActivityBundle not found" }
Get all Registrations in this CourseCatalog
get /course-catalogs/{courseCatalogId}/registrations
Get all Registrations 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", "gradingOption", "activityBundle", "student", 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%3AexampleRegistrationType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleRegistrationType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleRegistrationType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "registration.Registration:1056@base.url",
"uri": "http://base.url/open/campusapi/registration/registration/registration.Registration%3A1056%40base.url",
"displayName": "Display Name of this Registration",
"description": "The description of this Registration",
"genusTypeId": "type.Type:defaultRegistrationType@base.url",
"recordTypeIds": [ "type.Type:exampleRegistrationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:1056@base.url",
"activityBundleId": "course.registration.ActivityBundle:8870@base.url",
"studentId": "resource.Resource:7200@base.url",
"credits": [4, 4, 5],
"gradingOptionId": "grading.GradeSystem:4100@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Registration to this CourseCatalog
Remove the given Registration from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/registrations/{registrationId}
Add the given Registration to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- registrationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Registration 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": "Registration not found" }
delete /course-catalogs/{courseCatalogId}/registrations/{registrationId}
Remove the given Registration from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- registrationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Registration 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": "Registration not found" }
Get all ActivityRegistrations in this CourseCatalog
get /course-catalogs/{courseCatalogId}/activity-registrations
Get all ActivityRegistrations 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", "registration", "activity", "student", 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%3AexampleActivityRegistrationType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleActivityRegistrationType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleActivityRegistrationType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "registration.ActivityRegistration:6518@base.url",
"uri": "http://base.url/open/campusapi/registration/activityRegistration/registration.ActivityRegistration%3A6518%40base.url",
"displayName": "Display Name of this ActivityRegistration",
"description": "The description of this ActivityRegistration",
"genusTypeId": "type.Type:defaultActivityRegistrationType@base.url",
"recordTypeIds": [ "type.Type:exampleActivityRegistrationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:6518@base.url",
"registrationId": "course.registration.Registration:9242@base.url",
"activityId": "course.Activity:6572@base.url",
"studentId": "resource.Resource:2821@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given ActivityRegistration to this CourseCatalog
Remove the given ActivityRegistration from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/activity-registrations/{activityRegistrationId}
Add the given ActivityRegistration to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- activityRegistrationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "ActivityRegistration 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": "ActivityRegistration not found" }
delete /course-catalogs/{courseCatalogId}/activity-registrations/{activityRegistrationId}
Remove the given ActivityRegistration from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- activityRegistrationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "ActivityRegistration 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": "ActivityRegistration not found" }