CampusAPI Requisite Services API documentation version 1.0.5
Based on OSID version 3.0.0
https://base.url/requisite
Overview
The Requisite service package defines the rules to be managed and evaluated to determine whether educational requirements have been satisfied. It encapsulates the information necessary to fully describe the various ways in which an educational goal can be achieved.
This package includes the following entities:
Requisites
The Requisite is a rule used for a requirement component. A Requisite has 7 terms for evaluation that must all be true for the Requisite to be satisfied. Additional terms may be added.
A Requisite is true if the active Requisite options term AND the CourseRequirements term AND the ProgramRequirements term AND CredentialRequirements AND AssessmentRequirements AND the LearningObjectiveRequirements AND external Rule are all true.
A Requisite may also contain options, or sub-requisites. These options are Requisite nodes in a statement tree hierarchy that represent OR terms. Requisites can be defined to have effectiveness and may apply to specific populations of students or by calendar schedules or events.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this requisite, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this requisite, provided by system. | string(uri) |
displayName | The name of this requisite for display. | string |
description | The description of this requisite. | string |
genusTypeId (read‑only) | Id of the immutable type of this requisite. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this requisite. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
active (read‑only) | Whether this requisite is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this requisite is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this requisite is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this requisite is operational. This requisite is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this requisite. References a rules.Rule object. | string(osid‑id) |
sequestered | Whether this requisite is sequestered in that it should not appear outside of its aggregation. | boolean |
scheduleId | A schedule that governs the effectiveness of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite. References a calendar.Schedule object. | string(osid‑id) |
eventId | An Event that governs the effectiveness of this requisite such that the start and end dates of the event govern the effectiveness. The event may also be a RecurringEvent in which case the enabler is effective for start and end dates of each event in the series If an event exists, it is bounded by the effective dates of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite. References a calendar.Event object. | string(osid‑id) |
cyclicEventId | A CyclicEvent that governs theffectiveness of this requisite. If a cyclic event exists, it is evaluated by the accompanying cyclic time period. References a cycle.CyclicEvent object. | string(osid‑id) |
demographicId | A Demographic Resource that governs the effectiveness of this requisite. References a resource.Resource object. | string(osid‑id) |
requisiteOptionIds | The requisite options for the Requisite options term. If any active requisite options are available, meeting the requirements of any one of these requisite options evaluates this requisite options term as true. If no active requisite options apply then this term evaluates to true. | string(osid‑id)[] |
courseRequirementIds | The course requirements term. If any CourseRequirements are available, all CourseRequirements must be met to evaluate this course requirements term as true. If no course requirements apply then this course requirements term evaluates true. | string(osid‑id)[] |
programRequirementIds | The program requirements term. If any ProgramRequirements are available, all ProgramRequirements must be met to evaluate this program requirements term as true. If no program requirements apply then this program requirements term evaluates to true. | string(osid‑id)[] |
credentialRequirementIds | The credential requirements term. If any CredentialRequirements are available, all CredentialRequirements must be met to evaluate this credential requirements term as true. If no credential requirements are available, this credential requirements term evaluates to true. | string(osid‑id)[] |
learningObjectiveRequirementIds | The learning objective requirements term. If any LearningObjectiveRequirements are available, all LearningObjectiveRequirements must be met to evaluate this learning objective requirements term as true. If no learning objective requirements are available, this learning objective requirements term evaluates to true. | string(osid‑id)[] |
AssessmentRequirementIds | The assessment requirements term. If any AssessmentRequirements are available, all AssessmentRequirements must be met to evaluate this assessment requirements term as true. If no assessment requirements are available, this assessment requirements term evaluates to true. | string(osid‑id)[] |
AwardRequirementIds | The award requirements term. If any AwardRequirements are available, all AwardRequirements must be met to evaluate this award requirements term as true. If no award requirements are available, this award requirements term evaluates to true. | string(osid‑id)[] |
RequisiteRequirementIds | The requisite requirements term. If any RequisiteRequirements are available, all RequisiteRequirements must be met to evaluate this requisite requirements term as true. If no requisite requirements are available, this requisite requirements term evaluates to true. | string(osid‑id)[] |
minimumEarnedCredits | The minimum earned credits applied to CourseRequirements, if applicable. | number |
minimumCourseCount | The minimum number of courses applied to CourseRequirements, if applicable. | number |
CourseRequirements
A CourseRequirement is a rule for a Course to be satisfied. The Course may be required to be taken in the past for a prerequisite, in the present for a co-requisite, or completed at some point in the future. The CourseRequirement may also require a minimum grade or credits earned. Additional constraints may be specified in the CourseRequirementRecord or an external Rule.
All specified rules in the CourseRequirement must be true for the requirement to be satisfied. Alternative Requisites may be specified inside the CourseRequirement to append OR terms.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this course requirement, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this course requirement, provided by system. | string(uri) |
displayName | The name of this course requirement for display. | string |
description | The description of this course requirement. | string |
genusTypeId (read‑only) | Id of the immutable type of this course requirement. 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 requirement. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
active (read‑only) | Whether this course requirement is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this course requirement is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this course requirement is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this course requirement is operational. This course requirement is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this course requirement. References a rules.Rule object. | string(osid‑id) |
courseId (read‑only) | The course associated with this course requirement. References a course.Course object. | string(osid‑id) |
requiresCompletion | -- could someone please write a description for this -- | boolean |
timeframe | The timeframe in which the course has to be completed. | string(duration) |
minimumGradeId | The minimum grade. References a grading.Grade object | string(osid‑id) |
minimumScoreSystemId | The scoring system for the minimum score. References a grading.GradeSystem object | string(osid‑id) |
minimumScore | The minimum score. | number |
minimumEarnedCredits | The minimum earned credits. | number |
ProgramRequirements
A ProgramRequirement is a rule for a Program to be satisfied. The Program may be required to be taken in the past for a prerequisite, in the present for a co-requisite, or completed at some point in the future. The ProgramRequirement may also require a minimum GPA or credits earned. Additional constraints may be specified through extension of this model or an external Rule.
All specified rules in the ProgramRequirement must be true for the requirement to be satisfied. Alternative Requisites may be specified inside the ProgramRequirement to append OR terms.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this program requirement, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this program requirement, provided by system. | string(uri) |
displayName | The name of this program requirement for display. | string |
description | The description of this program requirement. | string |
genusTypeId (read‑only) | Id of the immutable type of this program requirement. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this program requirement. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
active (read‑only) | Whether this program requirement is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this program requirement is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this program requirement is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this program requirement is operational. This program requirement is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this program requirement. References a rules.Rule object. | string(osid‑id) |
programId (read‑only) | The program associated with this program requirement. References a program.Program object. | string(osid‑id) |
requiresCompletion | -- could someone please write a description for this -- | boolean |
timeframe | The timeframe in which the program has to be completed. | string(duration) |
minimumGPASystemId | The scoring system for the minimum GPA. References a grading.GradeSystem object | string(osid‑id) |
minimumGPA | The minimum GPA. | number |
minimumEarnedCredits | The minimum earned credits. | number |
CredentialRequirements
A CredentialRequirement is a rule for a Credential to be satisfied. Additional constraints may be specified through extension of this model or an external Rule.
All specified rules in the CredentialRequirement must be true for the requirement to be satisfied. Alternative Requisites may be specified inside the CredentialRequirement to append OR terms.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this credential requirement, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this credential requirement, provided by system. | string(uri) |
displayName | The name of this credential requirement for display. | string |
description | The description of this credential requirement. | string |
genusTypeId (read‑only) | Id of the immutable type of this credential requirement. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this credential requirement. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
active (read‑only) | Whether this credential requirement is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this credential requirement is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this credential requirement is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this credential requirement is operational. This credential requirement is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this credential requirement. References a rules.Rule object. | string(osid‑id) |
credentialId (read‑only) | The credential associated with this credential requirement. References a program.Credential object. | string(osid‑id) |
timeframe | The timeframe in which the credential has to be earned. | string(duration) |
LearningObjectiveRequirements
A LearningObjectiveRequirement is a rule for a learning Objective (competency, outcome, etc) to be satisfied. The LearningObjectiveRequirement may also require a minimum proficiency expressed as a Grade. Additional constraints may be specified through extension of this model or an external Rule.
All specified rules in the LearningObjectiveRequirement must be true for the requirement to be satisfied. Alternative Requisites may be specified inside the LearningObjectiveRequirement to append OR terms.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this learning objective requirement, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this learning objective requirement, provided by system. | string(uri) |
displayName | The name of this learning objective requirement for display. | string |
description | The description of this learning objective requirement. | string |
genusTypeId (read‑only) | Id of the immutable type of this learning objective requirement. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this learning objective requirement. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
active (read‑only) | Whether this learning objective requirement is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this learning objective requirement is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this learning objective requirement is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this learning objective requirement is operational. This learning objective requirement is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this learning objective requirement. References a rules.Rule object. | string(osid‑id) |
learningObjectiveId (read‑only) | The learning objective associated with this learning objective requirement. References a learning.Objective object. | string(osid‑id) |
minimumProficiencyId | The minimum proficiency expressed as a Grade. References a grading.Grade object | string(osid‑id) |
AssessmentRequirements
An AssessmentRequirement is a rule for an Assessment to be satisfied. The Assessment may be required to be taken in the past for a prerequisite, in the present for a co-requisite, or completed at some point in the future. The AssessmentRequirement may also require a minimum Grade or score. Additional constraints may be specified through extension of this model or an external Rule.
All specified rules in the AssessmentRequirement must be true for the requirement to be satisfied. Alternative Requisites may be specified inside the AssessmentRequirement to append OR terms.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this assessment requirement, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this assessment requirement, provided by system. | string(uri) |
displayName | The name of this assessment requirement for display. | string |
description | The description of this assessment requirement. | string |
genusTypeId (read‑only) | Id of the immutable type of this assessment requirement. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this assessment requirement. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
active (read‑only) | Whether this assessment requirement is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this assessment requirement is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this assessment requirement is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this assessment requirement is operational. This assessment requirement is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this assessment requirement. References a rules.Rule object. | string(osid‑id) |
assessmentId (read‑only) | The assessment associated with this assessment requirement. References an assessment.Assessment object. | string(osid‑id) |
timeframe | The timeframe in which the assessment has to be completed. | string(duration) |
minimumGradeId | The minimum grade. References a grading.Grade object | string(osid‑id) |
minimumScoreSystemId | The scoring system for the minimum score. References a grading.GradeSystem object | string(osid‑id) |
minimumScore | The minimum score. | number |
AwardRequirements
An AwardRequirement is a rule for an Award to be satisfied. Additional constraints may be specified through extension of this model or an external Rule.
All specified rules in the AwardRequirement must be true for the requirement to be satisfied. Alternative Requisites may be specified inside the AwardRequirement to append OR terms.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this award requirement, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this award requirement, provided by system. | string(uri) |
displayName | The name of this award requirement for display. | string |
description | The description of this award requirement. | string |
genusTypeId (read‑only) | Id of the immutable type of this award requirement. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this award requirement. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
active (read‑only) | Whether this award requirement is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this award requirement is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this award requirement is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this award requirement is operational. This award requirement is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this award requirement. References a rules.Rule object. | string(osid‑id) |
awardId (read‑only) | The award associated with this award requirement. References a recognition.Award object. | string(osid‑id) |
timeframe | The timeframe in which the award has to be earned. | string(duration) |
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
/requisites
Collection of Requisites in a system, federation of systems, or in a default CourseCatalog.
Get all Requisites in the system or default CourseCatalog.
Create a new Requisite in the default CourseCatalog.
get /requisites
Get all Requisites 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", "rule", "requisiteOptions", "courseRequirements", "programRequirements", "credentialRequirements", "learningObjectiveRequirements", "assessmentRequirements", "awardRequirements", "courseRequirements", "requisiteRequirements", or "all" to expand all referenced objects or types.Additionally, expand "requisites" will expand all requisiteOptions and requisiteRequirements. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleRequisiteType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleRequisiteType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleRequisiteType%40campusapi.org
- requisiteOptionId: (string)
Id string to match requisiteOption.
Example:
requisite.Requisite%3A3767%40base.url
- courseRequirementId: (string)
Id string to match courseRequirement.
Example:
requisite.CourseRequirement%3A98723%40base.url
- programRequirementId: (string)
Id string to match programRequirement.
Example:
requisite.ProgramRequirement%3A89283%40base.url
- credentialRequirementId: (string)
Id string to match credentialRequirement.
Example:
requisite.CredentialRequirement%3A682%40base.url
- learningObjectiveRequirementId: (string)
Id string to match learningObjectiveRequirement.
Example:
requisite.LearningObjectiveRequirement%3A9823%40base.url
- assessmentRequirementId: (string)
Id string to match assessmentRequirement.
Example:
requisite.AssessmentRequirement%3A3827%40base.url
- awardRequirementId: (string)
Id string to match awardRequirement.
Example:
requisite.AwardRequirement%3A873%40base.url
- requisiteRequirementId: (string)
Id string to match requisiteRequirement.
Example:
requisite.Requisite%3A3225%40base.url
- expandRequisites: (boolean)
expand all requisiteOptions and requisiteRequirements. To be deprecated in favor of expand=requisites.
Example:
true
- 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": "requisite.Requisite:4816@base.url",
"uri": "http://base.url/open/campusapi/requisite/requisite/requisite.Requisite%3A4816%40base.url",
"displayName": "Display Name of this Requisite",
"description": "The description of this Requisite",
"genusTypeId": "type.Type:defaultRequisiteType@base.url",
"recordTypeIds": [ "type.Type:exampleRequisiteRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"schedule": "calendaring.Schedule:5591@base.url",
"event": "calendaring.Event:5591@base.url",
"cyclicEvent": "cycle.CyclicEvent:5591@base.url",
"demographic": "resource.Resource:5591@base.url",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"requisiteOptionIds": [ "requisite.Requisite:7226@base.url", "..." ],
"courseRequirementIds": [ "requisite.CourseRequirement:3901@base.url", "..." ],
"programRequirementIds": [ "requisite.ProgramRequirement:9989@base.url", "..." ],
"credentialRequirementIds": [ "requisite.CredentialRequirement:8504@base.url", "..." ],
"learningObjectiveRequirementIds": [ "requisite.LearningObjectiveRequirement:2366@base.url", "..." ],
"assessmentRequirementIds": [ "requisite.AssessmentRequirement:919@base.url", "..." ],
"awardRequirementIds": [ "requisite.AwardRequirement:5596@base.url", "..." ],
"requisiteRequirementIds": [ "requisite.Requisite:7648@demo.dxtera.org", "..." ],
"minimumEarnedCredits": 10,
"minimumCourseCount": 3
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /requisites
Create a new Requisite in the default CourseCatalog.
Query Parameters
- genusType: (string)
specify a particular requisite type to create
Example:
type.Type%3AexampleRequisiteType%40dxtera.org
- recordType: (array of )
specify support for one or more requisite record types
Example:
[ "type.Type%3AexampleRequisiteRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this requisite
Example:
requisite.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Requisite",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this requisite, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this requisite, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this requisite for display.",
"type": "string"
},
"description": {
"description": "The description of this requisite.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this requisite. 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 requisite. 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
},
"active": {
"description": "Whether this requisite is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this requisite is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this requisite is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this requisite is operational. This requisite is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this requisite.",
"type": "string",
"format": "osid-id"
},
"sequestered": {
"description": "Whether this requisite is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"scheduleId": {
"description": "A schedule that governs the effectiveness of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite.",
"type": "string",
"format": "osid-id"
},
"eventId": {
"description": "An Event that governs the effectiveness of this requisite such that the start and end dates of the event govern the effectiveness. The event may also be a RecurringEvent in which case the enabler is effective for start and end dates of each event in the series If an event exists, it is bounded by the effective dates of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite.",
"type": "string",
"format": "osid-id"
},
"cyclicEventId": {
"description": "A CyclicEvent that governs theffectiveness of this requisite. If a cyclic event exists, it is evaluated by the accompanying cyclic time period.",
"type": "string",
"format": "osid-id"
},
"demographicId": {
"description": "A Demographic Resource that governs the effectiveness of this requisite.",
"type": "string",
"format": "osid-id"
},
"minimumEarnedCredits": {
"description": "The minimum earned credits applied to CourseRequirements, if applicable.",
"type": "number"
},
"minimumCourseCount": {
"description": "The minimum number of courses applied to CourseRequirements, if applicable.",
"type": "number"
}
}
}
Example:
{
"displayName": "Display Name of this Requisite",
"description": "The description of this Requisite",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"schedule": "calendaring.Schedule:3428@base.url",
"event": "calendaring.Event:3428@base.url",
"cyclicEvent": "cycle.CyclicEvent:3428@base.url",
"demographic": "resource.Resource:3428@base.url",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"minimumEarnedCredits": 10,
"minimumCourseCount": 3
}
Query the collection of Requisites in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a RequisiteQuery object.
post /requisites/requisite-query
Submit a query using a RequisiteQuery 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", "rule", "requisiteOptions", "courseRequirements", "programRequirements", "credentialRequirements", "learningObjectiveRequirements", "assessmentRequirements", "awardRequirements", "courseRequirements", "requisiteRequirements", or "all" to expand all referenced objects or types.Additionally, expand "requisites" will expand all requisiteOptions and requisiteRequirements. 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": "RequisiteQuery",
"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"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchRuleIds": {
"description": "List of rule Ids to match.",
"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"
}
}
}
},
"ruleQueries": {
"description": "rules.RuleQuery for the cyclic event. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchSequestered": {
"description": "Match containables that are sequestered. true to match any sequestered containables, false to match non-sequestered containables",
"type": "boolean"
},
"matchScheduleIds": {
"description": "List of associated schedule Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"scheduleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"scheduleQueries": {
"description": "calendaring.ScheduleQuery for the schedule. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchEventIds": {
"description": "List of associated event Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"eventQueries": {
"description": "calendaring.EventQuery for the event. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCyclicEventIds": {
"description": "List of associated cyclic event Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"cyclicEventId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"cyclicEventQueries": {
"description": "calendaring.CyclicEventQuery for the cyclic event. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchDemographicIds": {
"description": "List of demographic resource Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"demographicId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"demographicQueries": {
"description": "resource.ResourceQuery for the demographic. 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": "requisite.Requisite:4816@base.url",
"uri": "http://base.url/open/campusapi/requisite/requisite/requisite.Requisite%3A4816%40base.url",
"displayName": "Display Name of this Requisite",
"description": "The description of this Requisite",
"genusTypeId": "type.Type:defaultRequisiteType@base.url",
"recordTypeIds": [ "type.Type:exampleRequisiteRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"schedule": "calendaring.Schedule:5591@base.url",
"event": "calendaring.Event:5591@base.url",
"cyclicEvent": "cycle.CyclicEvent:5591@base.url",
"demographic": "resource.Resource:5591@base.url",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"requisiteOptionIds": [ "requisite.Requisite:7226@base.url", "..." ],
"courseRequirementIds": [ "requisite.CourseRequirement:3901@base.url", "..." ],
"programRequirementIds": [ "requisite.ProgramRequirement:9989@base.url", "..." ],
"credentialRequirementIds": [ "requisite.CredentialRequirement:8504@base.url", "..." ],
"learningObjectiveRequirementIds": [ "requisite.LearningObjectiveRequirement:2366@base.url", "..." ],
"assessmentRequirementIds": [ "requisite.AssessmentRequirement:919@base.url", "..." ],
"awardRequirementIds": [ "requisite.AwardRequirement:5596@base.url", "..." ],
"requisiteRequirementIds": [ "requisite.Requisite:7648@demo.dxtera.org", "..." ],
"minimumEarnedCredits": 10,
"minimumCourseCount": 3
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Requisite form metadata.
Get form metadata for creating a new Requisite.
get /requisites/metadata
Get form metadata for creating a new Requisite.
Query Parameters
- genusType: (string)
specify a particular requisite type to create
Example:
type.Type%3AexampleRequisiteType%40dxtera.org
- recordType: (array of )
specify support for one or more requisite record types
Example:
[ "type.Type%3AexampleRequisiteRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this requisite
Example:
requisite.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": "Requisite",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this requisite, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this requisite, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this requisite for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this requisite",
"linked": false
},
"description": {
"description": "The description of this requisite.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this requisite",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this requisite. 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 requisite. 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
},
"enabled": {
"description": "Whether this requisite is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Requisite.Requisite:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this requisite is enabled",
"linked": false
},
"disabled": {
"description": "Whether this requisite is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Requisite.Requisite:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this requisite is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this requisite.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this requisite",
"linked": false
},
"sequestered": {
"description": "Whether this requisite is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "Requisite.Requisite:rule@base.url",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this requisite is sequestered",
"linked": false
},
"scheduleId": {
"description": "A schedule that governs the effectiveness of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:schedule@base.url",
"existingValue": "",
"elementLabel": "Schedule",
"instructions": "Select a Schedule to govern the effectiveness of this requisite",
"linked": false
},
"eventId": {
"description": "An Event that governs the effectiveness of this requisite such that the start and end dates of the event govern the effectiveness. The event may also be a RecurringEvent in which case the enabler is effective for start and end dates of each event in the series If an event exists, it is bounded by the effective dates of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:event@base.url",
"existingValue": "",
"elementLabel": "Event",
"instructions": "Select an Event to govern the effectiveness of this requisite",
"linked": false
},
"cyclicEventId": {
"description": "A CyclicEvent that governs theffectiveness of this requisite. If a cyclic event exists, it is evaluated by the accompanying cyclic time period.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:cyclicEvent@base.url",
"existingValue": "",
"elementLabel": "Cyclic Event",
"instructions": "Select a Cyclic Event to govern the effectiveness of this requisite",
"linked": false
},
"demographicId": {
"description": "A Demographic Resource that governs the effectiveness of this requisite.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:demographic@base.url",
"existingValue": "",
"elementLabel": "Demographic",
"instructions": "Select a Demgraphic to govern the effectiveness of this requisite",
"linked": false
},
"minimumEarnedCredits": {
"description": "The minimum earned credits applied to CourseRequirements, if applicable.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumEarnedCredits@dxtera.org",
"existingValue": 10,
"elementLabel": "Minimum Earned Credits",
"instructions": "Enter the minimum earned credits to apply to the course requirements.",
"linked": false
},
"minimumCourseCount": {
"description": "The minimum number of courses applied to CourseRequirements, if applicable.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumCourseCount@dxtera.org",
"existingValue": 3,
"elementLabel": "Minimum Course Count",
"instructions": "Enter the minimum course count to apply to the course requirements.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Requisite
Get a particular Requisite given its id.
Update a particular Requisite given its id.
Delete a particular Requisite given its id.
get /requisites/{requisiteId}
Get a particular Requisite given its id.
URI Parameters
- requisiteId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "rule", "requisiteOptions", "courseRequirements", "programRequirements", "credentialRequirements", "learningObjectiveRequirements", "assessmentRequirements", "awardRequirements", "courseRequirements", "requisiteRequirements", or "all" to expand all referenced objects or types.Additionally, expand "requisites" will expand all requisiteOptions and requisiteRequirements. This parameter can be repeated to expand multiples.
Example:
all
- expandRequisites: (boolean)
expand all requisiteOptions and requisiteRequirements. To be deprecated in favor of expand=requisites.
Example:
true
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "requisite.Requisite:4816@base.url",
"uri": "http://base.url/open/campusapi/requisite/requisite/requisite.Requisite%3A4816%40base.url",
"displayName": "Display Name of this Requisite",
"description": "The description of this Requisite",
"genusTypeId": "type.Type:defaultRequisiteType@base.url",
"recordTypeIds": [ "type.Type:exampleRequisiteRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"schedule": "calendaring.Schedule:5591@base.url",
"event": "calendaring.Event:5591@base.url",
"cyclicEvent": "cycle.CyclicEvent:5591@base.url",
"demographic": "resource.Resource:5591@base.url",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"requisiteOptionIds": [ "requisite.Requisite:7226@base.url", "..." ],
"courseRequirementIds": [ "requisite.CourseRequirement:3901@base.url", "..." ],
"programRequirementIds": [ "requisite.ProgramRequirement:9989@base.url", "..." ],
"credentialRequirementIds": [ "requisite.CredentialRequirement:8504@base.url", "..." ],
"learningObjectiveRequirementIds": [ "requisite.LearningObjectiveRequirement:2366@base.url", "..." ],
"assessmentRequirementIds": [ "requisite.AssessmentRequirement:919@base.url", "..." ],
"awardRequirementIds": [ "requisite.AwardRequirement:5596@base.url", "..." ],
"requisiteRequirementIds": [ "requisite.Requisite:7648@demo.dxtera.org", "..." ],
"minimumEarnedCredits": 10,
"minimumCourseCount": 3
}
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": "Requisite not found" }
put /requisites/{requisiteId}
Update a particular Requisite given its id.
URI Parameters
- requisiteId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Requisite",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this requisite, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this requisite, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this requisite for display.",
"type": "string"
},
"description": {
"description": "The description of this requisite.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this requisite. 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 requisite. 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
},
"active": {
"description": "Whether this requisite is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this requisite is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this requisite is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this requisite is operational. This requisite is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this requisite.",
"type": "string",
"format": "osid-id"
},
"sequestered": {
"description": "Whether this requisite is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"scheduleId": {
"description": "A schedule that governs the effectiveness of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite.",
"type": "string",
"format": "osid-id"
},
"eventId": {
"description": "An Event that governs the effectiveness of this requisite such that the start and end dates of the event govern the effectiveness. The event may also be a RecurringEvent in which case the enabler is effective for start and end dates of each event in the series If an event exists, it is bounded by the effective dates of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite.",
"type": "string",
"format": "osid-id"
},
"cyclicEventId": {
"description": "A CyclicEvent that governs theffectiveness of this requisite. If a cyclic event exists, it is evaluated by the accompanying cyclic time period.",
"type": "string",
"format": "osid-id"
},
"demographicId": {
"description": "A Demographic Resource that governs the effectiveness of this requisite.",
"type": "string",
"format": "osid-id"
},
"minimumEarnedCredits": {
"description": "The minimum earned credits applied to CourseRequirements, if applicable.",
"type": "number"
},
"minimumCourseCount": {
"description": "The minimum number of courses applied to CourseRequirements, if applicable.",
"type": "number"
}
}
}
Example:
{
"displayName": "Display Name of this Requisite",
"description": "The description of this Requisite",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"schedule": "calendaring.Schedule:3428@base.url",
"event": "calendaring.Event:3428@base.url",
"cyclicEvent": "cycle.CyclicEvent:3428@base.url",
"demographic": "resource.Resource:3428@base.url",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"minimumEarnedCredits": 10,
"minimumCourseCount": 3
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Requisite 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": "Requisite not found" }
delete /requisites/{requisiteId}
Delete a particular Requisite given its id.
URI Parameters
- requisiteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Requisite 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": "Requisite not found" }
Entity representing a Requisite form metadata for update
Get form metadata for updating an existing Requisite.
get /requisites/{requisiteId}/metadata
Get form metadata for updating an existing Requisite.
URI Parameters
- requisiteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Requisite",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this requisite, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this requisite, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this requisite for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this requisite",
"linked": false
},
"description": {
"description": "The description of this requisite.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this requisite",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this requisite. 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 requisite. 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
},
"enabled": {
"description": "Whether this requisite is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Requisite.Requisite:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this requisite is enabled",
"linked": false
},
"disabled": {
"description": "Whether this requisite is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Requisite.Requisite:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this requisite is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this requisite.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this requisite",
"linked": false
},
"sequestered": {
"description": "Whether this requisite is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "Requisite.Requisite:rule@base.url",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this requisite is sequestered",
"linked": false
},
"scheduleId": {
"description": "A schedule that governs the effectiveness of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:schedule@base.url",
"existingValue": "",
"elementLabel": "Schedule",
"instructions": "Select a Schedule to govern the effectiveness of this requisite",
"linked": false
},
"eventId": {
"description": "An Event that governs the effectiveness of this requisite such that the start and end dates of the event govern the effectiveness. The event may also be a RecurringEvent in which case the enabler is effective for start and end dates of each event in the series If an event exists, it is bounded by the effective dates of this requisite. If a schedule exists, it is bounded by the effective dates of this requisite.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:event@base.url",
"existingValue": "",
"elementLabel": "Event",
"instructions": "Select an Event to govern the effectiveness of this requisite",
"linked": false
},
"cyclicEventId": {
"description": "A CyclicEvent that governs theffectiveness of this requisite. If a cyclic event exists, it is evaluated by the accompanying cyclic time period.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:cyclicEvent@base.url",
"existingValue": "",
"elementLabel": "Cyclic Event",
"instructions": "Select a Cyclic Event to govern the effectiveness of this requisite",
"linked": false
},
"demographicId": {
"description": "A Demographic Resource that governs the effectiveness of this requisite.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Requisite.Requisite:demographic@base.url",
"existingValue": "",
"elementLabel": "Demographic",
"instructions": "Select a Demgraphic to govern the effectiveness of this requisite",
"linked": false
},
"minimumEarnedCredits": {
"description": "The minimum earned credits applied to CourseRequirements, if applicable.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumEarnedCredits@dxtera.org",
"existingValue": 10,
"elementLabel": "Minimum Earned Credits",
"instructions": "Enter the minimum earned credits to apply to the course requirements.",
"linked": false
},
"minimumCourseCount": {
"description": "The minimum number of courses applied to CourseRequirements, if applicable.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumCourseCount@dxtera.org",
"existingValue": 3,
"elementLabel": "Minimum Course Count",
"instructions": "Enter the minimum course count to apply to the course requirements.",
"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": "requisite not found" }
Add the given requisiteOption to this requisite-option
Remove the given requisiteOption from the requisite-option.
put /requisites/{requisiteId}/requisite-options/{requisiteId}
Add the given requisiteOption to this requisite-option
URI Parameters
- requisiteId: required(string)
- requisiteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "requisiteOption has been added to requisite-option" }
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": "requisiteOption not found" }
delete /requisites/{requisiteId}/requisite-options/{requisiteId}
Remove the given requisiteOption from the requisite-option.
URI Parameters
- requisiteId: required(string)
- requisiteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "requisiteOption 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": "requisiteOption not found" }
Add the given courseRequirement to this course-requirement
Remove the given courseRequirement from the course-requirement.
put /requisites/{requisiteId}/course-requirements/{courseRequirementId}
Add the given courseRequirement to this course-requirement
URI Parameters
- requisiteId: required(string)
- courseRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "courseRequirement has been added to course-requirement" }
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": "courseRequirement not found" }
delete /requisites/{requisiteId}/course-requirements/{courseRequirementId}
Remove the given courseRequirement from the course-requirement.
URI Parameters
- requisiteId: required(string)
- courseRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "courseRequirement 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": "courseRequirement not found" }
Add the given programRequirement to this program-requirement
Remove the given programRequirement from the program-requirement.
put /requisites/{requisiteId}/program-requirements/{programRequirementId}
Add the given programRequirement to this program-requirement
URI Parameters
- requisiteId: required(string)
- programRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "programRequirement has been added to program-requirement" }
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": "programRequirement not found" }
delete /requisites/{requisiteId}/program-requirements/{programRequirementId}
Remove the given programRequirement from the program-requirement.
URI Parameters
- requisiteId: required(string)
- programRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "programRequirement 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": "programRequirement not found" }
Add the given credentialRequirement to this credential-requirement
Remove the given credentialRequirement from the credential-requirement.
put /requisites/{requisiteId}/credential-requirements/{credentialRequirementId}
Add the given credentialRequirement to this credential-requirement
URI Parameters
- requisiteId: required(string)
- credentialRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "credentialRequirement has been added to credential-requirement" }
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": "credentialRequirement not found" }
delete /requisites/{requisiteId}/credential-requirements/{credentialRequirementId}
Remove the given credentialRequirement from the credential-requirement.
URI Parameters
- requisiteId: required(string)
- credentialRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "credentialRequirement 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": "credentialRequirement not found" }
/requisites/{requisiteId}/learning-objective-requirements/{learningObjectiveRequirementId} put delete
Add the given learningOjectiveRequirement to this learning-objective-requirement
Remove the given learningOjectiveRequirement from the learning-objective-requirement.
put /requisites/{requisiteId}/learning-objective-requirements/{learningObjectiveRequirementId}
Add the given learningOjectiveRequirement to this learning-objective-requirement
URI Parameters
- requisiteId: required(string)
- learningObjectiveRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "learningOjectiveRequirement has been added to learning-objective-requirement" }
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": "learningOjectiveRequirement not found" }
delete /requisites/{requisiteId}/learning-objective-requirements/{learningObjectiveRequirementId}
Remove the given learningOjectiveRequirement from the learning-objective-requirement.
URI Parameters
- requisiteId: required(string)
- learningObjectiveRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "learningOjectiveRequirement 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": "learningOjectiveRequirement not found" }
Add the given assessmentRequirement to this assessment-requirement
Remove the given assessmentRequirement from the assessment-requirement.
put /requisites/{requisiteId}/assessment-requirements/{assessmentRequirementId}
Add the given assessmentRequirement to this assessment-requirement
URI Parameters
- requisiteId: required(string)
- assessmentRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "assessmentRequirement has been added to assessment-requirement" }
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": "assessmentRequirement not found" }
delete /requisites/{requisiteId}/assessment-requirements/{assessmentRequirementId}
Remove the given assessmentRequirement from the assessment-requirement.
URI Parameters
- requisiteId: required(string)
- assessmentRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "assessmentRequirement 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": "assessmentRequirement not found" }
Add the given awardRequirement to this award-requirement
Remove the given awardRequirement from the award-requirement.
put /requisites/{requisiteId}/award-requirements/{awardRequirementId}
Add the given awardRequirement to this award-requirement
URI Parameters
- requisiteId: required(string)
- awardRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "awardRequirement has been added to award-requirement" }
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": "awardRequirement not found" }
delete /requisites/{requisiteId}/award-requirements/{awardRequirementId}
Remove the given awardRequirement from the award-requirement.
URI Parameters
- requisiteId: required(string)
- awardRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "awardRequirement 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": "awardRequirement not found" }
Add the given requisiteRequirement to this requisite-requirement
Remove the given requisiteRequirement from the requisite-requirement.
put /requisites/{requisiteId}/requisite-requirements/{requisiteId}
Add the given requisiteRequirement to this requisite-requirement
URI Parameters
- requisiteId: required(string)
- requisiteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "requisiteRequirement has been added to requisite-requirement" }
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": "requisiteRequirement not found" }
delete /requisites/{requisiteId}/requisite-requirements/{requisiteId}
Remove the given requisiteRequirement from the requisite-requirement.
URI Parameters
- requisiteId: required(string)
- requisiteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "requisiteRequirement 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": "requisiteRequirement not found" }
/course-requirements
Collection of CourseRequirements in a system, federation of systems, or in a default CourseCatalog.
Get all CourseRequirements in the system or default CourseCatalog.
Create a new CourseRequirement in the default CourseCatalog.
get /course-requirements
Get all CourseRequirements 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", "rule", "minimumGrade", "minimumScoreSystem", "course", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCourseRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCourseRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCourseRequirementType%40campusapi.org
- courseId: (string)
the id string to match a course.
Example:
course.Course%3A612%40base.url
- altRequisiteId: (string)
Id string to match altRequisite.
Example:
requisite.Requisite%3A3827%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": "requisite.CourseRequirement:6509@base.url",
"uri": "http://base.url/open/campusapi/requisite/courseRequirement/requisite.CourseRequirement%3A6509%40base.url",
"displayName": "Display Name of this CourseRequirement",
"description": "The description of this CourseRequirement",
"genusTypeId": "type.Type:defaultCourseRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"courseId": "course.Course:4070@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:3733@base.url",
"minimumScoreSystemId": "grading.GradeSystem:1634@base.url",
"minimumScore": 3.14,
"minimumEarnedCredits": 3.14
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /course-requirements
Create a new CourseRequirement in the default CourseCatalog.
Query Parameters
- courseId: required(string)
the course of this course-requirement.
Example:
course.Course%3A612%40base.url
- genusType: (string)
specify a particular courseRequirement type to create
Example:
type.Type%3AexampleCourseRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more courseRequirement record types
Example:
[ "type.Type%3AexampleCourseRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this courseRequirement
Example:
requisite.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "CourseRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this course requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this course requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this course requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this course requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this course requirement. 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 requirement. 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
},
"active": {
"description": "Whether this course requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this course requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this course requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this course requirement is operational. This course requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this course requirement.",
"type": "string",
"format": "osid-id"
},
"courseId": {
"description": "The course associated with this course requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"requiresCompletion": {
"description": "-- could someone please write a description for this --",
"type": "boolean"
},
"timeframe": {
"description": "The timeframe in which the course has to be completed.",
"type": "string",
"format": "duration"
},
"minimumGradeId": {
"description": "The minimum grade.",
"type": "string",
"format": "osid-id"
},
"minimumScoreSystemId": {
"description": "The scoring system for the minimum score.",
"type": "string",
"format": "osid-id"
},
"minimumScore": {
"description": "The minimum score.",
"type": "number"
},
"minimumEarnedCredits": {
"description": "The minimum earned credits.",
"type": "number"
}
}
}
Example:
{
"displayName": "Display Name of this CourseRequirement",
"description": "The description of this CourseRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:6055@base.url",
"minimumScoreSystemId": "grading.GradeSystem:8072@base.url",
"minimumScore": 3.14,
"minimumEarnedCredits": 3.14
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The CourseRequirement has been created",
"course-requirementId": "requisite.CourseRequirement:9876@demo.dxtera.org"}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Query the collection of CourseRequirements in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a CourseRequirementQuery object.
post /course-requirements/course-requirement-query
Submit a query using a CourseRequirementQuery 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", "rule", "minimumGrade", "minimumScoreSystem", "course", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "CourseRequirementQuery",
"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"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchRuleIds": {
"description": "List of rule Ids to match.",
"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"
}
}
}
},
"ruleQueries": {
"description": "rules.RuleQuery for the cyclic event. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCourseIds": {
"description": "List of course Ids for this query to match course requirement that have a related course.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"courseQueries": {
"description": "CourseQueries to match the course. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchRequiresCompletion": {
"description": "Match boolean value for requiresCompletion.",
"type": "object",
"properties": {
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
},
"matchTimeframe": {
"description": "Matches timeframes in the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "start range",
"type": "string",
"format": "duration"
},
"to": {
"description": "end range",
"type": "string",
"format": "duration"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyTimeframe": {
"description": "Match timeframes with any value. true to match CourseRequirements with any timeframe, false to match ProgramOfferings with no timeframe",
"type": "boolean"
},
"matchMinimumGradeIds": {
"description": "List of Grade Ids for this query to match minimumGrade.",
"type": "array",
"items": {
"type": "object",
"properties": {
"minimumGradeId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"minimumGradeQueries": {
"description": "grading.GradeQueries to match the Minimum Grade. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyMinimumGrade": {
"description": "Match minimum grade with any value. true to match CourseRequirements with any minimum grade, false to match CourseRequirements with no minimum grade",
"type": "boolean"
},
"matchMinimumScoreSystemIds": {
"description": "List of GradeSystem Ids for this query to match minimumScoreSystem.",
"type": "array",
"items": {
"type": "object",
"properties": {
"minimumScoreSystemId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"minimumScoreSystemQueries": {
"description": "grading.GradeSystemQueries to match the Minimum Score System. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyMinimumScoreSystem": {
"description": "Match minimum score system with any value. true to match CourseRequirements with any minimum score system, false to match CourseRequirements with no minimum score system",
"type": "boolean"
},
"matchMinimumScore": {
"description": "Match MinimumScore 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"
}
}
}
},
"matchAnyMinimumScore": {
"description": "Match minimumScores with any value. true to match CourseRequirements with any minimum score, false to match ProgramOfferings with no minimum score",
"type": "boolean"
},
"matchMinimumEarnedCredits": {
"description": "Match MinimumEarnedCredits 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"
}
}
}
},
"matchAnyMinimumEarnedCredits": {
"description": "Match minimumEarnedCredits with any value. true to match CourseRequirements with any minimum earned credits, false to match ProgramOfferings with no minimum earned credits",
"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": "requisite.CourseRequirement:6509@base.url",
"uri": "http://base.url/open/campusapi/requisite/courseRequirement/requisite.CourseRequirement%3A6509%40base.url",
"displayName": "Display Name of this CourseRequirement",
"description": "The description of this CourseRequirement",
"genusTypeId": "type.Type:defaultCourseRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"courseId": "course.Course:4070@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:3733@base.url",
"minimumScoreSystemId": "grading.GradeSystem:1634@base.url",
"minimumScore": 3.14,
"minimumEarnedCredits": 3.14
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a CourseRequirement form metadata.
Get form metadata for creating a new CourseRequirement.
get /course-requirements/metadata
Get form metadata for creating a new CourseRequirement.
Query Parameters
- courseId: required(string)
the course of this metadatum.
Example:
course.Course%3A612%40base.url
- genusType: (string)
specify a particular courseRequirement type to create
Example:
type.Type%3AexampleCourseRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more courseRequirement record types
Example:
[ "type.Type%3AexampleCourseRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this courseRequirement
Example:
requisite.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": "CourseRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this course requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this course requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this course requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseRequirement.CourseRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this course requirement",
"linked": false
},
"description": {
"description": "The description of this course requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseRequirement.CourseRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this course requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this course requirement. 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 requirement. 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
},
"enabled": {
"description": "Whether this course requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "CourseRequirement.CourseRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this course requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this course requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "CourseRequirement.CourseRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this course requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this course requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseRequirement.CourseRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this course requirement",
"linked": false
},
"requiresCompletion": {
"description": "-- could someone please write a description for this --",
"type": "boolean",
"elementId": "course.requisite.CourseRequirement:requiresCompletion@dxtera.org",
"existingValue": false,
"elementLabel": "Requires Completion",
"instructions": "Enter true or false.",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the course has to be completed.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.CourseRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this course requirement.",
"linked": false
},
"minimumGradeId": {
"description": "The minimum grade.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumGrade@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Grade",
"instructions": "Enter the Id of the minimum grade for this course requirement.",
"linked": false
},
"minimumScoreSystemId": {
"description": "The scoring system for the minimum score.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumScoreSystem@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Score System",
"instructions": "Enter the Id of the minimum score system for this course requirement.",
"linked": false
},
"minimumScore": {
"description": "The minimum score.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumScore@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum Score",
"instructions": "Enter the minimum score of this course requirement.",
"linked": false
},
"minimumEarnedCredits": {
"description": "The minimum earned credits.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumEarnedCredits@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum Earned Credits",
"instructions": "Enter the minimum earned credits of this course requirement.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a CourseRequirement
Get a particular CourseRequirement given its id.
Update a particular CourseRequirement given its id.
Delete a particular CourseRequirement given its id.
get /course-requirements/{courseRequirementId}
Get a particular CourseRequirement given its id.
URI Parameters
- courseRequirementId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "rule", "minimumGrade", "minimumScoreSystem", "course", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "requisite.CourseRequirement:6509@base.url",
"uri": "http://base.url/open/campusapi/requisite/courseRequirement/requisite.CourseRequirement%3A6509%40base.url",
"displayName": "Display Name of this CourseRequirement",
"description": "The description of this CourseRequirement",
"genusTypeId": "type.Type:defaultCourseRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"courseId": "course.Course:4070@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:3733@base.url",
"minimumScoreSystemId": "grading.GradeSystem:1634@base.url",
"minimumScore": 3.14,
"minimumEarnedCredits": 3.14
}
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": "CourseRequirement not found" }
put /course-requirements/{courseRequirementId}
Update a particular CourseRequirement given its id.
URI Parameters
- courseRequirementId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "CourseRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this course requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this course requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this course requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this course requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this course requirement. 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 requirement. 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
},
"active": {
"description": "Whether this course requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this course requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this course requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this course requirement is operational. This course requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this course requirement.",
"type": "string",
"format": "osid-id"
},
"courseId": {
"description": "The course associated with this course requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"requiresCompletion": {
"description": "-- could someone please write a description for this --",
"type": "boolean"
},
"timeframe": {
"description": "The timeframe in which the course has to be completed.",
"type": "string",
"format": "duration"
},
"minimumGradeId": {
"description": "The minimum grade.",
"type": "string",
"format": "osid-id"
},
"minimumScoreSystemId": {
"description": "The scoring system for the minimum score.",
"type": "string",
"format": "osid-id"
},
"minimumScore": {
"description": "The minimum score.",
"type": "number"
},
"minimumEarnedCredits": {
"description": "The minimum earned credits.",
"type": "number"
}
}
}
Example:
{
"displayName": "Display Name of this CourseRequirement",
"description": "The description of this CourseRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:6055@base.url",
"minimumScoreSystemId": "grading.GradeSystem:8072@base.url",
"minimumScore": 3.14,
"minimumEarnedCredits": 3.14
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The CourseRequirement 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": "CourseRequirement not found" }
delete /course-requirements/{courseRequirementId}
Delete a particular CourseRequirement given its id.
URI Parameters
- courseRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The CourseRequirement 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": "CourseRequirement not found" }
Entity representing a CourseRequirement form metadata for update
Get form metadata for updating an existing CourseRequirement.
get /course-requirements/{courseRequirementId}/metadata
Get form metadata for updating an existing CourseRequirement.
URI Parameters
- courseRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "CourseRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this course requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this course requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this course requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseRequirement.CourseRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this course requirement",
"linked": false
},
"description": {
"description": "The description of this course requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseRequirement.CourseRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this course requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this course requirement. 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 requirement. 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
},
"enabled": {
"description": "Whether this course requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "CourseRequirement.CourseRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this course requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this course requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "CourseRequirement.CourseRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this course requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this course requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CourseRequirement.CourseRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this course requirement",
"linked": false
},
"requiresCompletion": {
"description": "-- could someone please write a description for this --",
"type": "boolean",
"elementId": "course.requisite.CourseRequirement:requiresCompletion@dxtera.org",
"existingValue": false,
"elementLabel": "Requires Completion",
"instructions": "Enter true or false.",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the course has to be completed.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.CourseRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this course requirement.",
"linked": false
},
"minimumGradeId": {
"description": "The minimum grade.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumGrade@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Grade",
"instructions": "Enter the Id of the minimum grade for this course requirement.",
"linked": false
},
"minimumScoreSystemId": {
"description": "The scoring system for the minimum score.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumScoreSystem@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Score System",
"instructions": "Enter the Id of the minimum score system for this course requirement.",
"linked": false
},
"minimumScore": {
"description": "The minimum score.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumScore@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum Score",
"instructions": "Enter the minimum score of this course requirement.",
"linked": false
},
"minimumEarnedCredits": {
"description": "The minimum earned credits.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.CourseRequirement:minimumEarnedCredits@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum Earned Credits",
"instructions": "Enter the minimum earned credits of this course requirement.",
"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": "courseRequirement not found" }
/program-requirements
Collection of ProgramRequirements in a system, federation of systems, or in a default CourseCatalog.
Get all ProgramRequirements in the system or default CourseCatalog.
Create a new ProgramRequirement in the default CourseCatalog.
get /program-requirements
Get all ProgramRequirements 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", "rule", "minimumGPASystem", "program", 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%3AexampleProgramRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleProgramRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleProgramRequirementType%40campusapi.org
- programId: (string)
the id string to match a program.
Example:
program.Program%3A882%40base.url
- altRequisiteId: (string)
Id string to match altRequisite.
Example:
requisite.Requisite%3A3827%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": "requisite.ProgramRequirement:1973@base.url",
"uri": "http://base.url/open/campusapi/requisite/programRequirement/requisite.ProgramRequirement%3A1973%40base.url",
"displayName": "Display Name of this ProgramRequirement",
"description": "The description of this ProgramRequirement",
"genusTypeId": "type.Type:defaultProgramRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleProgramRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"programId": "course.program.Program:8000@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGpaSystemId": "grading.GradeSystem:9363@base.url",
"minimumGPA": 3.14,
"minimumEarnedCredits": 3.14
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /program-requirements
Create a new ProgramRequirement in the default CourseCatalog.
Query Parameters
- programId: required(string)
the program of this program-requirement.
Example:
program.Program%3A882%40base.url
- genusType: (string)
specify a particular programRequirement type to create
Example:
type.Type%3AexampleProgramRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more programRequirement record types
Example:
[ "type.Type%3AexampleProgramRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this programRequirement
Example:
requisite.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ProgramRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this program requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this program requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this program requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this program requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this program requirement. 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 program requirement. 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
},
"active": {
"description": "Whether this program requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this program requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this program requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this program requirement is operational. This program requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this program requirement.",
"type": "string",
"format": "osid-id"
},
"programId": {
"description": "The program associated with this program requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"requiresCompletion": {
"description": "-- could someone please write a description for this --",
"type": "boolean"
},
"timeframe": {
"description": "The timeframe in which the program has to be completed.",
"type": "string",
"format": "duration"
},
"minimumGPASystemId": {
"description": "The scoring system for the minimum GPA.",
"type": "string",
"format": "osid-id"
},
"minimumGPA": {
"description": "The minimum GPA.",
"type": "number"
},
"minimumEarnedCredits": {
"description": "The minimum earned credits.",
"type": "number"
}
}
}
Example:
{
"displayName": "Display Name of this ProgramRequirement",
"description": "The description of this ProgramRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGpaSystemId": "grading.GradeSystem:6163@base.url",
"minimumGPA": 3.14,
"minimumEarnedCredits": 3.14
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The ProgramRequirement has been created",
"program-requirementId": "requisite.ProgramRequirement:9876@demo.dxtera.org"}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Query the collection of ProgramRequirements in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a ProgramRequirementQuery object.
post /program-requirements/program-requirement-query
Submit a query using a ProgramRequirementQuery 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", "rule", "minimumGPASystem", "program", 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": "ProgramRequirementQuery",
"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"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchRuleIds": {
"description": "List of rule Ids to match.",
"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"
}
}
}
},
"ruleQueries": {
"description": "rules.RuleQuery for the cyclic event. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchProgramIds": {
"description": "List of program Ids for this query to match program requirement that have a related program.",
"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"
}
}
}
},
"programQueries": {
"description": "ProgramQueries to match the program. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchRequiresCompletion": {
"description": "Match boolean value for requiresCompletion.",
"type": "object",
"properties": {
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
},
"matchTimeframe": {
"description": "Matches timeframes in the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "start range",
"type": "string",
"format": "duration"
},
"to": {
"description": "end range",
"type": "string",
"format": "duration"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyTimeframe": {
"description": "Match timeframes with any value. true to match ProgramRequirements with any timeframe, false to match ProgramOfferings with no timeframe",
"type": "boolean"
},
"matchMinimumGPASystemIds": {
"description": "List of GradeSystem Ids for this query to match minimumGPASystem.",
"type": "array",
"items": {
"type": "object",
"properties": {
"minimumGPASystemId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"minimumGPASystemQueries": {
"description": "grading.GradeSystemQueries to match the Minimum GPA System. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyMinimumGPASystem": {
"description": "Match minimum gpa system with any value. true to match ProgramRequirements with any minimum gpa system, false to match ProgramRequirements with no minimum gpa system",
"type": "boolean"
},
"matchMinimumGPA": {
"description": "Match MinimumGPA 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"
}
}
}
},
"matchAnyMinimumGPA": {
"description": "Match minimumGpas with any value. true to match ProgramRequirements with any minimum gpa, false to match ProgramOfferings with no minimum gpa",
"type": "boolean"
},
"matchMinimumEarnedCredits": {
"description": "Match MinimumEarnedCredits 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"
}
}
}
},
"matchAnyMinimumEarnedCredits": {
"description": "Match minimumEarnedCredits with any value. true to match ProgramRequirements with any minimum earned credits, false to match ProgramOfferings with no minimum earned credits",
"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": "requisite.ProgramRequirement:1973@base.url",
"uri": "http://base.url/open/campusapi/requisite/programRequirement/requisite.ProgramRequirement%3A1973%40base.url",
"displayName": "Display Name of this ProgramRequirement",
"description": "The description of this ProgramRequirement",
"genusTypeId": "type.Type:defaultProgramRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleProgramRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"programId": "course.program.Program:8000@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGpaSystemId": "grading.GradeSystem:9363@base.url",
"minimumGPA": 3.14,
"minimumEarnedCredits": 3.14
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a ProgramRequirement form metadata.
Get form metadata for creating a new ProgramRequirement.
get /program-requirements/metadata
Get form metadata for creating a new ProgramRequirement.
Query Parameters
- programId: required(string)
the program of this metadatum.
Example:
program.Program%3A882%40base.url
- genusType: (string)
specify a particular programRequirement type to create
Example:
type.Type%3AexampleProgramRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more programRequirement record types
Example:
[ "type.Type%3AexampleProgramRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this programRequirement
Example:
requisite.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": "ProgramRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this program requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this program requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this program requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ProgramRequirement.ProgramRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this program requirement",
"linked": false
},
"description": {
"description": "The description of this program requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ProgramRequirement.ProgramRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this program requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this program requirement. 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 program requirement. 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
},
"enabled": {
"description": "Whether this program requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "ProgramRequirement.ProgramRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this program requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this program requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "ProgramRequirement.ProgramRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this program requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this program requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ProgramRequirement.ProgramRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this program requirement",
"linked": false
},
"requiresCompletion": {
"description": "-- could someone please write a description for this --",
"type": "boolean",
"elementId": "course.requisite.ProgramRequirement:requiresCompletion@dxtera.org",
"existingValue": false,
"elementLabel": "Requires Completion",
"instructions": "Enter true or false.",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the program has to be completed.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.ProgramRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this program requirement.",
"linked": false
},
"minimumGPASystemId": {
"description": "The scoring system for the minimum GPA.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.ProgramRequirement:minimumGPASystem@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum GPA System",
"instructions": "Enter the Id of the minimum gpa system for this program requirement.",
"linked": false
},
"minimumGPA": {
"description": "The minimum GPA.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.ProgramRequirement:minimumGPA@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum GPA",
"instructions": "Enter the minimum gpa of this program requirement.",
"linked": false
},
"minimumEarnedCredits": {
"description": "The minimum earned credits.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.ProgramRequirement:minimumEarnedCredits@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum Earned Credits",
"instructions": "Enter the minimum earned credits of this program requirement.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a ProgramRequirement
Get a particular ProgramRequirement given its id.
Update a particular ProgramRequirement given its id.
Delete a particular ProgramRequirement given its id.
get /program-requirements/{programRequirementId}
Get a particular ProgramRequirement given its id.
URI Parameters
- programRequirementId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "rule", "minimumGPASystem", "program", 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": "requisite.ProgramRequirement:1973@base.url",
"uri": "http://base.url/open/campusapi/requisite/programRequirement/requisite.ProgramRequirement%3A1973%40base.url",
"displayName": "Display Name of this ProgramRequirement",
"description": "The description of this ProgramRequirement",
"genusTypeId": "type.Type:defaultProgramRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleProgramRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"programId": "course.program.Program:8000@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGpaSystemId": "grading.GradeSystem:9363@base.url",
"minimumGPA": 3.14,
"minimumEarnedCredits": 3.14
}
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": "ProgramRequirement not found" }
put /program-requirements/{programRequirementId}
Update a particular ProgramRequirement given its id.
URI Parameters
- programRequirementId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ProgramRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this program requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this program requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this program requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this program requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this program requirement. 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 program requirement. 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
},
"active": {
"description": "Whether this program requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this program requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this program requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this program requirement is operational. This program requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this program requirement.",
"type": "string",
"format": "osid-id"
},
"programId": {
"description": "The program associated with this program requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"requiresCompletion": {
"description": "-- could someone please write a description for this --",
"type": "boolean"
},
"timeframe": {
"description": "The timeframe in which the program has to be completed.",
"type": "string",
"format": "duration"
},
"minimumGPASystemId": {
"description": "The scoring system for the minimum GPA.",
"type": "string",
"format": "osid-id"
},
"minimumGPA": {
"description": "The minimum GPA.",
"type": "number"
},
"minimumEarnedCredits": {
"description": "The minimum earned credits.",
"type": "number"
}
}
}
Example:
{
"displayName": "Display Name of this ProgramRequirement",
"description": "The description of this ProgramRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGpaSystemId": "grading.GradeSystem:6163@base.url",
"minimumGPA": 3.14,
"minimumEarnedCredits": 3.14
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The ProgramRequirement 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": "ProgramRequirement not found" }
delete /program-requirements/{programRequirementId}
Delete a particular ProgramRequirement given its id.
URI Parameters
- programRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The ProgramRequirement 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": "ProgramRequirement not found" }
Entity representing a ProgramRequirement form metadata for update
Get form metadata for updating an existing ProgramRequirement.
get /program-requirements/{programRequirementId}/metadata
Get form metadata for updating an existing ProgramRequirement.
URI Parameters
- programRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "ProgramRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this program requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this program requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this program requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ProgramRequirement.ProgramRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this program requirement",
"linked": false
},
"description": {
"description": "The description of this program requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ProgramRequirement.ProgramRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this program requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this program requirement. 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 program requirement. 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
},
"enabled": {
"description": "Whether this program requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "ProgramRequirement.ProgramRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this program requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this program requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "ProgramRequirement.ProgramRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this program requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this program requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ProgramRequirement.ProgramRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this program requirement",
"linked": false
},
"requiresCompletion": {
"description": "-- could someone please write a description for this --",
"type": "boolean",
"elementId": "course.requisite.ProgramRequirement:requiresCompletion@dxtera.org",
"existingValue": false,
"elementLabel": "Requires Completion",
"instructions": "Enter true or false.",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the program has to be completed.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.ProgramRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this program requirement.",
"linked": false
},
"minimumGPASystemId": {
"description": "The scoring system for the minimum GPA.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.ProgramRequirement:minimumGPASystem@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum GPA System",
"instructions": "Enter the Id of the minimum gpa system for this program requirement.",
"linked": false
},
"minimumGPA": {
"description": "The minimum GPA.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.ProgramRequirement:minimumGPA@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum GPA",
"instructions": "Enter the minimum gpa of this program requirement.",
"linked": false
},
"minimumEarnedCredits": {
"description": "The minimum earned credits.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.ProgramRequirement:minimumEarnedCredits@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum Earned Credits",
"instructions": "Enter the minimum earned credits of this program requirement.",
"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": "programRequirement not found" }
/credential-requirements
Collection of CredentialRequirements in a system, federation of systems, or in a default CourseCatalog.
Get all CredentialRequirements in the system or default CourseCatalog.
Create a new CredentialRequirement in the default CourseCatalog.
get /credential-requirements
Get all CredentialRequirements 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", "rule", "credential", 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%3AexampleCredentialRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCredentialRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCredentialRequirementType%40campusapi.org
- credentialId: (string)
the id string to match a credential.
Example:
program.Credential%3A1470%40base.url
- altRequisiteId: (string)
Id string to match altRequisite.
Example:
requisite.Requisite%3A3827%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": "requisite.CredentialRequirement:2998@base.url",
"uri": "http://base.url/open/campusapi/requisite/credentialRequirement/requisite.CredentialRequirement%3A2998%40base.url",
"displayName": "Display Name of this CredentialRequirement",
"description": "The description of this CredentialRequirement",
"genusTypeId": "type.Type:defaultCredentialRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleCredentialRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"credentialId": "course.program.Credential:7517@base.url",
"timeframe": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /credential-requirements
Create a new CredentialRequirement in the default CourseCatalog.
Query Parameters
- credentialId: required(string)
the credential of this credential-requirement.
Example:
program.Credential%3A1470%40base.url
- genusType: (string)
specify a particular credentialRequirement type to create
Example:
type.Type%3AexampleCredentialRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more credentialRequirement record types
Example:
[ "type.Type%3AexampleCredentialRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this credentialRequirement
Example:
requisite.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "CredentialRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this credential requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this credential requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this credential requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this credential requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this credential requirement. 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 credential requirement. 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
},
"active": {
"description": "Whether this credential requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this credential requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this credential requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this credential requirement is operational. This credential requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this credential requirement.",
"type": "string",
"format": "osid-id"
},
"credentialId": {
"description": "The credential associated with this credential requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timeframe": {
"description": "The timeframe in which the credential has to be earned.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this CredentialRequirement",
"description": "The description of this CredentialRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"timeframe": "P3DT3H"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The CredentialRequirement has been created",
"credential-requirementId": "requisite.CredentialRequirement:9876@demo.dxtera.org"}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Query the collection of CredentialRequirements in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a CredentialRequirementQuery object.
post /credential-requirements/credential-requirement-query
Submit a query using a CredentialRequirementQuery 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", "rule", "credential", 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": "CredentialRequirementQuery",
"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"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchRuleIds": {
"description": "List of rule Ids to match.",
"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"
}
}
}
},
"ruleQueries": {
"description": "rules.RuleQuery for the cyclic event. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCredentialIds": {
"description": "List of credential Ids for this query to match credential requirement that have a related credential.",
"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"
}
}
}
},
"credentialQueries": {
"description": "CredentialQueries to match the credential. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchTimeframe": {
"description": "Matches timeframes in the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "start range",
"type": "string",
"format": "duration"
},
"to": {
"description": "end range",
"type": "string",
"format": "duration"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyTimeframe": {
"description": "Match timeframes with any value. true to match CredentialRequirements with any timeframe, false to match ProgramOfferings with no timeframe",
"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": "requisite.CredentialRequirement:2998@base.url",
"uri": "http://base.url/open/campusapi/requisite/credentialRequirement/requisite.CredentialRequirement%3A2998%40base.url",
"displayName": "Display Name of this CredentialRequirement",
"description": "The description of this CredentialRequirement",
"genusTypeId": "type.Type:defaultCredentialRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleCredentialRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"credentialId": "course.program.Credential:7517@base.url",
"timeframe": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a CredentialRequirement form metadata.
Get form metadata for creating a new CredentialRequirement.
get /credential-requirements/metadata
Get form metadata for creating a new CredentialRequirement.
Query Parameters
- credentialId: required(string)
the credential of this metadatum.
Example:
program.Credential%3A1470%40base.url
- genusType: (string)
specify a particular credentialRequirement type to create
Example:
type.Type%3AexampleCredentialRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more credentialRequirement record types
Example:
[ "type.Type%3AexampleCredentialRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this credentialRequirement
Example:
requisite.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": "CredentialRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this credential requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this credential requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this credential requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CredentialRequirement.CredentialRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this credential requirement",
"linked": false
},
"description": {
"description": "The description of this credential requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CredentialRequirement.CredentialRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this credential requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this credential requirement. 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 credential requirement. 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
},
"enabled": {
"description": "Whether this credential requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "CredentialRequirement.CredentialRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this credential requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this credential requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "CredentialRequirement.CredentialRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this credential requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this credential requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CredentialRequirement.CredentialRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this credential requirement",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the credential has to be earned.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.CredentialRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this credential requirement.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a CredentialRequirement
Get a particular CredentialRequirement given its id.
Update a particular CredentialRequirement given its id.
Delete a particular CredentialRequirement given its id.
get /credential-requirements/{credentialRequirementId}
Get a particular CredentialRequirement given its id.
URI Parameters
- credentialRequirementId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "rule", "credential", 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": "requisite.CredentialRequirement:2998@base.url",
"uri": "http://base.url/open/campusapi/requisite/credentialRequirement/requisite.CredentialRequirement%3A2998%40base.url",
"displayName": "Display Name of this CredentialRequirement",
"description": "The description of this CredentialRequirement",
"genusTypeId": "type.Type:defaultCredentialRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleCredentialRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"credentialId": "course.program.Credential:7517@base.url",
"timeframe": "P3DT3H"
}
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": "CredentialRequirement not found" }
put /credential-requirements/{credentialRequirementId}
Update a particular CredentialRequirement given its id.
URI Parameters
- credentialRequirementId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "CredentialRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this credential requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this credential requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this credential requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this credential requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this credential requirement. 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 credential requirement. 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
},
"active": {
"description": "Whether this credential requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this credential requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this credential requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this credential requirement is operational. This credential requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this credential requirement.",
"type": "string",
"format": "osid-id"
},
"credentialId": {
"description": "The credential associated with this credential requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timeframe": {
"description": "The timeframe in which the credential has to be earned.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this CredentialRequirement",
"description": "The description of this CredentialRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"timeframe": "P3DT3H"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The CredentialRequirement 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": "CredentialRequirement not found" }
delete /credential-requirements/{credentialRequirementId}
Delete a particular CredentialRequirement given its id.
URI Parameters
- credentialRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The CredentialRequirement 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": "CredentialRequirement not found" }
Entity representing a CredentialRequirement form metadata for update
Get form metadata for updating an existing CredentialRequirement.
get /credential-requirements/{credentialRequirementId}/metadata
Get form metadata for updating an existing CredentialRequirement.
URI Parameters
- credentialRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "CredentialRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this credential requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this credential requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this credential requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CredentialRequirement.CredentialRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this credential requirement",
"linked": false
},
"description": {
"description": "The description of this credential requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CredentialRequirement.CredentialRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this credential requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this credential requirement. 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 credential requirement. 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
},
"enabled": {
"description": "Whether this credential requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "CredentialRequirement.CredentialRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this credential requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this credential requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "CredentialRequirement.CredentialRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this credential requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this credential requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "CredentialRequirement.CredentialRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this credential requirement",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the credential has to be earned.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.CredentialRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this credential requirement.",
"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": "credentialRequirement not found" }
/learning-objective-requirements
Collection of LearningObjectiveRequirements in a system, federation of systems, or in a default CourseCatalog.
Get all LearningObjectiveRequirements in the system or default CourseCatalog.
Create a new LearningObjectiveRequirement in the default CourseCatalog.
get /learning-objective-requirements
Get all LearningObjectiveRequirements 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", "rule", "minimumProficiency", "learningObjective", 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%3AexampleLearningObjectiveRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleLearningObjectiveRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleLearningObjectiveRequirementType%40campusapi.org
- learningObjectiveId: (string)
the id string to match a learning-objective.
Example:
learning.Objective%3A4032%40base.url
- altRequisiteId: (string)
Id string to match altRequisite.
Example:
requisite.Requisite%3A3827%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": "requisite.LearningObjectiveRequirement:1733@base.url",
"uri": "http://base.url/open/campusapi/requisite/learningObjectiveRequirement/requisite.LearningObjectiveRequirement%3A1733%40base.url",
"displayName": "Display Name of this LearningObjectiveRequirement",
"description": "The description of this LearningObjectiveRequirement",
"genusTypeId": "type.Type:defaultLearningObjectiveRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleLearningObjectiveRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"learningObjectiveId": "learning.Objective:308@base.url",
"minimumProficiencyId": "grading.Grade:4172@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /learning-objective-requirements
Create a new LearningObjectiveRequirement in the default CourseCatalog.
Query Parameters
- learningObjectiveId: required(string)
the learning-objective of this learning-objective-requirement.
Example:
learning.Objective%3A4032%40base.url
- genusType: (string)
specify a particular learningObjectiveRequirement type to create
Example:
type.Type%3AexampleLearningObjectiveRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more learningObjectiveRequirement record types
Example:
[ "type.Type%3AexampleLearningObjectiveRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this learningObjectiveRequirement
Example:
requisite.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "LearningObjectiveRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this learning objective requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this learning objective requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this learning objective requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this learning objective requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this learning objective requirement. 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 learning objective requirement. 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
},
"active": {
"description": "Whether this learning objective requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this learning objective requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this learning objective requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this learning objective requirement is operational. This learning objective requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this learning objective requirement.",
"type": "string",
"format": "osid-id"
},
"learningObjectiveId": {
"description": "The learning objective associated with this learning objective requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"minimumProficiencyId": {
"description": "The minimum proficiency expressed as a Grade.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this LearningObjectiveRequirement",
"description": "The description of this LearningObjectiveRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"minimumProficiencyId": "grading.Grade:6403@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The LearningObjectiveRequirement has been created",
"learning-objective-requirementId": "requisite.LearningObjectiveRequirement:9876@demo.dxtera.org"}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Query the collection of LearningObjectiveRequirements in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a LearningObjectiveRequirementQuery object.
post /learning-objective-requirements/learning-objective-requirement-query
Submit a query using a LearningObjectiveRequirementQuery 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", "rule", "minimumProficiency", "learningObjective", 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": "LearningObjectiveRequirementQuery",
"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"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchRuleIds": {
"description": "List of rule Ids to match.",
"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"
}
}
}
},
"ruleQueries": {
"description": "rules.RuleQuery for the cyclic event. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchLearningObjectiveIds": {
"description": "List of learningObjective Ids for this query to match learning objective requirement that have a related learningObjective.",
"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"
}
}
}
},
"learningObjectiveQueries": {
"description": "LearningObjectiveQueries to match the learningObjective. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchMinimumProficiencyIds": {
"description": "List of Grade Ids for this query to match minimumProficiency.",
"type": "array",
"items": {
"type": "object",
"properties": {
"minimumProficiencyId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"minimumProficiencyQueries": {
"description": "grading.GradeQueries to match the Minimum Proficiency. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyMinimumProficiency": {
"description": "Match minimum proficiency with any value. true to match LearningObjectiveRequirements with any minimum proficiency, false to match LearningObjectiveRequirements with no minimum proficiency",
"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": "requisite.LearningObjectiveRequirement:1733@base.url",
"uri": "http://base.url/open/campusapi/requisite/learningObjectiveRequirement/requisite.LearningObjectiveRequirement%3A1733%40base.url",
"displayName": "Display Name of this LearningObjectiveRequirement",
"description": "The description of this LearningObjectiveRequirement",
"genusTypeId": "type.Type:defaultLearningObjectiveRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleLearningObjectiveRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"learningObjectiveId": "learning.Objective:308@base.url",
"minimumProficiencyId": "grading.Grade:4172@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a LearningObjectiveRequirement form metadata.
Get form metadata for creating a new LearningObjectiveRequirement.
get /learning-objective-requirements/metadata
Get form metadata for creating a new LearningObjectiveRequirement.
Query Parameters
- learningObjectiveId: required(string)
the learning-objective of this metadatum.
Example:
learning.Objective%3A4032%40base.url
- genusType: (string)
specify a particular learningObjectiveRequirement type to create
Example:
type.Type%3AexampleLearningObjectiveRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more learningObjectiveRequirement record types
Example:
[ "type.Type%3AexampleLearningObjectiveRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this learningObjectiveRequirement
Example:
requisite.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": "LearningObjectiveRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this learning objective requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this learning objective requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this learning objective requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this learning objective requirement",
"linked": false
},
"description": {
"description": "The description of this learning objective requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this learning objective requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this learning objective requirement. 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 learning objective requirement. 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
},
"enabled": {
"description": "Whether this learning objective requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this learning objective requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this learning objective requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this learning objective requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this learning objective requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this learning objective requirement",
"linked": false
},
"minimumProficiencyId": {
"description": "The minimum proficiency expressed as a Grade.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.LearningObjectiveRequirement:minimumProficiency@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Proficiency",
"instructions": "Enter the Id of the minimum proficiency for this learning objective requirement.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a LearningObjectiveRequirement
Get a particular LearningObjectiveRequirement given its id.
Update a particular LearningObjectiveRequirement given its id.
Delete a particular LearningObjectiveRequirement given its id.
get /learning-objective-requirements/{learningObjectiveRequirementId}
Get a particular LearningObjectiveRequirement given its id.
URI Parameters
- learningObjectiveRequirementId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "rule", "minimumProficiency", "learningObjective", 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": "requisite.LearningObjectiveRequirement:1733@base.url",
"uri": "http://base.url/open/campusapi/requisite/learningObjectiveRequirement/requisite.LearningObjectiveRequirement%3A1733%40base.url",
"displayName": "Display Name of this LearningObjectiveRequirement",
"description": "The description of this LearningObjectiveRequirement",
"genusTypeId": "type.Type:defaultLearningObjectiveRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleLearningObjectiveRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"learningObjectiveId": "learning.Objective:308@base.url",
"minimumProficiencyId": "grading.Grade:4172@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": "LearningObjectiveRequirement not found" }
put /learning-objective-requirements/{learningObjectiveRequirementId}
Update a particular LearningObjectiveRequirement given its id.
URI Parameters
- learningObjectiveRequirementId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "LearningObjectiveRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this learning objective requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this learning objective requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this learning objective requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this learning objective requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this learning objective requirement. 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 learning objective requirement. 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
},
"active": {
"description": "Whether this learning objective requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this learning objective requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this learning objective requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this learning objective requirement is operational. This learning objective requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this learning objective requirement.",
"type": "string",
"format": "osid-id"
},
"learningObjectiveId": {
"description": "The learning objective associated with this learning objective requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"minimumProficiencyId": {
"description": "The minimum proficiency expressed as a Grade.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this LearningObjectiveRequirement",
"description": "The description of this LearningObjectiveRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"minimumProficiencyId": "grading.Grade:6403@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The LearningObjectiveRequirement 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": "LearningObjectiveRequirement not found" }
delete /learning-objective-requirements/{learningObjectiveRequirementId}
Delete a particular LearningObjectiveRequirement given its id.
URI Parameters
- learningObjectiveRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The LearningObjectiveRequirement 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": "LearningObjectiveRequirement not found" }
Entity representing a LearningObjectiveRequirement form metadata for update
Get form metadata for updating an existing LearningObjectiveRequirement.
get /learning-objective-requirements/{learningObjectiveRequirementId}/metadata
Get form metadata for updating an existing LearningObjectiveRequirement.
URI Parameters
- learningObjectiveRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "LearningObjectiveRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this learning objective requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this learning objective requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this learning objective requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this learning objective requirement",
"linked": false
},
"description": {
"description": "The description of this learning objective requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this learning objective requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this learning objective requirement. 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 learning objective requirement. 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
},
"enabled": {
"description": "Whether this learning objective requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this learning objective requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this learning objective requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this learning objective requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this learning objective requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "LearningObjectiveRequirement.LearningObjectiveRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this learning objective requirement",
"linked": false
},
"minimumProficiencyId": {
"description": "The minimum proficiency expressed as a Grade.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.LearningObjectiveRequirement:minimumProficiency@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Proficiency",
"instructions": "Enter the Id of the minimum proficiency for this learning objective requirement.",
"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": "learningObjectiveRequirement not found" }
/assessment-requirements
Collection of AssessmentRequirements in a system, federation of systems, or in a default CourseCatalog.
Get all AssessmentRequirements in the system or default CourseCatalog.
Create a new AssessmentRequirement in the default CourseCatalog.
get /assessment-requirements
Get all AssessmentRequirements 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", "rule", "minimumGrade", "minimumScoreSystem", "assessment", 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%3AexampleAssessmentRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleAssessmentRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleAssessmentRequirementType%40campusapi.org
- assessmentId: (string)
the id string to match a assessment.
Example:
assessment.Assessment%3A2100%40base.url
- altRequisiteId: (string)
Id string to match altRequisite.
Example:
requisite.Requisite%3A3827%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": "requisite.AssessmentRequirement:2604@base.url",
"uri": "http://base.url/open/campusapi/requisite/assessmentRequirement/requisite.AssessmentRequirement%3A2604%40base.url",
"displayName": "Display Name of this AssessmentRequirement",
"description": "The description of this AssessmentRequirement",
"genusTypeId": "type.Type:defaultAssessmentRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleAssessmentRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"assessmentId": "assessment.Assessment:3919@base.url",
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:2934@base.url",
"minimumScoreSystemId": "grading.GradeSystem:5612@base.url",
"minimumScore": 3.14
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /assessment-requirements
Create a new AssessmentRequirement in the default CourseCatalog.
Query Parameters
- assessmentId: required(string)
the assessment of this assessment-requirement.
Example:
assessment.Assessment%3A2100%40base.url
- genusType: (string)
specify a particular assessmentRequirement type to create
Example:
type.Type%3AexampleAssessmentRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more assessmentRequirement record types
Example:
[ "type.Type%3AexampleAssessmentRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this assessmentRequirement
Example:
requisite.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "AssessmentRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this assessment requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this assessment requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this assessment requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this assessment requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this assessment requirement. 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 assessment requirement. 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
},
"active": {
"description": "Whether this assessment requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this assessment requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this assessment requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this assessment requirement is operational. This assessment requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this assessment requirement.",
"type": "string",
"format": "osid-id"
},
"assessmentId": {
"description": "The assessment associated with this assessment requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timeframe": {
"description": "The timeframe in which the assessment has to be completed.",
"type": "string",
"format": "duration"
},
"minimumGradeId": {
"description": "The minimum grade.",
"type": "string",
"format": "osid-id"
},
"minimumScoreSystemId": {
"description": "The scoring system for the minimum score.",
"type": "string",
"format": "osid-id"
},
"minimumScore": {
"description": "The minimum score.",
"type": "number"
}
}
}
Example:
{
"displayName": "Display Name of this AssessmentRequirement",
"description": "The description of this AssessmentRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:6156@base.url",
"minimumScoreSystemId": "grading.GradeSystem:9591@base.url",
"minimumScore": 3.14
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The AssessmentRequirement has been created",
"assessment-requirementId": "requisite.AssessmentRequirement:9876@demo.dxtera.org"}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Query the collection of AssessmentRequirements in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a AssessmentRequirementQuery object.
post /assessment-requirements/assessment-requirement-query
Submit a query using a AssessmentRequirementQuery 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", "rule", "minimumGrade", "minimumScoreSystem", "assessment", 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": "AssessmentRequirementQuery",
"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"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchRuleIds": {
"description": "List of rule Ids to match.",
"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"
}
}
}
},
"ruleQueries": {
"description": "rules.RuleQuery for the cyclic event. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAssessmentIds": {
"description": "List of assessment Ids for this query to match assessment requirement that have a related assessment.",
"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"
}
}
}
},
"assessmentQueries": {
"description": "AssessmentQueries to match the assessment. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchTimeframe": {
"description": "Matches timeframes in the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "start range",
"type": "string",
"format": "duration"
},
"to": {
"description": "end range",
"type": "string",
"format": "duration"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyTimeframe": {
"description": "Match timeframes with any value. true to match AssessmentRequirements with any timeframe, false to match ProgramOfferings with no timeframe",
"type": "boolean"
},
"matchMinimumGradeIds": {
"description": "List of Grade Ids for this query to match minimumGrade.",
"type": "array",
"items": {
"type": "object",
"properties": {
"minimumGradeId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"minimumGradeQueries": {
"description": "grading.GradeQueries to match the Minimum Grade. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyMinimumGrade": {
"description": "Match minimum grade with any value. true to match AssessmentRequirements with any minimum grade, false to match AssessmentRequirements with no minimum grade",
"type": "boolean"
},
"matchMinimumScoreSystemIds": {
"description": "List of GradeSystem Ids for this query to match minimumScoreSystem.",
"type": "array",
"items": {
"type": "object",
"properties": {
"minimumScoreSystemId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"minimumScoreSystemQueries": {
"description": "grading.GradeSystemQueries to match the Minimum Score System. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyMinimumScoreSystem": {
"description": "Match minimum score system with any value. true to match AssessmentRequirements with any minimum score system, false to match AssessmentRequirements with no minimum score system",
"type": "boolean"
},
"matchMinimumScore": {
"description": "Match MinimumScore 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"
}
}
}
},
"matchAnyMinimumScore": {
"description": "Match minimumScores with any value. true to match AssessmentRequirements with any minimum score, false to match ProgramOfferings with no minimum score",
"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": "requisite.AssessmentRequirement:2604@base.url",
"uri": "http://base.url/open/campusapi/requisite/assessmentRequirement/requisite.AssessmentRequirement%3A2604%40base.url",
"displayName": "Display Name of this AssessmentRequirement",
"description": "The description of this AssessmentRequirement",
"genusTypeId": "type.Type:defaultAssessmentRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleAssessmentRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"assessmentId": "assessment.Assessment:3919@base.url",
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:2934@base.url",
"minimumScoreSystemId": "grading.GradeSystem:5612@base.url",
"minimumScore": 3.14
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a AssessmentRequirement form metadata.
Get form metadata for creating a new AssessmentRequirement.
get /assessment-requirements/metadata
Get form metadata for creating a new AssessmentRequirement.
Query Parameters
- assessmentId: required(string)
the assessment of this metadatum.
Example:
assessment.Assessment%3A2100%40base.url
- genusType: (string)
specify a particular assessmentRequirement type to create
Example:
type.Type%3AexampleAssessmentRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more assessmentRequirement record types
Example:
[ "type.Type%3AexampleAssessmentRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this assessmentRequirement
Example:
requisite.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": "AssessmentRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this assessment requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this assessment requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this assessment requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AssessmentRequirement.AssessmentRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this assessment requirement",
"linked": false
},
"description": {
"description": "The description of this assessment requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AssessmentRequirement.AssessmentRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this assessment requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this assessment requirement. 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 assessment requirement. 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
},
"enabled": {
"description": "Whether this assessment requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "AssessmentRequirement.AssessmentRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this assessment requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this assessment requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "AssessmentRequirement.AssessmentRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this assessment requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this assessment requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AssessmentRequirement.AssessmentRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this assessment requirement",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the assessment has to be completed.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.AssessmentRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this assessment requirement.",
"linked": false
},
"minimumGradeId": {
"description": "The minimum grade.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.AssessmentRequirement:minimumGrade@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Grade",
"instructions": "Enter the Id of the minimum grade for this assessment requirement.",
"linked": false
},
"minimumScoreSystemId": {
"description": "The scoring system for the minimum score.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.AssessmentRequirement:minimumScoreSystem@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Score System",
"instructions": "Enter the Id of the minimum score system for this assessment requirement.",
"linked": false
},
"minimumScore": {
"description": "The minimum score.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.AssessmentRequirement:minimumScore@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum Score",
"instructions": "Enter the minimum score of this assessment requirement.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a AssessmentRequirement
Get a particular AssessmentRequirement given its id.
Update a particular AssessmentRequirement given its id.
Delete a particular AssessmentRequirement given its id.
get /assessment-requirements/{assessmentRequirementId}
Get a particular AssessmentRequirement given its id.
URI Parameters
- assessmentRequirementId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "rule", "minimumGrade", "minimumScoreSystem", "assessment", 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": "requisite.AssessmentRequirement:2604@base.url",
"uri": "http://base.url/open/campusapi/requisite/assessmentRequirement/requisite.AssessmentRequirement%3A2604%40base.url",
"displayName": "Display Name of this AssessmentRequirement",
"description": "The description of this AssessmentRequirement",
"genusTypeId": "type.Type:defaultAssessmentRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleAssessmentRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"assessmentId": "assessment.Assessment:3919@base.url",
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:2934@base.url",
"minimumScoreSystemId": "grading.GradeSystem:5612@base.url",
"minimumScore": 3.14
}
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": "AssessmentRequirement not found" }
put /assessment-requirements/{assessmentRequirementId}
Update a particular AssessmentRequirement given its id.
URI Parameters
- assessmentRequirementId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "AssessmentRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this assessment requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this assessment requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this assessment requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this assessment requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this assessment requirement. 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 assessment requirement. 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
},
"active": {
"description": "Whether this assessment requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this assessment requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this assessment requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this assessment requirement is operational. This assessment requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this assessment requirement.",
"type": "string",
"format": "osid-id"
},
"assessmentId": {
"description": "The assessment associated with this assessment requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timeframe": {
"description": "The timeframe in which the assessment has to be completed.",
"type": "string",
"format": "duration"
},
"minimumGradeId": {
"description": "The minimum grade.",
"type": "string",
"format": "osid-id"
},
"minimumScoreSystemId": {
"description": "The scoring system for the minimum score.",
"type": "string",
"format": "osid-id"
},
"minimumScore": {
"description": "The minimum score.",
"type": "number"
}
}
}
Example:
{
"displayName": "Display Name of this AssessmentRequirement",
"description": "The description of this AssessmentRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:6156@base.url",
"minimumScoreSystemId": "grading.GradeSystem:9591@base.url",
"minimumScore": 3.14
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The AssessmentRequirement 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": "AssessmentRequirement not found" }
delete /assessment-requirements/{assessmentRequirementId}
Delete a particular AssessmentRequirement given its id.
URI Parameters
- assessmentRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The AssessmentRequirement 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": "AssessmentRequirement not found" }
Entity representing a AssessmentRequirement form metadata for update
Get form metadata for updating an existing AssessmentRequirement.
get /assessment-requirements/{assessmentRequirementId}/metadata
Get form metadata for updating an existing AssessmentRequirement.
URI Parameters
- assessmentRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "AssessmentRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this assessment requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this assessment requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this assessment requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AssessmentRequirement.AssessmentRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this assessment requirement",
"linked": false
},
"description": {
"description": "The description of this assessment requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AssessmentRequirement.AssessmentRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this assessment requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this assessment requirement. 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 assessment requirement. 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
},
"enabled": {
"description": "Whether this assessment requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "AssessmentRequirement.AssessmentRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this assessment requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this assessment requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "AssessmentRequirement.AssessmentRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this assessment requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this assessment requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AssessmentRequirement.AssessmentRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this assessment requirement",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the assessment has to be completed.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.AssessmentRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this assessment requirement.",
"linked": false
},
"minimumGradeId": {
"description": "The minimum grade.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.AssessmentRequirement:minimumGrade@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Grade",
"instructions": "Enter the Id of the minimum grade for this assessment requirement.",
"linked": false
},
"minimumScoreSystemId": {
"description": "The scoring system for the minimum score.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.AssessmentRequirement:minimumScoreSystem@dxtera.org",
"existingValue": null,
"elementLabel": "Minimum Score System",
"instructions": "Enter the Id of the minimum score system for this assessment requirement.",
"linked": false
},
"minimumScore": {
"description": "The minimum score.",
"type": "number",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "course.requisite.AssessmentRequirement:minimumScore@dxtera.org",
"existingValue": 3.14,
"elementLabel": "Minimum Score",
"instructions": "Enter the minimum score of this assessment requirement.",
"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": "assessmentRequirement not found" }
/award-requirements
Collection of AwardRequirements in a system, federation of systems, or in a default CourseCatalog.
Get all AwardRequirements in the system or default CourseCatalog.
Create a new AwardRequirement in the default CourseCatalog.
get /award-requirements
Get all AwardRequirements 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", "rule", "award", 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%3AexampleAwardRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleAwardRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleAwardRequirementType%40campusapi.org
- awardId: (string)
the id string to match a award.
Example:
recognition.Award%3A880%40base.url
- altRequisiteId: (string)
Id string to match altRequisite.
Example:
requisite.Requisite%3A3827%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": "requisite.AwardRequirement:663@base.url",
"uri": "http://base.url/open/campusapi/requisite/awardRequirement/requisite.AwardRequirement%3A663%40base.url",
"displayName": "Display Name of this AwardRequirement",
"description": "The description of this AwardRequirement",
"genusTypeId": "type.Type:defaultAwardRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleAwardRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"awardId": "recognition.Award:8449@base.url",
"timeframe": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /award-requirements
Create a new AwardRequirement in the default CourseCatalog.
Query Parameters
- awardId: required(string)
the award of this award-requirement.
Example:
recognition.Award%3A880%40base.url
- genusType: (string)
specify a particular awardRequirement type to create
Example:
type.Type%3AexampleAwardRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more awardRequirement record types
Example:
[ "type.Type%3AexampleAwardRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this awardRequirement
Example:
requisite.CourseCatalog%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "AwardRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this award requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this award requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this award requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this award requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this award requirement. 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 award requirement. 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
},
"active": {
"description": "Whether this award requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this award requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this award requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this award requirement is operational. This award requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this award requirement.",
"type": "string",
"format": "osid-id"
},
"awardId": {
"description": "The award associated with this award requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timeframe": {
"description": "The timeframe in which the award has to be earned.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this AwardRequirement",
"description": "The description of this AwardRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"timeframe": "P3DT3H"
}
Query the collection of AwardRequirements in a system, federation of systems, or in a default courseCatalog by posting a Query object.
Submit a query using a AwardRequirementQuery object.
post /award-requirements/award-requirement-query
Submit a query using a AwardRequirementQuery 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", "rule", "award", 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": "AwardRequirementQuery",
"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"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchRuleIds": {
"description": "List of rule Ids to match.",
"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"
}
}
}
},
"ruleQueries": {
"description": "rules.RuleQuery for the cyclic event. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAwardIds": {
"description": "List of award Ids for this query to match award requirement that have a related award.",
"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"
}
}
}
},
"awardQueries": {
"description": "AwardQueries to match the award. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchTimeframe": {
"description": "Matches timeframes in the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "start range",
"type": "string",
"format": "duration"
},
"to": {
"description": "end range",
"type": "string",
"format": "duration"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyTimeframe": {
"description": "Match timeframes with any value. true to match AwardRequirements with any timeframe, false to match ProgramOfferings with no timeframe",
"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": "requisite.AwardRequirement:663@base.url",
"uri": "http://base.url/open/campusapi/requisite/awardRequirement/requisite.AwardRequirement%3A663%40base.url",
"displayName": "Display Name of this AwardRequirement",
"description": "The description of this AwardRequirement",
"genusTypeId": "type.Type:defaultAwardRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleAwardRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"awardId": "recognition.Award:8449@base.url",
"timeframe": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a AwardRequirement form metadata.
Get form metadata for creating a new AwardRequirement.
get /award-requirements/metadata
Get form metadata for creating a new AwardRequirement.
Query Parameters
- awardId: required(string)
the award of this metadatum.
Example:
recognition.Award%3A880%40base.url
- genusType: (string)
specify a particular awardRequirement type to create
Example:
type.Type%3AexampleAwardRequirementType%40dxtera.org
- recordType: (array of )
specify support for one or more awardRequirement record types
Example:
[ "type.Type%3AexampleAwardRequirementRecordType%40campusapi.org", "..." ]
- courseCatalogId: (string)
specify in which course-catalog to create this awardRequirement
Example:
requisite.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": "AwardRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this award requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this award requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this award requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AwardRequirement.AwardRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this award requirement",
"linked": false
},
"description": {
"description": "The description of this award requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AwardRequirement.AwardRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this award requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this award requirement. 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 award requirement. 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
},
"enabled": {
"description": "Whether this award requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "AwardRequirement.AwardRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this award requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this award requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "AwardRequirement.AwardRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this award requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this award requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AwardRequirement.AwardRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this award requirement",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the award has to be earned.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.AwardRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this award requirement.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a AwardRequirement
Get a particular AwardRequirement given its id.
Update a particular AwardRequirement given its id.
Delete a particular AwardRequirement given its id.
get /award-requirements/{awardRequirementId}
Get a particular AwardRequirement given its id.
URI Parameters
- awardRequirementId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "rule", "award", 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": "requisite.AwardRequirement:663@base.url",
"uri": "http://base.url/open/campusapi/requisite/awardRequirement/requisite.AwardRequirement%3A663%40base.url",
"displayName": "Display Name of this AwardRequirement",
"description": "The description of this AwardRequirement",
"genusTypeId": "type.Type:defaultAwardRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleAwardRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"awardId": "recognition.Award:8449@base.url",
"timeframe": "P3DT3H"
}
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": "AwardRequirement not found" }
put /award-requirements/{awardRequirementId}
Update a particular AwardRequirement given its id.
URI Parameters
- awardRequirementId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "AwardRequirement",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this award requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this award requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this award requirement for display.",
"type": "string"
},
"description": {
"description": "The description of this award requirement.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this award requirement. 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 award requirement. 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
},
"active": {
"description": "Whether this award requirement is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this award requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this award requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this award requirement is operational. This award requirement is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this award requirement.",
"type": "string",
"format": "osid-id"
},
"awardId": {
"description": "The award associated with this award requirement.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timeframe": {
"description": "The timeframe in which the award has to be earned.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this AwardRequirement",
"description": "The description of this AwardRequirement",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"timeframe": "P3DT3H"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The AwardRequirement 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": "AwardRequirement not found" }
delete /award-requirements/{awardRequirementId}
Delete a particular AwardRequirement given its id.
URI Parameters
- awardRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The AwardRequirement 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": "AwardRequirement not found" }
Entity representing a AwardRequirement form metadata for update
Get form metadata for updating an existing AwardRequirement.
get /award-requirements/{awardRequirementId}/metadata
Get form metadata for updating an existing AwardRequirement.
URI Parameters
- awardRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "AwardRequirement",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this award requirement, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this award requirement, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this award requirement for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AwardRequirement.AwardRequirement:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this award requirement",
"linked": false
},
"description": {
"description": "The description of this award requirement.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AwardRequirement.AwardRequirement:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this award requirement",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this award requirement. 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 award requirement. 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
},
"enabled": {
"description": "Whether this award requirement is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "AwardRequirement.AwardRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this award requirement is enabled",
"linked": false
},
"disabled": {
"description": "Whether this award requirement is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "AwardRequirement.AwardRequirement:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this award requirement is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this award requirement.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "AwardRequirement.AwardRequirement:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this award requirement",
"linked": false
},
"timeframe": {
"description": "The timeframe in which the award has to be earned.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "course.requisite.AwardRequirement:timeframe@dxtera.org",
"existingValue": "",
"elementLabel": "Timeframe",
"instructions": "Enter the timeframe of this award requirement.",
"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": "awardRequirement 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
- requisiteId: (string)
Get course-catalogs mapped to this requisite.
Example:
requisite.Requisite%3A1053%40demo.dxtera.org
- courseRequirementId: (string)
Get course-catalogs mapped to this course-requirement.
Example:
requisite.CourseRequirement%3A2106%40demo.dxtera.org
- programRequirementId: (string)
Get course-catalogs mapped to this program-requirement.
Example:
requisite.ProgramRequirement%3A2223%40demo.dxtera.org
- credentialRequirementId: (string)
Get course-catalogs mapped to this credential-requirement.
Example:
requisite.CredentialRequirement%3A2574%40demo.dxtera.org
- learningObjectiveRequirementId: (string)
Get course-catalogs mapped to this learning-objective-requirement.
Example:
requisite.LearningObjectiveRequirement%3A3510%40demo.dxtera.org
- assessmentRequirementId: (string)
Get course-catalogs mapped to this assessment-requirement.
Example:
requisite.AssessmentRequirement%3A2574%40demo.dxtera.org
- awardRequirementId: (string)
Get course-catalogs mapped to this award-requirement.
Example:
requisite.AwardRequirement%3A1989%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 Requisites in this CourseCatalog
get /course-catalogs/{courseCatalogId}/requisites
Get all Requisites 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", "rule", "requisiteOptions", "courseRequirements", "programRequirements", "credentialRequirements", "learningObjectiveRequirements", "assessmentRequirements", "awardRequirements", "courseRequirements", "requisiteRequirements", or "all" to expand all referenced objects or types.Additionally, expand "requisites" will expand all requisiteOptions and requisiteRequirements. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleRequisiteType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleRequisiteType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleRequisiteType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "requisite.Requisite:4816@base.url",
"uri": "http://base.url/open/campusapi/requisite/requisite/requisite.Requisite%3A4816%40base.url",
"displayName": "Display Name of this Requisite",
"description": "The description of this Requisite",
"genusTypeId": "type.Type:defaultRequisiteType@base.url",
"recordTypeIds": [ "type.Type:exampleRequisiteRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"schedule": "calendaring.Schedule:5591@base.url",
"event": "calendaring.Event:5591@base.url",
"cyclicEvent": "cycle.CyclicEvent:5591@base.url",
"demographic": "resource.Resource:5591@base.url",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"requisiteOptionIds": [ "requisite.Requisite:7226@base.url", "..." ],
"courseRequirementIds": [ "requisite.CourseRequirement:3901@base.url", "..." ],
"programRequirementIds": [ "requisite.ProgramRequirement:9989@base.url", "..." ],
"credentialRequirementIds": [ "requisite.CredentialRequirement:8504@base.url", "..." ],
"learningObjectiveRequirementIds": [ "requisite.LearningObjectiveRequirement:2366@base.url", "..." ],
"assessmentRequirementIds": [ "requisite.AssessmentRequirement:919@base.url", "..." ],
"awardRequirementIds": [ "requisite.AwardRequirement:5596@base.url", "..." ],
"requisiteRequirementIds": [ "requisite.Requisite:7648@demo.dxtera.org", "..." ],
"minimumEarnedCredits": 10,
"minimumCourseCount": 3
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Requisite to this CourseCatalog
Remove the given Requisite from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/requisites/{requisiteId}
Add the given Requisite to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- requisiteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Requisite 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": "Requisite not found" }
delete /course-catalogs/{courseCatalogId}/requisites/{requisiteId}
Remove the given Requisite from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- requisiteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Requisite 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": "Requisite not found" }
Get all CourseRequirements in this CourseCatalog
get /course-catalogs/{courseCatalogId}/course-requirements
Get all CourseRequirements 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", "rule", "minimumGrade", "minimumScoreSystem", "course", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCourseRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCourseRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCourseRequirementType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "requisite.CourseRequirement:6509@base.url",
"uri": "http://base.url/open/campusapi/requisite/courseRequirement/requisite.CourseRequirement%3A6509%40base.url",
"displayName": "Display Name of this CourseRequirement",
"description": "The description of this CourseRequirement",
"genusTypeId": "type.Type:defaultCourseRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleCourseRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"courseId": "course.Course:4070@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:3733@base.url",
"minimumScoreSystemId": "grading.GradeSystem:1634@base.url",
"minimumScore": 3.14,
"minimumEarnedCredits": 3.14
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given CourseRequirement to this CourseCatalog
Remove the given CourseRequirement from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/course-requirements/{courseRequirementId}
Add the given CourseRequirement to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- courseRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "CourseRequirement 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": "CourseRequirement not found" }
delete /course-catalogs/{courseCatalogId}/course-requirements/{courseRequirementId}
Remove the given CourseRequirement from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- courseRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "CourseRequirement 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": "CourseRequirement not found" }
Get all ProgramRequirements in this CourseCatalog
get /course-catalogs/{courseCatalogId}/program-requirements
Get all ProgramRequirements 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", "rule", "minimumGPASystem", "program", 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%3AexampleProgramRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleProgramRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleProgramRequirementType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "requisite.ProgramRequirement:1973@base.url",
"uri": "http://base.url/open/campusapi/requisite/programRequirement/requisite.ProgramRequirement%3A1973%40base.url",
"displayName": "Display Name of this ProgramRequirement",
"description": "The description of this ProgramRequirement",
"genusTypeId": "type.Type:defaultProgramRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleProgramRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"programId": "course.program.Program:8000@base.url",
"requiresCompletion": true,
"timeframe": "P3DT3H",
"minimumGpaSystemId": "grading.GradeSystem:9363@base.url",
"minimumGPA": 3.14,
"minimumEarnedCredits": 3.14
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given ProgramRequirement to this CourseCatalog
Remove the given ProgramRequirement from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/program-requirements/{programRequirementId}
Add the given ProgramRequirement to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- programRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "ProgramRequirement 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": "ProgramRequirement not found" }
delete /course-catalogs/{courseCatalogId}/program-requirements/{programRequirementId}
Remove the given ProgramRequirement from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- programRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "ProgramRequirement 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": "ProgramRequirement not found" }
Get all CredentialRequirements in this CourseCatalog
get /course-catalogs/{courseCatalogId}/credential-requirements
Get all CredentialRequirements 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", "rule", "credential", 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%3AexampleCredentialRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCredentialRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCredentialRequirementType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "requisite.CredentialRequirement:2998@base.url",
"uri": "http://base.url/open/campusapi/requisite/credentialRequirement/requisite.CredentialRequirement%3A2998%40base.url",
"displayName": "Display Name of this CredentialRequirement",
"description": "The description of this CredentialRequirement",
"genusTypeId": "type.Type:defaultCredentialRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleCredentialRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"credentialId": "course.program.Credential:7517@base.url",
"timeframe": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given CredentialRequirement to this CourseCatalog
Remove the given CredentialRequirement from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/credential-requirements/{credentialRequirementId}
Add the given CredentialRequirement to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- credentialRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "CredentialRequirement 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": "CredentialRequirement not found" }
delete /course-catalogs/{courseCatalogId}/credential-requirements/{credentialRequirementId}
Remove the given CredentialRequirement from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- credentialRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "CredentialRequirement 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": "CredentialRequirement not found" }
Get all LearningObjectiveRequirements in this CourseCatalog
get /course-catalogs/{courseCatalogId}/learning-objective-requirements
Get all LearningObjectiveRequirements 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", "rule", "minimumProficiency", "learningObjective", 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%3AexampleLearningObjectiveRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleLearningObjectiveRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleLearningObjectiveRequirementType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "requisite.LearningObjectiveRequirement:1733@base.url",
"uri": "http://base.url/open/campusapi/requisite/learningObjectiveRequirement/requisite.LearningObjectiveRequirement%3A1733%40base.url",
"displayName": "Display Name of this LearningObjectiveRequirement",
"description": "The description of this LearningObjectiveRequirement",
"genusTypeId": "type.Type:defaultLearningObjectiveRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleLearningObjectiveRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"learningObjectiveId": "learning.Objective:308@base.url",
"minimumProficiencyId": "grading.Grade:4172@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
/course-catalogs/{courseCatalogId}/learning-objective-requirements/{learningObjectiveRequirementId} put delete
Add the given LearningObjectiveRequirement to this CourseCatalog
Remove the given LearningObjectiveRequirement from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/learning-objective-requirements/{learningObjectiveRequirementId}
Add the given LearningObjectiveRequirement to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- learningObjectiveRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "LearningObjectiveRequirement 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": "LearningObjectiveRequirement not found" }
delete /course-catalogs/{courseCatalogId}/learning-objective-requirements/{learningObjectiveRequirementId}
Remove the given LearningObjectiveRequirement from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- learningObjectiveRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "LearningObjectiveRequirement 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": "LearningObjectiveRequirement not found" }
Get all AssessmentRequirements in this CourseCatalog
get /course-catalogs/{courseCatalogId}/assessment-requirements
Get all AssessmentRequirements 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", "rule", "minimumGrade", "minimumScoreSystem", "assessment", 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%3AexampleAssessmentRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleAssessmentRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleAssessmentRequirementType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "requisite.AssessmentRequirement:2604@base.url",
"uri": "http://base.url/open/campusapi/requisite/assessmentRequirement/requisite.AssessmentRequirement%3A2604%40base.url",
"displayName": "Display Name of this AssessmentRequirement",
"description": "The description of this AssessmentRequirement",
"genusTypeId": "type.Type:defaultAssessmentRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleAssessmentRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"assessmentId": "assessment.Assessment:3919@base.url",
"timeframe": "P3DT3H",
"minimumGradeId": "grading.Grade:2934@base.url",
"minimumScoreSystemId": "grading.GradeSystem:5612@base.url",
"minimumScore": 3.14
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given AssessmentRequirement to this CourseCatalog
Remove the given AssessmentRequirement from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/assessment-requirements/{assessmentRequirementId}
Add the given AssessmentRequirement to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- assessmentRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "AssessmentRequirement 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": "AssessmentRequirement not found" }
delete /course-catalogs/{courseCatalogId}/assessment-requirements/{assessmentRequirementId}
Remove the given AssessmentRequirement from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- assessmentRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "AssessmentRequirement 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": "AssessmentRequirement not found" }
Get all AwardRequirements in this CourseCatalog
get /course-catalogs/{courseCatalogId}/award-requirements
Get all AwardRequirements 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", "rule", "award", 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%3AexampleAwardRequirementType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleAwardRequirementType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleAwardRequirementType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "requisite.AwardRequirement:663@base.url",
"uri": "http://base.url/open/campusapi/requisite/awardRequirement/requisite.AwardRequirement%3A663%40base.url",
"displayName": "Display Name of this AwardRequirement",
"description": "The description of this AwardRequirement",
"genusTypeId": "type.Type:defaultAwardRequirementType@base.url",
"recordTypeIds": [ "type.Type:exampleAwardRequirementRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"awardId": "recognition.Award:8449@base.url",
"timeframe": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given AwardRequirement to this CourseCatalog
Remove the given AwardRequirement from the CourseCatalog.
put /course-catalogs/{courseCatalogId}/award-requirements/{awardRequirementId}
Add the given AwardRequirement to this CourseCatalog
URI Parameters
- courseCatalogId: required(string)
- awardRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "AwardRequirement 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": "AwardRequirement not found" }
delete /course-catalogs/{courseCatalogId}/award-requirements/{awardRequirementId}
Remove the given AwardRequirement from the CourseCatalog.
URI Parameters
- courseCatalogId: required(string)
- awardRequirementId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "AwardRequirement 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": "AwardRequirement not found" }