CampusAPI Calendaring Services API documentation version 0.1.2
Based on OSID version 3.0.0
https://base.url/calendaring
Overview
The Calendaring service package manages events, commitments and calendars. Calendaring offers a rich set of event management services.
This package includes the following entities:
Events
An Event is range of time associated with a Location and event sponsors. Events may be managed singularly, or be generated of of one of the types of events listed below.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this event, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this event, provided by system. | string(uri) |
displayName | The name of this event for display. | string |
description | The description of this event. | string |
genusTypeId (read‑only) | Id of the immutable type of this event. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this event. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
startDate | The starting date of this event. | string(date‑time) |
endDate | The ending date of this event. | string(date‑time) |
sequestered | Whether this event is sequestered in that it should not appear outside of its aggregation. | boolean |
locationDescription | A descriptive location. | string |
locationId | The Location. References a mapping.Location object | string(osid‑id) |
sponsorIds | The Sponsors. References an array of resource.Resource objects. | string(osid‑id)[] |
RecurringEvents
A RecurringEvent generates a series of Events from a Schedule. A Schedule is a series of times and locations.
A RecurringEvent may include SupersedingEvents to replace specific events in the series with another Event which may, in turn, be another RecurringEvent. RecurringEvents may also have a set of blackout dates in which Event generation is suppressed.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this recurring event, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this recurring event, provided by system. | string(uri) |
displayName | The name of this recurring event for display. | string |
description | The description of this recurring event. | string |
genusTypeId (read‑only) | Id of the immutable type of this recurring event. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this recurring event. 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 recurring event is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this recurring event is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this recurring event is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this recurring event is operational. This recurring event is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this recurring event. References a rules.Rule object. | string(osid‑id) |
sequestered | Whether this recurring event is sequestered in that it should not appear outside of its aggregation. | boolean |
sponsorIds | The Sponsors. References an array of resource.Resource objects. | string(osid‑id)[] |
SupersedingEvents
A SupersedingEvent is a Rule for replacing another Event. Typically, SupersedingEvents are used for replacing a generated Event from a recurring event series. Events may be superseded by date or position in a recurring even series. Examples are "replace the event on 12/25 with an event scheduled for 12/26" or "replace the 10th event in a course schedule with an exam."
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this superseding event, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this superseding event, provided by system. | string(uri) |
displayName | The name of this superseding event for display. | string |
description | The description of this superseding event. | string |
genusTypeId (read‑only) | Id of the immutable type of this superseding event. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this superseding event. 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 superseding event is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this superseding event is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this superseding event is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this superseding event is operational. This superseding event is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this superseding event. References a rules.Rule object. | string(osid‑id) |
supersededEventId (read‑only) | The superseded event associated with this superseding event. References a calendaring.Event object. | string(osid‑id) |
supersedingEventId (read‑only) | The superseding event associated with this superseding event. References a calendaring.Event object. | string(osid‑id) |
supersededDate | The date of an event to replace if a recurring event is offered on that date. | string(date‑time) |
supersededEventPosition | The position in the denormalized recurring series of the event to replace. | integer |
OffsetEvents
An OffSetEvent is a Rule for generating an Event off of another Event. An OffsetEvent may be offset by a fixed period of time, a weekday, or include an external Rule to determine the offset. Example OffsetEvents are "the first Tuesday after Labor Day" or "24 hours before a due date."
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this offset event, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this offset event, provided by system. | string(uri) |
displayName | The name of this offset event for display. | string |
description | The description of this offset event. | string |
genusTypeId (read‑only) | Id of the immutable type of this offset event. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this offset event. 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 offset event is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this offset event is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this offset event is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this offset event is operational. This offset event is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this offset event. References a rules.Rule object. | string(osid‑id) |
fixedStartTime | The fixed start time for this event. | string(date‑time) |
startReferenceEventId | The Event to which the start of this event is offset. References a calendaring.Event object | string(osid‑id) |
fixedStartOffset | The fixed starting time offset. | string(duration) |
relativeWeekdayStartOffset | The starting offset as the nth weekday from the relative event. | integer |
relativeStartWeekday | The starting weekday number. | integer |
fixedDuration | The duration of the offset event. | string(duration) |
endReferenceEventId | The Event to which the end of this event is offset. References a calendaring.Event object | string(osid‑id) |
fixedEndOffset | The fixed ending time offset. | string(duration) |
relativeWeekdayEndOffset | The ending offset as the nth weekday from the relative event. | integer |
relativeEndWeekday | The ending weekday number. | integer |
locationDescription | A descriptive location. | string |
locationId | The Location. References a mapping.Location object | string(osid‑id) |
sponsorIds | The Sponsors. References an array of resource.Resource objects. | string(osid‑id)[] |
Schedules
A Schedule describes a repeating time and Location. Schedules may be bounded by dates or by using a TimePeriod. A TimePeriod is a reusable date range and may include a set of exception Events to define a set of time ranges that any RecurringEvent mapped to the TimePeriod may not occur.
Schedules are composed of ScheduleSlots. ScheduleSlots are normalized weekly time slots. A ScheduleSlot may be composed of other ScheduleSlots.
To make a RecurringEvent for MWF 3pm in room 26-100 during the summer except July 4th:
- A ScheduleSlot for MWF 3pm is created.
- A Schedule is created using the ScheduleSlot for room 10-250 in the summer TimePeriod.
- A RecurringEvent is created using the Schedule.
- A blackout date for Independence Day is added to the RecurringEvent.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this schedule, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this schedule, provided by system. | string(uri) |
displayName | The name of this schedule for display. | string |
description | The description of this schedule. | string |
genusTypeId (read‑only) | Id of the immutable type of this schedule. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this schedule. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
scheduleSlotId | The schedule slot included inside this one. References a calendaring.ScheduleSlot object | string(osid‑id) |
timePeriodId | The TimePeriod for this recurring event. References a calendaring.TimePeriod object | string(osid‑id) |
scheduleStart | The start date of this schedule. | string(date‑time) |
scheduleEnd | The end date of this schedule. | string(date‑time) |
limit | The limit of the number of occurences of this schedule. | integer[] |
locationId | The Location. References a mapping.Location object | string(osid‑id) |
ScheduleSlots
A ScheduleSlot describes a repeating time slot. The time slot can be defined as a fixed time interval or be defined on a weekly interval specifying the days of the week.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this schedule slot, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this schedule slot, provided by system. | string(uri) |
displayName | The name of this schedule slot for display. | string |
description | The description of this schedule slot. | string |
genusTypeId (read‑only) | Id of the immutable type of this schedule slot. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this schedule slot. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
sequestered | Whether this schedule slot is sequestered in that it should not appear outside of its aggregation. | boolean |
weekday | -- could someone please write a description for this -- | integer[] |
weeklyInterval | The number of weeks of the interval. | integer |
weekOfMonth | The week of the month for the interval. | integer |
weekdayTime | The time of this recurring schedule. | string(time) |
fixedInterval | The repeating interval. | string(duration) |
duration | The duration of the schedule slot. | string(duration) |
TimePeriods
A TimePeriod represents a span of time in which recurring events are expanded.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this time period, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this time period, provided by system. | string(uri) |
displayName | The name of this time period for display. | string |
description | The description of this time period. | string |
genusTypeId (read‑only) | Id of the immutable type of this time period. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this time period. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
start | The start time of the time period. | string(date‑time) |
end | The end time of the time period. | string(date‑time) |
Commitments
Commitments are Relationships between Resources and Events. Commitments may include any data specific to the relationship.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this commitment, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this commitment, provided by system. | string(uri) |
displayName | The name of this commitment for display. | string |
description | The description of this commitment. | string |
genusTypeId (read‑only) | Id of the immutable type of this commitment. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this commitment. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
startDate | The starting date of this commitment. | string(date‑time) |
endDate | The ending date of this commitment. | string(date‑time) |
endReasonId | The reason this commitment ended. References a process.State object. | string(osid‑id) |
eventId (read‑only) | The event associated with this commitment. References a calendaring.Event object. | string(osid‑id) |
resourceId (read‑only) | The resource associated with this commitment. References a resource.Resource object. | string(osid‑id) |
Calendars
Events and Schedules are cataloged into Calendars. The Calendar is simply a Catalog representing a collection of Events that may be federated using the hierarchy pattern to create virtual calendars.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this calendar, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this calendar, provided by system. | string(uri) |
displayName | The name of this calendar for display. | string |
description | The description of this calendar. | string |
genusTypeId (read‑only) | Id of the immutable type of this calendar. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this calendar. 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 calendar. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this calendar. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this calendar. | string |
License
CampusAPI REST Documentation Copyright 2020 DXtera Institute. Based on the Open Service Interface Defitions: http://osid.org
/events
Collection of events in a system, federation of systems, or in a default calendar.
Get all events in the system or default calendar.
Create a new event in the default calendar.
get /events
Get all events in the system or default calendar.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleEventType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleEventType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleEventType%40campusapi.org
- fromDate: (string)
Get all events from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all events up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- calendarId: (string)
The id string to match a calendar
Example:
calendaring.Calendar%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Event:1088@base.url",
"uri": "http://base.url/open/campusapi/calendaring/event/calendaring.Event%3A1088%40base.url",
"displayName": "Display Name of this Event",
"description": "The description of this Event",
"genusTypeId": "type.Type:defaultEventType@base.url",
"recordTypeIds": [ "type.Type:exampleEventRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:8999@base.url",
"sponsorIds": [ "resource.Resource:5102@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /events
Create a new event in the default calendar.
Query Parameters
- genusType: (string)
specify a particular event type to create
Example:
type.Type%3AexampleEventType%40dxtera.org
- recordType: (array of )
specify support for one or more event record types
Example:
[ "type.Type%3AexampleEventRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this event
Example:
calendaring.Calendar%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Event",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this event for display.",
"type": "string"
},
"description": {
"description": "The description of this event.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this event. 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 event. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this event.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this event.",
"type": "string",
"format": "date-time"
},
"sequestered": {
"description": "Whether this event is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"locationDescription": {
"description": "A descriptive location.",
"type": "string"
},
"locationId": {
"description": "The Location.",
"type": "string",
"format": "osid-id"
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Event",
"description": "The description of this Event",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:179@base.url",
"sponsorIds": [ "resource.Resource:1465@base.url", "..." ]
}
Entity representing a event form metadata.
Get form metadata for creating a new event.
get /events/metadata
Get form metadata for creating a new event.
Query Parameters
- genusType: (string)
specify a particular event type to create
Example:
type.Type%3AexampleEventType%40dxtera.org
- recordType: (array of )
specify support for one or more event record types
Example:
[ "type.Type%3AexampleEventRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this event
Example:
calendaring.Calendar%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": "Event",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this event for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Event.Event:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this event",
"linked": false
},
"description": {
"description": "The description of this event.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Event.Event:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this event",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this event. 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 event. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this event.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Event.Event:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this event",
"linked": false
},
"endDate": {
"description": "The ending date of this event.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Event.Event:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this event",
"linked": false
},
"sequestered": {
"description": "Whether this event is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "Event.Event:rule@base.url",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this event is sequestered",
"linked": false
},
"locationDescription": {
"description": "A descriptive location.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Event:locationDescription@dxtera.org",
"existingValue": "The existing location description",
"elementLabel": "Location Description",
"instructions": "Enter a location description for this event.",
"linked": false
},
"locationId": {
"description": "The Location.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Event:location@dxtera.org",
"existingValue": null,
"elementLabel": "Location",
"instructions": "Enter the Id of the location for this event.",
"linked": false
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "calendaring.Event:sponsor@dxtera.org",
"existingValue": [],
"elementLabel": "Sponsor",
"instructions": "Enter Ids for sponsor of this event.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a event
Get a event given its id.
Update a given event.
Delete a given event.
get /events/{eventId}
Get a event given its id.
URI Parameters
- eventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "calendaring.Event:1088@base.url",
"uri": "http://base.url/open/campusapi/calendaring/event/calendaring.Event%3A1088%40base.url",
"displayName": "Display Name of this Event",
"description": "The description of this Event",
"genusTypeId": "type.Type:defaultEventType@base.url",
"recordTypeIds": [ "type.Type:exampleEventRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:8999@base.url",
"sponsorIds": [ "resource.Resource:5102@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": "event not found" }
put /events/{eventId}
Update a given event.
URI Parameters
- eventId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Event",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this event for display.",
"type": "string"
},
"description": {
"description": "The description of this event.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this event. 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 event. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this event.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this event.",
"type": "string",
"format": "date-time"
},
"sequestered": {
"description": "Whether this event is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"locationDescription": {
"description": "A descriptive location.",
"type": "string"
},
"locationId": {
"description": "The Location.",
"type": "string",
"format": "osid-id"
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Event",
"description": "The description of this Event",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:179@base.url",
"sponsorIds": [ "resource.Resource:1465@base.url", "..." ]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The event 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": "event not found" }
delete /events/{eventId}
Delete a given event.
URI Parameters
- eventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The event 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": "event not found" }
Entity representing a event form metadata for update
Get form metadata for updating an existing event.
get /events/{eventId}/metadata
Get form metadata for updating an existing event.
URI Parameters
- eventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Event",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this event for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Event.Event:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this event",
"linked": false
},
"description": {
"description": "The description of this event.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Event.Event:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this event",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this event. 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 event. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this event.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Event.Event:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this event",
"linked": false
},
"endDate": {
"description": "The ending date of this event.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Event.Event:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this event",
"linked": false
},
"sequestered": {
"description": "Whether this event is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "Event.Event:rule@base.url",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this event is sequestered",
"linked": false
},
"locationDescription": {
"description": "A descriptive location.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Event:locationDescription@dxtera.org",
"existingValue": "The existing location description",
"elementLabel": "Location Description",
"instructions": "Enter a location description for this event.",
"linked": false
},
"locationId": {
"description": "The Location.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Event:location@dxtera.org",
"existingValue": null,
"elementLabel": "Location",
"instructions": "Enter the Id of the location for this event.",
"linked": false
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "calendaring.Event:sponsor@dxtera.org",
"existingValue": [],
"elementLabel": "Sponsor",
"instructions": "Enter Ids for sponsor of this event.",
"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": "event not found" }
/recurring-events
Collection of recurring-events in a system, federation of systems, or in a default calendar.
Get all recurring-events in the system or default calendar.
Create a new recurring-event in the default calendar.
get /recurring-events
Get all recurring-events in the system or default calendar.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleRecurringEventType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleRecurringEventType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleRecurringEventType%40campusapi.org
- calendarId: (string)
The id string to match a calendar
Example:
calendaring.Calendar%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.RecurringEvent:6782@base.url",
"uri": "http://base.url/open/campusapi/calendaring/recurringEvent/calendaring.RecurringEvent%3A6782%40base.url",
"displayName": "Display Name of this RecurringEvent",
"description": "The description of this RecurringEvent",
"genusTypeId": "type.Type:defaultRecurringEventType@base.url",
"recordTypeIds": [ "type.Type:exampleRecurringEventRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"sequestered": false,
"sponsorIds": [ "resource.Resource:5448@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /recurring-events
Create a new recurring-event in the default calendar.
Query Parameters
- genusType: (string)
specify a particular recurringEvent type to create
Example:
type.Type%3AexampleRecurringEventType%40dxtera.org
- recordType: (array of )
specify support for one or more recurringEvent record types
Example:
[ "type.Type%3AexampleRecurringEventRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this recurringEvent
Example:
calendaring.Calendar%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "RecurringEvent",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this recurring event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this recurring event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this recurring event for display.",
"type": "string"
},
"description": {
"description": "The description of this recurring event.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this recurring event. 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 recurring event. 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 recurring event 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 recurring event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this recurring event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this recurring event is operational. This recurring event is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this recurring event.",
"type": "string",
"format": "osid-id"
},
"sequestered": {
"description": "Whether this recurring event is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this RecurringEvent",
"description": "The description of this RecurringEvent",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"sequestered": false,
"sponsorIds": [ "resource.Resource:5166@base.url", "..." ]
}
Entity representing a recurringEvent form metadata.
Get form metadata for creating a new recurringEvent.
get /recurring-events/metadata
Get form metadata for creating a new recurringEvent.
Query Parameters
- genusType: (string)
specify a particular recurringEvent type to create
Example:
type.Type%3AexampleRecurringEventType%40dxtera.org
- recordType: (array of )
specify support for one or more recurringEvent record types
Example:
[ "type.Type%3AexampleRecurringEventRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this recurringEvent
Example:
calendaring.Calendar%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": "RecurringEvent",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this recurring event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this recurring event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this recurring event for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "RecurringEvent.RecurringEvent:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this recurring event",
"linked": false
},
"description": {
"description": "The description of this recurring event.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "RecurringEvent.RecurringEvent:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this recurring event",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this recurring event. 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 recurring event. 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 recurring event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "RecurringEvent.RecurringEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this recurring event is enabled",
"linked": false
},
"disabled": {
"description": "Whether this recurring event is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "RecurringEvent.RecurringEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this recurring event is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this recurring event.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "RecurringEvent.RecurringEvent:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this recurring event",
"linked": false
},
"sequestered": {
"description": "Whether this recurring event is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "RecurringEvent.RecurringEvent:rule@base.url",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this recurring event is sequestered",
"linked": false
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "calendaring.RecurringEvent:sponsor@dxtera.org",
"existingValue": [],
"elementLabel": "Sponsor",
"instructions": "Enter Ids for sponsor of this recurring event.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a recurring-event
Get a recurring-event given its id.
Update a given recurring-event.
Delete a given recurring-event.
get /recurring-events/{recurringEventId}
Get a recurring-event given its id.
URI Parameters
- recurringEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "calendaring.RecurringEvent:6782@base.url",
"uri": "http://base.url/open/campusapi/calendaring/recurringEvent/calendaring.RecurringEvent%3A6782%40base.url",
"displayName": "Display Name of this RecurringEvent",
"description": "The description of this RecurringEvent",
"genusTypeId": "type.Type:defaultRecurringEventType@base.url",
"recordTypeIds": [ "type.Type:exampleRecurringEventRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"sequestered": false,
"sponsorIds": [ "resource.Resource:5448@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": "recurring-event not found" }
put /recurring-events/{recurringEventId}
Update a given recurring-event.
URI Parameters
- recurringEventId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "RecurringEvent",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this recurring event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this recurring event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this recurring event for display.",
"type": "string"
},
"description": {
"description": "The description of this recurring event.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this recurring event. 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 recurring event. 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 recurring event 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 recurring event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this recurring event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this recurring event is operational. This recurring event is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this recurring event.",
"type": "string",
"format": "osid-id"
},
"sequestered": {
"description": "Whether this recurring event is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this RecurringEvent",
"description": "The description of this RecurringEvent",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"sequestered": false,
"sponsorIds": [ "resource.Resource:5166@base.url", "..." ]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The recurring-event 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": "recurring-event not found" }
delete /recurring-events/{recurringEventId}
Delete a given recurring-event.
URI Parameters
- recurringEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The recurring-event 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": "recurring-event not found" }
Entity representing a recurringEvent form metadata for update
Get form metadata for updating an existing recurringEvent.
get /recurring-events/{recurringEventId}/metadata
Get form metadata for updating an existing recurringEvent.
URI Parameters
- recurringEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "RecurringEvent",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this recurring event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this recurring event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this recurring event for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "RecurringEvent.RecurringEvent:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this recurring event",
"linked": false
},
"description": {
"description": "The description of this recurring event.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "RecurringEvent.RecurringEvent:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this recurring event",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this recurring event. 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 recurring event. 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 recurring event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "RecurringEvent.RecurringEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this recurring event is enabled",
"linked": false
},
"disabled": {
"description": "Whether this recurring event is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "RecurringEvent.RecurringEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this recurring event is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this recurring event.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "RecurringEvent.RecurringEvent:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this recurring event",
"linked": false
},
"sequestered": {
"description": "Whether this recurring event is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "RecurringEvent.RecurringEvent:rule@base.url",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this recurring event is sequestered",
"linked": false
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "calendaring.RecurringEvent:sponsor@dxtera.org",
"existingValue": [],
"elementLabel": "Sponsor",
"instructions": "Enter Ids for sponsor of this recurring event.",
"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": "recurringEvent not found" }
/superseding-events
Collection of superseding-events in a system, federation of systems, or in a default calendar.
Get all superseding-events in the system or default calendar.
Create a new superseding-event in the default calendar.
get /superseding-events
Get all superseding-events in the system or default calendar.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleSupersedingEventType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleSupersedingEventType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleSupersedingEventType%40campusapi.org
- supersededEventId: (string)
the id string to match a superseded-event.
Example:
calendaring.Event%3A2816%40base.url
- supersedingEventId: (string)
the id string to match a superseding-event.
Example:
calendaring.Event%3A2992%40base.url
- calendarId: (string)
The id string to match a calendar
Example:
calendaring.Calendar%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.SupersedingEvent:3949@base.url",
"uri": "http://base.url/open/campusapi/calendaring/supersedingEvent/calendaring.SupersedingEvent%3A3949%40base.url",
"displayName": "Display Name of this SupersedingEvent",
"description": "The description of this SupersedingEvent",
"genusTypeId": "type.Type:defaultSupersedingEventType@base.url",
"recordTypeIds": [ "type.Type:exampleSupersedingEventRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"supersededEventId": "calendaring.Event:3213@base.url",
"supersededDate": "2021-07-21T23:15:30.000Z",
"supersedingEventId": "calendaring.Event:5759@base.url",
"supersededEventPosition": 19
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /superseding-events
Create a new superseding-event in the default calendar.
Query Parameters
- supersededEventId: required(string)
the superseded-event of this superseding-event.
Example:
calendaring.Event%3A2816%40base.url
- supersedingEventId: required(string)
the superseding-event of this superseding-event.
Example:
calendaring.Event%3A2992%40base.url
- genusType: (string)
specify a particular supersedingEvent type to create
Example:
type.Type%3AexampleSupersedingEventType%40dxtera.org
- recordType: (array of )
specify support for one or more supersedingEvent record types
Example:
[ "type.Type%3AexampleSupersedingEventRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this supersedingEvent
Example:
calendaring.Calendar%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "SupersedingEvent",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this superseding event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this superseding event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this superseding event for display.",
"type": "string"
},
"description": {
"description": "The description of this superseding event.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this superseding event. 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 superseding event. 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 superseding event 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 superseding event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this superseding event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this superseding event is operational. This superseding event is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this superseding event.",
"type": "string",
"format": "osid-id"
},
"supersededEventId": {
"description": "The superseded event associated with this superseding event.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"supersedingEventId": {
"description": "The superseding event associated with this superseding event.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"supersededDate": {
"description": "The date of an event to replace if a recurring event is offered on that date.",
"type": "string",
"format": "date-time"
},
"supersededEventPosition": {
"description": "The position in the denormalized recurring series of the event to replace.",
"type": "integer"
}
}
}
Example:
{
"displayName": "Display Name of this SupersedingEvent",
"description": "The description of this SupersedingEvent",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"supersededDate": "2021-07-21T23:15:30.000Z",
"supersededEventPosition": 19
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The superseding-event has been created",
"superseding-eventId": "calendaring.SupersedingEvent:9876@demo.dxtera.org"}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a supersedingEvent form metadata.
Get form metadata for creating a new supersedingEvent.
get /superseding-events/metadata
Get form metadata for creating a new supersedingEvent.
Query Parameters
- supersededEventId: required(string)
the superseded-event of this metadatum.
Example:
calendaring.Event%3A2816%40base.url
- supersedingEventId: required(string)
the superseding-event of this metadatum.
Example:
calendaring.Event%3A2992%40base.url
- genusType: (string)
specify a particular supersedingEvent type to create
Example:
type.Type%3AexampleSupersedingEventType%40dxtera.org
- recordType: (array of )
specify support for one or more supersedingEvent record types
Example:
[ "type.Type%3AexampleSupersedingEventRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this supersedingEvent
Example:
calendaring.Calendar%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": "SupersedingEvent",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this superseding event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this superseding event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this superseding event for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "SupersedingEvent.SupersedingEvent:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this superseding event",
"linked": false
},
"description": {
"description": "The description of this superseding event.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "SupersedingEvent.SupersedingEvent:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this superseding event",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this superseding event. 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 superseding event. 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 superseding event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "SupersedingEvent.SupersedingEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this superseding event is enabled",
"linked": false
},
"disabled": {
"description": "Whether this superseding event is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "SupersedingEvent.SupersedingEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this superseding event is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this superseding event.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "SupersedingEvent.SupersedingEvent:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this superseding event",
"linked": false
},
"supersededDate": {
"description": "The date of an event to replace if a recurring event is offered on that date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.SupersedingEvent:supersededDate@dxtera.org",
"existingValue": "",
"elementLabel": "Superseded Date",
"instructions": "Enter the superseded date of this superseding event.",
"linked": false
},
"supersededEventPosition": {
"description": "The position in the denormalized recurring series of the event to replace.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.SupersedingEvent:supersededEventPosition@dxtera.org",
"existingValue": 42,
"elementLabel": "Superseded Event Position",
"instructions": "Enter the superseded event position of this superseding event.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a superseding-event
Get a superseding-event given its id.
Update a given superseding-event.
Delete a given superseding-event.
get /superseding-events/{supersedingEventId}
Get a superseding-event given its id.
URI Parameters
- supersedingEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "calendaring.SupersedingEvent:3949@base.url",
"uri": "http://base.url/open/campusapi/calendaring/supersedingEvent/calendaring.SupersedingEvent%3A3949%40base.url",
"displayName": "Display Name of this SupersedingEvent",
"description": "The description of this SupersedingEvent",
"genusTypeId": "type.Type:defaultSupersedingEventType@base.url",
"recordTypeIds": [ "type.Type:exampleSupersedingEventRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"supersededEventId": "calendaring.Event:3213@base.url",
"supersededDate": "2021-07-21T23:15:30.000Z",
"supersedingEventId": "calendaring.Event:5759@base.url",
"supersededEventPosition": 19
}
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": "superseding-event not found" }
put /superseding-events/{supersedingEventId}
Update a given superseding-event.
URI Parameters
- supersedingEventId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "SupersedingEvent",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this superseding event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this superseding event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this superseding event for display.",
"type": "string"
},
"description": {
"description": "The description of this superseding event.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this superseding event. 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 superseding event. 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 superseding event 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 superseding event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this superseding event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this superseding event is operational. This superseding event is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this superseding event.",
"type": "string",
"format": "osid-id"
},
"supersededEventId": {
"description": "The superseded event associated with this superseding event.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"supersedingEventId": {
"description": "The superseding event associated with this superseding event.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"supersededDate": {
"description": "The date of an event to replace if a recurring event is offered on that date.",
"type": "string",
"format": "date-time"
},
"supersededEventPosition": {
"description": "The position in the denormalized recurring series of the event to replace.",
"type": "integer"
}
}
}
Example:
{
"displayName": "Display Name of this SupersedingEvent",
"description": "The description of this SupersedingEvent",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"supersededDate": "2021-07-21T23:15:30.000Z",
"supersededEventPosition": 19
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The superseding-event 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": "superseding-event not found" }
delete /superseding-events/{supersedingEventId}
Delete a given superseding-event.
URI Parameters
- supersedingEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The superseding-event 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": "superseding-event not found" }
Entity representing a supersedingEvent form metadata for update
Get form metadata for updating an existing supersedingEvent.
get /superseding-events/{supersedingEventId}/metadata
Get form metadata for updating an existing supersedingEvent.
URI Parameters
- supersedingEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "SupersedingEvent",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this superseding event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this superseding event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this superseding event for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "SupersedingEvent.SupersedingEvent:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this superseding event",
"linked": false
},
"description": {
"description": "The description of this superseding event.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "SupersedingEvent.SupersedingEvent:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this superseding event",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this superseding event. 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 superseding event. 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 superseding event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "SupersedingEvent.SupersedingEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this superseding event is enabled",
"linked": false
},
"disabled": {
"description": "Whether this superseding event is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "SupersedingEvent.SupersedingEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this superseding event is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this superseding event.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "SupersedingEvent.SupersedingEvent:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this superseding event",
"linked": false
},
"supersededDate": {
"description": "The date of an event to replace if a recurring event is offered on that date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.SupersedingEvent:supersededDate@dxtera.org",
"existingValue": "",
"elementLabel": "Superseded Date",
"instructions": "Enter the superseded date of this superseding event.",
"linked": false
},
"supersededEventPosition": {
"description": "The position in the denormalized recurring series of the event to replace.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.SupersedingEvent:supersededEventPosition@dxtera.org",
"existingValue": 42,
"elementLabel": "Superseded Event Position",
"instructions": "Enter the superseded event position of this superseding event.",
"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": "supersedingEvent not found" }
/offset-events
Collection of offset-events in a system, federation of systems, or in a default calendar.
Get all offset-events in the system or default calendar.
Create a new offset-event in the default calendar.
get /offset-events
Get all offset-events in the system or default calendar.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleOffsetEventType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleOffsetEventType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleOffsetEventType%40campusapi.org
- calendarId: (string)
The id string to match a calendar
Example:
calendaring.Calendar%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.OffsetEvent:7439@base.url",
"uri": "http://base.url/open/campusapi/calendaring/offsetEvent/calendaring.OffsetEvent%3A7439%40base.url",
"displayName": "Display Name of this OffsetEvent",
"description": "The description of this OffsetEvent",
"genusTypeId": "type.Type:defaultOffsetEventType@base.url",
"recordTypeIds": [ "type.Type:exampleOffsetEventRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"fixedStartTime": "2020-10-03T08:00:00.000Z",
"startReferenceEventId": "calendaring.Event:4162@base.url",
"fixedStartOffset": "P3DT3H",
"relativeWeekdayStartOffset": 19,
"relativeStartWeekday": 19,
"fixedDuration": "P3DT3H",
"endReferenceEventId": "calendaring.Event:2524@base.url",
"fixedEndOffset": "P3DT3H",
"relativeWeekdayEndOffset": 19,
"relativeEndWeekday": 19,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:85@base.url",
"sponsorIds": [ "resource.Resource:8788@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /offset-events
Create a new offset-event in the default calendar.
Query Parameters
- genusType: (string)
specify a particular offsetEvent type to create
Example:
type.Type%3AexampleOffsetEventType%40dxtera.org
- recordType: (array of )
specify support for one or more offsetEvent record types
Example:
[ "type.Type%3AexampleOffsetEventRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this offsetEvent
Example:
calendaring.Calendar%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "OffsetEvent",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this offset event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this offset event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this offset event for display.",
"type": "string"
},
"description": {
"description": "The description of this offset event.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this offset event. 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 offset event. 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 offset event 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 offset event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this offset event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this offset event is operational. This offset event is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this offset event.",
"type": "string",
"format": "osid-id"
},
"fixedStartTime": {
"description": "The fixed start time for this event.",
"type": "string",
"format": "date-time"
},
"startReferenceEventId": {
"description": "The Event to which the start of this event is offset.",
"type": "string",
"format": "osid-id"
},
"fixedStartOffset": {
"description": "The fixed starting time offset.",
"type": "string",
"format": "duration"
},
"relativeWeekdayStartOffset": {
"description": "The starting offset as the nth weekday from the relative event.",
"type": "integer"
},
"relativeStartWeekday": {
"description": "The starting weekday number.",
"type": "integer",
"minimum": 1
},
"fixedDuration": {
"description": "The duration of the offset event.",
"type": "string",
"format": "duration"
},
"endReferenceEventId": {
"description": "The Event to which the end of this event is offset.",
"type": "string",
"format": "osid-id"
},
"fixedEndOffset": {
"description": "The fixed ending time offset.",
"type": "string",
"format": "duration"
},
"relativeWeekdayEndOffset": {
"description": "The ending offset as the nth weekday from the relative event.",
"type": "integer"
},
"relativeEndWeekday": {
"description": "The ending weekday number.",
"type": "integer",
"minimum": 1
},
"locationDescription": {
"description": "A descriptive location.",
"type": "string"
},
"locationId": {
"description": "The Location.",
"type": "string",
"format": "osid-id"
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this OffsetEvent",
"description": "The description of this OffsetEvent",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"fixedStartTime": "2020-10-03T08:00:00.000Z",
"startReferenceEventId": "calendaring.Event:9738@base.url",
"fixedStartOffset": "P3DT3H",
"relativeWeekdayStartOffset": 19,
"relativeStartWeekday": 19,
"fixedDuration": "P3DT3H",
"endReferenceEventId": "calendaring.Event:7041@base.url",
"fixedEndOffset": "P3DT3H",
"relativeWeekdayEndOffset": 19,
"relativeEndWeekday": 19,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:5089@base.url",
"sponsorIds": [ "resource.Resource:3780@base.url", "..." ]
}
Entity representing a offsetEvent form metadata.
Get form metadata for creating a new offsetEvent.
get /offset-events/metadata
Get form metadata for creating a new offsetEvent.
Query Parameters
- genusType: (string)
specify a particular offsetEvent type to create
Example:
type.Type%3AexampleOffsetEventType%40dxtera.org
- recordType: (array of )
specify support for one or more offsetEvent record types
Example:
[ "type.Type%3AexampleOffsetEventRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this offsetEvent
Example:
calendaring.Calendar%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": "OffsetEvent",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this offset event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this offset event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this offset event for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "OffsetEvent.OffsetEvent:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this offset event",
"linked": false
},
"description": {
"description": "The description of this offset event.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "OffsetEvent.OffsetEvent:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this offset event",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this offset event. 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 offset event. 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 offset event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "OffsetEvent.OffsetEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this offset event is enabled",
"linked": false
},
"disabled": {
"description": "Whether this offset event is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "OffsetEvent.OffsetEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this offset event is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this offset event.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "OffsetEvent.OffsetEvent:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this offset event",
"linked": false
},
"fixedStartTime": {
"description": "The fixed start time for this event.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:fixedStartTime@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed Start Time",
"instructions": "Enter the fixed start time of this offset event.",
"linked": false
},
"startReferenceEventId": {
"description": "The Event to which the start of this event is offset.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:startReferenceEvent@dxtera.org",
"existingValue": null,
"elementLabel": "Start Reference Event",
"instructions": "Enter the Id of the start reference event for this offset event.",
"linked": false
},
"fixedStartOffset": {
"description": "The fixed starting time offset.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:fixedStartOffset@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed Start Offset",
"instructions": "Enter the fixed start offset of this offset event.",
"linked": false
},
"relativeWeekdayStartOffset": {
"description": "The starting offset as the nth weekday from the relative event.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.OffsetEvent:relativeWeekdayStartOffset@dxtera.org",
"existingValue": 42,
"elementLabel": "Relative Weekday Start Offset",
"instructions": "Enter the relative weekday start offset of this offset event.",
"linked": false
},
"relativeStartWeekday": {
"description": "The starting weekday number.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.OffsetEvent:relativeStartWeekday@dxtera.org",
"existingValue": 42,
"elementLabel": "Relative Start Weekday",
"instructions": "Enter the relative start weekday of this offset event.",
"linked": false
},
"fixedDuration": {
"description": "The duration of the offset event.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:fixedDuration@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed Duration",
"instructions": "Enter the fixed duration of this offset event.",
"linked": false
},
"endReferenceEventId": {
"description": "The Event to which the end of this event is offset.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:endReferenceEvent@dxtera.org",
"existingValue": null,
"elementLabel": "End Reference Event",
"instructions": "Enter the Id of the end reference event for this offset event.",
"linked": false
},
"fixedEndOffset": {
"description": "The fixed ending time offset.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:fixedEndOffset@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed End Offset",
"instructions": "Enter the fixed end offset of this offset event.",
"linked": false
},
"relativeWeekdayEndOffset": {
"description": "The ending offset as the nth weekday from the relative event.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.OffsetEvent:relativeWeekdayEndOffset@dxtera.org",
"existingValue": 42,
"elementLabel": "Relative Weekday End Offset",
"instructions": "Enter the relative weekday end offset of this offset event.",
"linked": false
},
"relativeEndWeekday": {
"description": "The ending weekday number.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.OffsetEvent:relativeEndWeekday@dxtera.org",
"existingValue": 42,
"elementLabel": "Relative End Weekday",
"instructions": "Enter the relative end weekday of this offset event.",
"linked": false
},
"locationDescription": {
"description": "A descriptive location.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:locationDescription@dxtera.org",
"existingValue": "The existing location description",
"elementLabel": "Location Description",
"instructions": "Enter a location description for this offset event.",
"linked": false
},
"locationId": {
"description": "The Location.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:location@dxtera.org",
"existingValue": null,
"elementLabel": "Location",
"instructions": "Enter the Id of the location for this offset event.",
"linked": false
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "calendaring.OffsetEvent:sponsor@dxtera.org",
"existingValue": [],
"elementLabel": "Sponsor",
"instructions": "Enter Ids for sponsor of this offset event.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a offset-event
Get a offset-event given its id.
Update a given offset-event.
Delete a given offset-event.
get /offset-events/{offsetEventId}
Get a offset-event given its id.
URI Parameters
- offsetEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "calendaring.OffsetEvent:7439@base.url",
"uri": "http://base.url/open/campusapi/calendaring/offsetEvent/calendaring.OffsetEvent%3A7439%40base.url",
"displayName": "Display Name of this OffsetEvent",
"description": "The description of this OffsetEvent",
"genusTypeId": "type.Type:defaultOffsetEventType@base.url",
"recordTypeIds": [ "type.Type:exampleOffsetEventRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"fixedStartTime": "2020-10-03T08:00:00.000Z",
"startReferenceEventId": "calendaring.Event:4162@base.url",
"fixedStartOffset": "P3DT3H",
"relativeWeekdayStartOffset": 19,
"relativeStartWeekday": 19,
"fixedDuration": "P3DT3H",
"endReferenceEventId": "calendaring.Event:2524@base.url",
"fixedEndOffset": "P3DT3H",
"relativeWeekdayEndOffset": 19,
"relativeEndWeekday": 19,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:85@base.url",
"sponsorIds": [ "resource.Resource:8788@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": "offset-event not found" }
put /offset-events/{offsetEventId}
Update a given offset-event.
URI Parameters
- offsetEventId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "OffsetEvent",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this offset event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this offset event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this offset event for display.",
"type": "string"
},
"description": {
"description": "The description of this offset event.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this offset event. 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 offset event. 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 offset event 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 offset event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this offset event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this offset event is operational. This offset event is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this offset event.",
"type": "string",
"format": "osid-id"
},
"fixedStartTime": {
"description": "The fixed start time for this event.",
"type": "string",
"format": "date-time"
},
"startReferenceEventId": {
"description": "The Event to which the start of this event is offset.",
"type": "string",
"format": "osid-id"
},
"fixedStartOffset": {
"description": "The fixed starting time offset.",
"type": "string",
"format": "duration"
},
"relativeWeekdayStartOffset": {
"description": "The starting offset as the nth weekday from the relative event.",
"type": "integer"
},
"relativeStartWeekday": {
"description": "The starting weekday number.",
"type": "integer",
"minimum": 1
},
"fixedDuration": {
"description": "The duration of the offset event.",
"type": "string",
"format": "duration"
},
"endReferenceEventId": {
"description": "The Event to which the end of this event is offset.",
"type": "string",
"format": "osid-id"
},
"fixedEndOffset": {
"description": "The fixed ending time offset.",
"type": "string",
"format": "duration"
},
"relativeWeekdayEndOffset": {
"description": "The ending offset as the nth weekday from the relative event.",
"type": "integer"
},
"relativeEndWeekday": {
"description": "The ending weekday number.",
"type": "integer",
"minimum": 1
},
"locationDescription": {
"description": "A descriptive location.",
"type": "string"
},
"locationId": {
"description": "The Location.",
"type": "string",
"format": "osid-id"
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this OffsetEvent",
"description": "The description of this OffsetEvent",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"fixedStartTime": "2020-10-03T08:00:00.000Z",
"startReferenceEventId": "calendaring.Event:9738@base.url",
"fixedStartOffset": "P3DT3H",
"relativeWeekdayStartOffset": 19,
"relativeStartWeekday": 19,
"fixedDuration": "P3DT3H",
"endReferenceEventId": "calendaring.Event:7041@base.url",
"fixedEndOffset": "P3DT3H",
"relativeWeekdayEndOffset": 19,
"relativeEndWeekday": 19,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:5089@base.url",
"sponsorIds": [ "resource.Resource:3780@base.url", "..." ]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The offset-event 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": "offset-event not found" }
delete /offset-events/{offsetEventId}
Delete a given offset-event.
URI Parameters
- offsetEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The offset-event 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": "offset-event not found" }
Entity representing a offsetEvent form metadata for update
Get form metadata for updating an existing offsetEvent.
get /offset-events/{offsetEventId}/metadata
Get form metadata for updating an existing offsetEvent.
URI Parameters
- offsetEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "OffsetEvent",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this offset event, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this offset event, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this offset event for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "OffsetEvent.OffsetEvent:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this offset event",
"linked": false
},
"description": {
"description": "The description of this offset event.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "OffsetEvent.OffsetEvent:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this offset event",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this offset event. 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 offset event. 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 offset event is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "OffsetEvent.OffsetEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this offset event is enabled",
"linked": false
},
"disabled": {
"description": "Whether this offset event is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "OffsetEvent.OffsetEvent:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this offset event is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this offset event.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "OffsetEvent.OffsetEvent:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this offset event",
"linked": false
},
"fixedStartTime": {
"description": "The fixed start time for this event.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:fixedStartTime@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed Start Time",
"instructions": "Enter the fixed start time of this offset event.",
"linked": false
},
"startReferenceEventId": {
"description": "The Event to which the start of this event is offset.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:startReferenceEvent@dxtera.org",
"existingValue": null,
"elementLabel": "Start Reference Event",
"instructions": "Enter the Id of the start reference event for this offset event.",
"linked": false
},
"fixedStartOffset": {
"description": "The fixed starting time offset.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:fixedStartOffset@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed Start Offset",
"instructions": "Enter the fixed start offset of this offset event.",
"linked": false
},
"relativeWeekdayStartOffset": {
"description": "The starting offset as the nth weekday from the relative event.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.OffsetEvent:relativeWeekdayStartOffset@dxtera.org",
"existingValue": 42,
"elementLabel": "Relative Weekday Start Offset",
"instructions": "Enter the relative weekday start offset of this offset event.",
"linked": false
},
"relativeStartWeekday": {
"description": "The starting weekday number.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.OffsetEvent:relativeStartWeekday@dxtera.org",
"existingValue": 42,
"elementLabel": "Relative Start Weekday",
"instructions": "Enter the relative start weekday of this offset event.",
"linked": false
},
"fixedDuration": {
"description": "The duration of the offset event.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:fixedDuration@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed Duration",
"instructions": "Enter the fixed duration of this offset event.",
"linked": false
},
"endReferenceEventId": {
"description": "The Event to which the end of this event is offset.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:endReferenceEvent@dxtera.org",
"existingValue": null,
"elementLabel": "End Reference Event",
"instructions": "Enter the Id of the end reference event for this offset event.",
"linked": false
},
"fixedEndOffset": {
"description": "The fixed ending time offset.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:fixedEndOffset@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed End Offset",
"instructions": "Enter the fixed end offset of this offset event.",
"linked": false
},
"relativeWeekdayEndOffset": {
"description": "The ending offset as the nth weekday from the relative event.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.OffsetEvent:relativeWeekdayEndOffset@dxtera.org",
"existingValue": 42,
"elementLabel": "Relative Weekday End Offset",
"instructions": "Enter the relative weekday end offset of this offset event.",
"linked": false
},
"relativeEndWeekday": {
"description": "The ending weekday number.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.OffsetEvent:relativeEndWeekday@dxtera.org",
"existingValue": 42,
"elementLabel": "Relative End Weekday",
"instructions": "Enter the relative end weekday of this offset event.",
"linked": false
},
"locationDescription": {
"description": "A descriptive location.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:locationDescription@dxtera.org",
"existingValue": "The existing location description",
"elementLabel": "Location Description",
"instructions": "Enter a location description for this offset event.",
"linked": false
},
"locationId": {
"description": "The Location.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.OffsetEvent:location@dxtera.org",
"existingValue": null,
"elementLabel": "Location",
"instructions": "Enter the Id of the location for this offset event.",
"linked": false
},
"sponsorIds": {
"description": "The Sponsors.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "calendaring.OffsetEvent:sponsor@dxtera.org",
"existingValue": [],
"elementLabel": "Sponsor",
"instructions": "Enter Ids for sponsor of this offset event.",
"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": "offsetEvent not found" }
/schedules
Collection of schedules in a system, federation of systems, or in a default calendar.
Get all schedules in the system or default calendar.
Create a new schedule in the default calendar.
get /schedules
Get all schedules in the system or default calendar.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleScheduleType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleScheduleType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleScheduleType%40campusapi.org
- calendarId: (string)
The id string to match a calendar
Example:
calendaring.Calendar%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Schedule:1045@base.url",
"uri": "http://base.url/open/campusapi/calendaring/schedule/calendaring.Schedule%3A1045%40base.url",
"displayName": "Display Name of this Schedule",
"description": "The description of this Schedule",
"genusTypeId": "type.Type:defaultScheduleType@base.url",
"recordTypeIds": [ "type.Type:exampleScheduleRecordType@campusapi.org", "..."],
"scheduleSlotId": "calendaring.ScheduleSlot:6660@base.url",
"timePeriodId": "calendaring.TimePeriod:2961@base.url",
"scheduleStart": "2020-10-03T08:00:00.000Z",
"scheduleEnd": "2020-12-18T17:00:00.000Z",
"limit": [ "..cardinal[]..", "..." ],
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:4998@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /schedules
Create a new schedule in the default calendar.
Query Parameters
- genusType: (string)
specify a particular schedule type to create
Example:
type.Type%3AexampleScheduleType%40dxtera.org
- recordType: (array of )
specify support for one or more schedule record types
Example:
[ "type.Type%3AexampleScheduleRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this schedule
Example:
calendaring.Calendar%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Schedule",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this schedule, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this schedule, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this schedule for display.",
"type": "string"
},
"description": {
"description": "The description of this schedule.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this schedule. 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 schedule. 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
},
"scheduleSlotId": {
"description": "The schedule slot included inside this one.",
"type": "string",
"format": "osid-id"
},
"timePeriodId": {
"description": "The TimePeriod for this recurring event.",
"type": "string",
"format": "osid-id"
},
"scheduleStart": {
"description": "The start date of this schedule.",
"type": "string",
"format": "date-time"
},
"scheduleEnd": {
"description": "The end date of this schedule.",
"type": "string",
"format": "date-time"
},
"limit": {
"description": "The limit of the number of occurences of this schedule.",
"type": "array",
"minimum": 1
},
"locationId": {
"description": "The Location.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Schedule",
"description": "The description of this Schedule",
"scheduleSlotId": "calendaring.ScheduleSlot:3278@base.url",
"timePeriodId": "calendaring.TimePeriod:9871@base.url",
"scheduleStart": "2020-10-03T08:00:00.000Z",
"scheduleEnd": "2020-12-18T17:00:00.000Z",
"limit": [ "..cardinal[]..", "..." ],
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:7828@base.url"
}
Entity representing a schedule form metadata.
Get form metadata for creating a new schedule.
get /schedules/metadata
Get form metadata for creating a new schedule.
Query Parameters
- genusType: (string)
specify a particular schedule type to create
Example:
type.Type%3AexampleScheduleType%40dxtera.org
- recordType: (array of )
specify support for one or more schedule record types
Example:
[ "type.Type%3AexampleScheduleRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this schedule
Example:
calendaring.Calendar%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": "Schedule",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this schedule, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this schedule, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this schedule for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Schedule.Schedule:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this schedule",
"linked": false
},
"description": {
"description": "The description of this schedule.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Schedule.Schedule:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this schedule",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this schedule. 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 schedule. 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
},
"scheduleSlotId": {
"description": "The schedule slot included inside this one.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:scheduleSlot@dxtera.org",
"existingValue": null,
"elementLabel": "Schedule Slot",
"instructions": "Enter the Id of the schedule slot for this schedule.",
"linked": false
},
"timePeriodId": {
"description": "The TimePeriod for this recurring event.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:timePeriod@dxtera.org",
"existingValue": null,
"elementLabel": "Time Period",
"instructions": "Enter the Id of the time period for this schedule.",
"linked": false
},
"scheduleStart": {
"description": "The start date of this schedule.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:scheduleStart@dxtera.org",
"existingValue": "",
"elementLabel": "Schedule Start",
"instructions": "Enter the schedule start of this schedule.",
"linked": false
},
"scheduleEnd": {
"description": "The end date of this schedule.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:scheduleEnd@dxtera.org",
"existingValue": "",
"elementLabel": "Schedule End",
"instructions": "Enter the schedule end of this schedule.",
"linked": false
},
"limit": {
"description": "The limit of the number of occurences of this schedule.",
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"enum": []
},
"default": [],
"elementId": "calendaring.Schedule:limit@dxtera.org",
"existingValue": [42, 4, 7],
"elementLabel": "Limit",
"instructions": "Enter the limit of this schedule.",
"linked": false
},
"locationId": {
"description": "The Location.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:location@dxtera.org",
"existingValue": null,
"elementLabel": "Location",
"instructions": "Enter the Id of the location for this schedule.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a schedule
Get a schedule given its id.
Update a given schedule.
Delete a given schedule.
get /schedules/{scheduleId}
Get a schedule given its id.
URI Parameters
- scheduleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "calendaring.Schedule:1045@base.url",
"uri": "http://base.url/open/campusapi/calendaring/schedule/calendaring.Schedule%3A1045%40base.url",
"displayName": "Display Name of this Schedule",
"description": "The description of this Schedule",
"genusTypeId": "type.Type:defaultScheduleType@base.url",
"recordTypeIds": [ "type.Type:exampleScheduleRecordType@campusapi.org", "..."],
"scheduleSlotId": "calendaring.ScheduleSlot:6660@base.url",
"timePeriodId": "calendaring.TimePeriod:2961@base.url",
"scheduleStart": "2020-10-03T08:00:00.000Z",
"scheduleEnd": "2020-12-18T17:00:00.000Z",
"limit": [ "..cardinal[]..", "..." ],
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:4998@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": "schedule not found" }
put /schedules/{scheduleId}
Update a given schedule.
URI Parameters
- scheduleId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Schedule",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this schedule, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this schedule, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this schedule for display.",
"type": "string"
},
"description": {
"description": "The description of this schedule.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this schedule. 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 schedule. 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
},
"scheduleSlotId": {
"description": "The schedule slot included inside this one.",
"type": "string",
"format": "osid-id"
},
"timePeriodId": {
"description": "The TimePeriod for this recurring event.",
"type": "string",
"format": "osid-id"
},
"scheduleStart": {
"description": "The start date of this schedule.",
"type": "string",
"format": "date-time"
},
"scheduleEnd": {
"description": "The end date of this schedule.",
"type": "string",
"format": "date-time"
},
"limit": {
"description": "The limit of the number of occurences of this schedule.",
"type": "array",
"minimum": 1
},
"locationId": {
"description": "The Location.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Schedule",
"description": "The description of this Schedule",
"scheduleSlotId": "calendaring.ScheduleSlot:3278@base.url",
"timePeriodId": "calendaring.TimePeriod:9871@base.url",
"scheduleStart": "2020-10-03T08:00:00.000Z",
"scheduleEnd": "2020-12-18T17:00:00.000Z",
"limit": [ "..cardinal[]..", "..." ],
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:7828@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The schedule 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": "schedule not found" }
delete /schedules/{scheduleId}
Delete a given schedule.
URI Parameters
- scheduleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The schedule 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": "schedule not found" }
Entity representing a schedule form metadata for update
Get form metadata for updating an existing schedule.
get /schedules/{scheduleId}/metadata
Get form metadata for updating an existing schedule.
URI Parameters
- scheduleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Schedule",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this schedule, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this schedule, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this schedule for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Schedule.Schedule:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this schedule",
"linked": false
},
"description": {
"description": "The description of this schedule.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Schedule.Schedule:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this schedule",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this schedule. 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 schedule. 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
},
"scheduleSlotId": {
"description": "The schedule slot included inside this one.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:scheduleSlot@dxtera.org",
"existingValue": null,
"elementLabel": "Schedule Slot",
"instructions": "Enter the Id of the schedule slot for this schedule.",
"linked": false
},
"timePeriodId": {
"description": "The TimePeriod for this recurring event.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:timePeriod@dxtera.org",
"existingValue": null,
"elementLabel": "Time Period",
"instructions": "Enter the Id of the time period for this schedule.",
"linked": false
},
"scheduleStart": {
"description": "The start date of this schedule.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:scheduleStart@dxtera.org",
"existingValue": "",
"elementLabel": "Schedule Start",
"instructions": "Enter the schedule start of this schedule.",
"linked": false
},
"scheduleEnd": {
"description": "The end date of this schedule.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:scheduleEnd@dxtera.org",
"existingValue": "",
"elementLabel": "Schedule End",
"instructions": "Enter the schedule end of this schedule.",
"linked": false
},
"limit": {
"description": "The limit of the number of occurences of this schedule.",
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"enum": []
},
"default": [],
"elementId": "calendaring.Schedule:limit@dxtera.org",
"existingValue": [42, 4, 7],
"elementLabel": "Limit",
"instructions": "Enter the limit of this schedule.",
"linked": false
},
"locationId": {
"description": "The Location.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.Schedule:location@dxtera.org",
"existingValue": null,
"elementLabel": "Location",
"instructions": "Enter the Id of the location for this schedule.",
"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": "schedule not found" }
/schedule-slots
Collection of schedule-slots in a system, federation of systems, or in a default calendar.
Get all schedule-slots in the system or default calendar.
Create a new schedule-slot in the default calendar.
get /schedule-slots
Get all schedule-slots in the system or default calendar.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleScheduleSlotType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleScheduleSlotType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleScheduleSlotType%40campusapi.org
- calendarId: (string)
The id string to match a calendar
Example:
calendaring.Calendar%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.ScheduleSlot:9322@base.url",
"uri": "http://base.url/open/campusapi/calendaring/schedule_slot/calendaring.ScheduleSlot%3A9322%40base.url",
"displayName": "Display Name of this ScheduleSlot",
"description": "The description of this ScheduleSlot",
"genusTypeId": "type.Type:defaultScheduleSlotType@base.url",
"recordTypeIds": [ "type.Type:exampleScheduleSlotRecordType@campusapi.org", "..."],
"sequestered": false,
"weekdays": [ "..cardinal[]..", "..." ],
"weeklyInterval": 19,
"weekOfMonth": 19,
"weekdayTime": "..Time..",
"fixedInterval": "P3DT3H",
"duration": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /schedule-slots
Create a new schedule-slot in the default calendar.
Query Parameters
- genusType: (string)
specify a particular scheduleSlot type to create
Example:
type.Type%3AexampleScheduleSlotType%40dxtera.org
- recordType: (array of )
specify support for one or more scheduleSlot record types
Example:
[ "type.Type%3AexampleScheduleSlotRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this scheduleSlot
Example:
calendaring.Calendar%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ScheduleSlot",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this schedule slot, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this schedule slot, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this schedule slot for display.",
"type": "string"
},
"description": {
"description": "The description of this schedule slot.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this schedule slot. 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 schedule slot. 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
},
"sequestered": {
"description": "Whether this schedule slot is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"weekday": {
"description": "-- could someone please write a description for this --",
"type": "array",
"minimum": 1
},
"weeklyInterval": {
"description": "The number of weeks of the interval.",
"type": "integer"
},
"weekOfMonth": {
"description": "The week of the month for the interval.",
"type": "integer"
},
"weekdayTime": {
"description": "The time of this recurring schedule.",
"type": "string",
"format": "time"
},
"fixedInterval": {
"description": "The repeating interval.",
"type": "string",
"format": "duration"
},
"duration": {
"description": "The duration of the schedule slot.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this ScheduleSlot",
"description": "The description of this ScheduleSlot",
"sequestered": false,
"weekdays": [ "..cardinal[]..", "..." ],
"weeklyInterval": 19,
"weekOfMonth": 19,
"weekdayTime": "..Time..",
"fixedInterval": "P3DT3H",
"duration": "P3DT3H"
}
Entity representing a scheduleSlot form metadata.
Get form metadata for creating a new scheduleSlot.
get /schedule-slots/metadata
Get form metadata for creating a new scheduleSlot.
Query Parameters
- genusType: (string)
specify a particular scheduleSlot type to create
Example:
type.Type%3AexampleScheduleSlotType%40dxtera.org
- recordType: (array of )
specify support for one or more scheduleSlot record types
Example:
[ "type.Type%3AexampleScheduleSlotRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this scheduleSlot
Example:
calendaring.Calendar%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": "ScheduleSlot",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this schedule slot, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this schedule slot, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this schedule slot for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ScheduleSlot.ScheduleSlot:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this schedule slot",
"linked": false
},
"description": {
"description": "The description of this schedule slot.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ScheduleSlot.ScheduleSlot:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this schedule slot",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this schedule slot. 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 schedule slot. 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
},
"sequestered": {
"description": "Whether this schedule slot is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "ScheduleSlot.ScheduleSlot:rule@base.url",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this schedule slot is sequestered",
"linked": false
},
"weekday": {
"description": "-- could someone please write a description for this --",
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"enum": []
},
"default": [],
"elementId": "calendaring.ScheduleSlot:weekday@dxtera.org",
"existingValue": [42, 4, 7],
"elementLabel": "Weekday",
"instructions": "Enter the weekday of this schedule slot.",
"linked": false
},
"weeklyInterval": {
"description": "The number of weeks of the interval.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.ScheduleSlot:weeklyInterval@dxtera.org",
"existingValue": 42,
"elementLabel": "Weekly Interval",
"instructions": "Enter the weekly interval of this schedule slot.",
"linked": false
},
"weekOfMonth": {
"description": "The week of the month for the interval.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.ScheduleSlot:weekOfMonth@dxtera.org",
"existingValue": 42,
"elementLabel": "Week Of Month",
"instructions": "Enter the week of month of this schedule slot.",
"linked": false
},
"weekdayTime": {
"description": "The time of this recurring schedule.",
"type": "string",
"format": "time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.ScheduleSlot:weekdayTime@dxtera.org",
"existingValue": "",
"elementLabel": "Weekday Time",
"instructions": "Enter the weekday time of this schedule slot.",
"linked": false
},
"fixedInterval": {
"description": "The repeating interval.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.ScheduleSlot:fixedInterval@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed Interval",
"instructions": "Enter the fixed interval of this schedule slot.",
"linked": false
},
"duration": {
"description": "The duration of the schedule slot.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.ScheduleSlot:duration@dxtera.org",
"existingValue": "",
"elementLabel": "Duration",
"instructions": "Enter the duration of this schedule slot.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a schedule-slot
Get a schedule-slot given its id.
Update a given schedule-slot.
Delete a given schedule-slot.
get /schedule-slots/{scheduleSlotId}
Get a schedule-slot given its id.
URI Parameters
- scheduleSlotId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "calendaring.ScheduleSlot:9322@base.url",
"uri": "http://base.url/open/campusapi/calendaring/schedule_slot/calendaring.ScheduleSlot%3A9322%40base.url",
"displayName": "Display Name of this ScheduleSlot",
"description": "The description of this ScheduleSlot",
"genusTypeId": "type.Type:defaultScheduleSlotType@base.url",
"recordTypeIds": [ "type.Type:exampleScheduleSlotRecordType@campusapi.org", "..."],
"sequestered": false,
"weekdays": [ "..cardinal[]..", "..." ],
"weeklyInterval": 19,
"weekOfMonth": 19,
"weekdayTime": "..Time..",
"fixedInterval": "P3DT3H",
"duration": "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": "schedule-slot not found" }
put /schedule-slots/{scheduleSlotId}
Update a given schedule-slot.
URI Parameters
- scheduleSlotId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ScheduleSlot",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this schedule slot, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this schedule slot, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this schedule slot for display.",
"type": "string"
},
"description": {
"description": "The description of this schedule slot.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this schedule slot. 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 schedule slot. 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
},
"sequestered": {
"description": "Whether this schedule slot is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"weekday": {
"description": "-- could someone please write a description for this --",
"type": "array",
"minimum": 1
},
"weeklyInterval": {
"description": "The number of weeks of the interval.",
"type": "integer"
},
"weekOfMonth": {
"description": "The week of the month for the interval.",
"type": "integer"
},
"weekdayTime": {
"description": "The time of this recurring schedule.",
"type": "string",
"format": "time"
},
"fixedInterval": {
"description": "The repeating interval.",
"type": "string",
"format": "duration"
},
"duration": {
"description": "The duration of the schedule slot.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this ScheduleSlot",
"description": "The description of this ScheduleSlot",
"sequestered": false,
"weekdays": [ "..cardinal[]..", "..." ],
"weeklyInterval": 19,
"weekOfMonth": 19,
"weekdayTime": "..Time..",
"fixedInterval": "P3DT3H",
"duration": "P3DT3H"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The schedule-slot 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": "schedule-slot not found" }
delete /schedule-slots/{scheduleSlotId}
Delete a given schedule-slot.
URI Parameters
- scheduleSlotId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The schedule-slot 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": "schedule-slot not found" }
Entity representing a scheduleSlot form metadata for update
Get form metadata for updating an existing scheduleSlot.
get /schedule-slots/{scheduleSlotId}/metadata
Get form metadata for updating an existing scheduleSlot.
URI Parameters
- scheduleSlotId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "ScheduleSlot",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this schedule slot, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this schedule slot, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this schedule slot for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ScheduleSlot.ScheduleSlot:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this schedule slot",
"linked": false
},
"description": {
"description": "The description of this schedule slot.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "ScheduleSlot.ScheduleSlot:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this schedule slot",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this schedule slot. 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 schedule slot. 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
},
"sequestered": {
"description": "Whether this schedule slot is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "ScheduleSlot.ScheduleSlot:rule@base.url",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this schedule slot is sequestered",
"linked": false
},
"weekday": {
"description": "-- could someone please write a description for this --",
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"enum": []
},
"default": [],
"elementId": "calendaring.ScheduleSlot:weekday@dxtera.org",
"existingValue": [42, 4, 7],
"elementLabel": "Weekday",
"instructions": "Enter the weekday of this schedule slot.",
"linked": false
},
"weeklyInterval": {
"description": "The number of weeks of the interval.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.ScheduleSlot:weeklyInterval@dxtera.org",
"existingValue": 42,
"elementLabel": "Weekly Interval",
"instructions": "Enter the weekly interval of this schedule slot.",
"linked": false
},
"weekOfMonth": {
"description": "The week of the month for the interval.",
"type": "integer",
"minimum": null,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "calendaring.ScheduleSlot:weekOfMonth@dxtera.org",
"existingValue": 42,
"elementLabel": "Week Of Month",
"instructions": "Enter the week of month of this schedule slot.",
"linked": false
},
"weekdayTime": {
"description": "The time of this recurring schedule.",
"type": "string",
"format": "time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.ScheduleSlot:weekdayTime@dxtera.org",
"existingValue": "",
"elementLabel": "Weekday Time",
"instructions": "Enter the weekday time of this schedule slot.",
"linked": false
},
"fixedInterval": {
"description": "The repeating interval.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.ScheduleSlot:fixedInterval@dxtera.org",
"existingValue": "",
"elementLabel": "Fixed Interval",
"instructions": "Enter the fixed interval of this schedule slot.",
"linked": false
},
"duration": {
"description": "The duration of the schedule slot.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.ScheduleSlot:duration@dxtera.org",
"existingValue": "",
"elementLabel": "Duration",
"instructions": "Enter the duration of this schedule slot.",
"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": "scheduleSlot not found" }
/commitments
Collection of commitments in a system, federation of systems, or in a default calendar.
Get all commitments in the system or default calendar.
Create a new commitment in the default calendar.
get /commitments
Get all commitments in the system or default calendar.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCommitmentType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCommitmentType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCommitmentType%40campusapi.org
- fromDate: (string)
Get all commitments from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all commitments up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- eventId: (string)
the id string to match a event.
Example:
calendaring.Event%3A550%40base.url
- resourceId: (string)
the id string to match a resource.
Example:
resource.Resource%3A640%40base.url
- calendarId: (string)
The id string to match a calendar
Example:
calendaring.Calendar%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Commitment:847@base.url",
"uri": "http://base.url/open/campusapi/calendaring/commitment/calendaring.Commitment%3A847%40base.url",
"displayName": "Display Name of this Commitment",
"description": "The description of this Commitment",
"genusTypeId": "type.Type:defaultCommitmentType@base.url",
"recordTypeIds": [ "type.Type:exampleCommitmentRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:847@base.url",
"eventId": "calendaring.Event:1697@base.url",
"resourceId": "resource.Resource:9110@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /commitments
Create a new commitment in the default calendar.
Query Parameters
- eventId: required(string)
the event of this commitment.
Example:
calendaring.Event%3A550%40base.url
- resourceId: required(string)
the resource of this commitment.
Example:
resource.Resource%3A640%40base.url
- genusType: (string)
specify a particular commitment type to create
Example:
type.Type%3AexampleCommitmentType%40dxtera.org
- recordType: (array of )
specify support for one or more commitment record types
Example:
[ "type.Type%3AexampleCommitmentRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this commitment
Example:
calendaring.Calendar%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Commitment",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this commitment, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this commitment, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this commitment for display.",
"type": "string"
},
"description": {
"description": "The description of this commitment.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this commitment. 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 commitment. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this commitment.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this commitment.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this commitment ended.",
"type": "string",
"format": "osid-id"
},
"eventId": {
"description": "The event associated with this commitment.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"resourceId": {
"description": "The resource associated with this commitment.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Commitment",
"description": "The description of this Commitment",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:8412@base.url"
}
Entity representing a commitment form metadata.
Get form metadata for creating a new commitment.
get /commitments/metadata
Get form metadata for creating a new commitment.
Query Parameters
- eventId: required(string)
the event of this metadatum.
Example:
calendaring.Event%3A550%40base.url
- resourceId: required(string)
the resource of this metadatum.
Example:
resource.Resource%3A640%40base.url
- genusType: (string)
specify a particular commitment type to create
Example:
type.Type%3AexampleCommitmentType%40dxtera.org
- recordType: (array of )
specify support for one or more commitment record types
Example:
[ "type.Type%3AexampleCommitmentRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this commitment
Example:
calendaring.Calendar%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": "Commitment",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this commitment, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this commitment, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this commitment for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this commitment",
"linked": false
},
"description": {
"description": "The description of this commitment.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this commitment",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this commitment. 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 commitment. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this commitment.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this commitment",
"linked": false
},
"endDate": {
"description": "The ending date of this commitment.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this commitment",
"linked": false
},
"endReasonId": {
"description": "The reason this commitment ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this commitment ended",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a commitment
Get a commitment given its id.
Update a given commitment.
Delete a given commitment.
get /commitments/{commitmentId}
Get a commitment given its id.
URI Parameters
- commitmentId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "calendaring.Commitment:847@base.url",
"uri": "http://base.url/open/campusapi/calendaring/commitment/calendaring.Commitment%3A847%40base.url",
"displayName": "Display Name of this Commitment",
"description": "The description of this Commitment",
"genusTypeId": "type.Type:defaultCommitmentType@base.url",
"recordTypeIds": [ "type.Type:exampleCommitmentRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:847@base.url",
"eventId": "calendaring.Event:1697@base.url",
"resourceId": "resource.Resource:9110@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": "commitment not found" }
put /commitments/{commitmentId}
Update a given commitment.
URI Parameters
- commitmentId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Commitment",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this commitment, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this commitment, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this commitment for display.",
"type": "string"
},
"description": {
"description": "The description of this commitment.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this commitment. 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 commitment. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this commitment.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this commitment.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this commitment ended.",
"type": "string",
"format": "osid-id"
},
"eventId": {
"description": "The event associated with this commitment.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"resourceId": {
"description": "The resource associated with this commitment.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Commitment",
"description": "The description of this Commitment",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:8412@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The commitment 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": "commitment not found" }
delete /commitments/{commitmentId}
Delete a given commitment.
URI Parameters
- commitmentId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The commitment 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": "commitment not found" }
Entity representing a commitment form metadata for update
Get form metadata for updating an existing commitment.
get /commitments/{commitmentId}/metadata
Get form metadata for updating an existing commitment.
URI Parameters
- commitmentId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Commitment",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this commitment, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this commitment, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this commitment for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this commitment",
"linked": false
},
"description": {
"description": "The description of this commitment.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this commitment",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this commitment. 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 commitment. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this commitment.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this commitment",
"linked": false
},
"endDate": {
"description": "The ending date of this commitment.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this commitment",
"linked": false
},
"endReasonId": {
"description": "The reason this commitment ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commitment.Commitment:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this commitment ended",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "commitment not found" }
/time-periods
Collection of time-periods in a system, federation of systems, or in a default calendar.
Get all time-periods in the system or default calendar.
Create a new time-period in the default calendar.
get /time-periods
Get all time-periods in the system or default calendar.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleTimePeriodType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleTimePeriodType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleTimePeriodType%40campusapi.org
- calendarId: (string)
The id string to match a calendar
Example:
calendaring.Calendar%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.TimePeriod:4845@base.url",
"uri": "http://base.url/open/campusapi/calendaring/time_period/calendaring.TimePeriod%3A4845%40base.url",
"displayName": "Display Name of this TimePeriod",
"description": "The description of this TimePeriod",
"genusTypeId": "type.Type:defaultTimePeriodType@base.url",
"recordTypeIds": [ "type.Type:exampleTimePeriodRecordType@campusapi.org", "..."],
"start": "2020-10-03T08:00:00.000Z",
"end": "2020-12-18T17:00:00.000Z"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /time-periods
Create a new time-period in the default calendar.
Query Parameters
- genusType: (string)
specify a particular timePeriod type to create
Example:
type.Type%3AexampleTimePeriodType%40dxtera.org
- recordType: (array of )
specify support for one or more timePeriod record types
Example:
[ "type.Type%3AexampleTimePeriodRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this timePeriod
Example:
calendaring.Calendar%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "TimePeriod",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this time period, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this time period, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this time period for display.",
"type": "string"
},
"description": {
"description": "The description of this time period.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this time period. 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 time period. 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
},
"start": {
"description": "The start time of the time period.",
"type": "string",
"format": "date-time"
},
"end": {
"description": "The end time of the time period.",
"type": "string",
"format": "date-time"
}
}
}
Example:
{
"displayName": "Display Name of this TimePeriod",
"description": "The description of this TimePeriod",
"start": "2020-10-03T08:00:00.000Z",
"end": "2020-12-18T17:00:00.000Z"
}
Entity representing a timePeriod form metadata.
Get form metadata for creating a new timePeriod.
get /time-periods/metadata
Get form metadata for creating a new timePeriod.
Query Parameters
- genusType: (string)
specify a particular timePeriod type to create
Example:
type.Type%3AexampleTimePeriodType%40dxtera.org
- recordType: (array of )
specify support for one or more timePeriod record types
Example:
[ "type.Type%3AexampleTimePeriodRecordType%40campusapi.org", "..." ]
- calendarId: (string)
specify in which calendar to create this timePeriod
Example:
calendaring.Calendar%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": "TimePeriod",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this time period, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this time period, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this time period for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "TimePeriod.TimePeriod:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this time period",
"linked": false
},
"description": {
"description": "The description of this time period.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "TimePeriod.TimePeriod:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this time period",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this time period. 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 time period. 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
},
"start": {
"description": "The start time of the time period.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.TimePeriod:start@dxtera.org",
"existingValue": "",
"elementLabel": "Start",
"instructions": "Enter the start of this time period.",
"linked": false
},
"end": {
"description": "The end time of the time period.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.TimePeriod:end@dxtera.org",
"existingValue": "",
"elementLabel": "End",
"instructions": "Enter the end of this time period.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a time-period
Get a time-period given its id.
Update a given time-period.
Delete a given time-period.
get /time-periods/{timePeriodId}
Get a time-period given its id.
URI Parameters
- timePeriodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "calendaring.TimePeriod:4845@base.url",
"uri": "http://base.url/open/campusapi/calendaring/time_period/calendaring.TimePeriod%3A4845%40base.url",
"displayName": "Display Name of this TimePeriod",
"description": "The description of this TimePeriod",
"genusTypeId": "type.Type:defaultTimePeriodType@base.url",
"recordTypeIds": [ "type.Type:exampleTimePeriodRecordType@campusapi.org", "..."],
"start": "2020-10-03T08:00:00.000Z",
"end": "2020-12-18T17:00:00.000Z"
}
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": "time-period not found" }
put /time-periods/{timePeriodId}
Update a given time-period.
URI Parameters
- timePeriodId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "TimePeriod",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this time period, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this time period, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this time period for display.",
"type": "string"
},
"description": {
"description": "The description of this time period.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this time period. 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 time period. 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
},
"start": {
"description": "The start time of the time period.",
"type": "string",
"format": "date-time"
},
"end": {
"description": "The end time of the time period.",
"type": "string",
"format": "date-time"
}
}
}
Example:
{
"displayName": "Display Name of this TimePeriod",
"description": "The description of this TimePeriod",
"start": "2020-10-03T08:00:00.000Z",
"end": "2020-12-18T17:00:00.000Z"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The time-period 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": "time-period not found" }
delete /time-periods/{timePeriodId}
Delete a given time-period.
URI Parameters
- timePeriodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The time-period 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": "time-period not found" }
Entity representing a timePeriod form metadata for update
Get form metadata for updating an existing timePeriod.
get /time-periods/{timePeriodId}/metadata
Get form metadata for updating an existing timePeriod.
URI Parameters
- timePeriodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "TimePeriod",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this time period, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this time period, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this time period for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "TimePeriod.TimePeriod:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this time period",
"linked": false
},
"description": {
"description": "The description of this time period.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "TimePeriod.TimePeriod:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this time period",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this time period. 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 time period. 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
},
"start": {
"description": "The start time of the time period.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.TimePeriod:start@dxtera.org",
"existingValue": "",
"elementLabel": "Start",
"instructions": "Enter the start of this time period.",
"linked": false
},
"end": {
"description": "The end time of the time period.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "calendaring.TimePeriod:end@dxtera.org",
"existingValue": "",
"elementLabel": "End",
"instructions": "Enter the end of this time period.",
"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": "timePeriod not found" }
/calendars
Collection of calendars in a system or federation of systems.
Get all calendars.
Create a new calendar.
get /calendars
Get all calendars.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCalendarType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCalendarType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCalendarType%40campusapi.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org
- eventId: (string)
Get calendars mapped to this event.
Example:
calendaring.Event%3A440%40demo.dxtera.org
- recurringEventId: (string)
Get calendars mapped to this recurring-event.
Example:
calendaring.RecurringEvent%3A1320%40demo.dxtera.org
- supersedingEventId: (string)
Get calendars mapped to this superseding-event.
Example:
calendaring.SupersedingEvent%3A1496%40demo.dxtera.org
- offsetEventId: (string)
Get calendars mapped to this offset-event.
Example:
calendaring.OffsetEvent%3A1056%40demo.dxtera.org
- scheduleId: (string)
Get calendars mapped to this schedule.
Example:
calendaring.Schedule%3A704%40demo.dxtera.org
- scheduleSlotId: (string)
Get calendars mapped to this schedule-slot.
Example:
calendaring.ScheduleSlot%3A1144%40demo.dxtera.org
- timePeriodId: (string)
Get calendars mapped to this time-period.
Example:
calendaring.TimePeriod%3A968%40demo.dxtera.org
- commitmentId: (string)
Get calendars mapped to this commitment.
Example:
calendaring.Commitment%3A880%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Calendar:9544@base.url",
"uri": "http://base.url/open/campusapi/calendaring/calendar/calendaring.Calendar%3A9544%40base.url",
"displayName": "Display Name of this Calendar",
"description": "The description of this Calendar",
"genusTypeId": "type.Type:defaultCalendarType@base.url",
"recordTypeIds": [ "type.Type:exampleCalendarRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Calendar@base.url",
"license": "The license that applies to this Calendar"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /calendars
Create a new calendar.
Query Parameters
- genusType: (string)
specify a particular calendar type to create
Example:
type.Type%3AexampleCalendarType%40dxtera.org
- recordType: (array of )
specify support for one or more calendar record types
Example:
[ "type.Type%3AexampleCalendarRecordType%40campusapi.org", "..." ]
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Calendar",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this calendar, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this calendar, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this calendar for display.",
"type": "string"
},
"description": {
"description": "The description of this calendar.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this calendar. 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 calendar. 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 calendar.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this calendar. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this calendar.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Calendar",
"description": "The description of this Calendar",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Calendar@base.url",
"license": "The license that applies to this Calendar"
}
Entity representing a calendar form metadata.
Get form metadata for creating a new calendar.
get /calendars/metadata
Get form metadata for creating a new calendar.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Calendar",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this calendar, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this calendar, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this calendar for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Calendar.Calendar:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this calendar",
"linked": false
},
"description": {
"description": "The description of this calendar.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Calendar.Calendar:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this calendar",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this calendar. 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 calendar. 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 calendar.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Calendar.Calendar:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this calendar",
"linked": false
},
"brandingIds": {
"description": "The branding of this calendar. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Calendar.Calendar:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this calendar",
"linked": false
},
"license": {
"description": "The licensing that applies to this calendar.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Calendar.Calendar:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this calendar",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root calendars in the calendar hierarchy. A node with no parents is an orphan. While all calendar 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-calendar
get /calendars/root-calendar
Get all root root-calendar
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Calendar:9544@base.url",
"uri": "http://base.url/open/campusapi/calendaring/calendar/calendaring.Calendar%3A9544%40base.url",
"displayName": "Display Name of this Calendar",
"description": "The description of this Calendar",
"genusTypeId": "type.Type:defaultCalendarType@base.url",
"recordTypeIds": [ "type.Type:exampleCalendarRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Calendar@base.url",
"license": "The license that applies to this Calendar"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a calendar
Get a calendar given its id.
Update a given calendar.
Delete a given calendar.
get /calendars/{calendarId}
Get a calendar given its id.
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "calendaring.Calendar:9544@base.url",
"uri": "http://base.url/open/campusapi/calendaring/calendar/calendaring.Calendar%3A9544%40base.url",
"displayName": "Display Name of this Calendar",
"description": "The description of this Calendar",
"genusTypeId": "type.Type:defaultCalendarType@base.url",
"recordTypeIds": [ "type.Type:exampleCalendarRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Calendar@base.url",
"license": "The license that applies to this Calendar"
}
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": "calendar not found" }
put /calendars/{calendarId}
Update a given calendar.
URI Parameters
- calendarId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Calendar",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this calendar, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this calendar, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this calendar for display.",
"type": "string"
},
"description": {
"description": "The description of this calendar.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this calendar. 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 calendar. 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 calendar.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this calendar. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this calendar.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Calendar",
"description": "The description of this Calendar",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Calendar@base.url",
"license": "The license that applies to this Calendar"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The calendar 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": "calendar not found" }
delete /calendars/{calendarId}
Delete a given calendar.
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The calendar 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": "calendar not found" }
Entity representing a calendar form metadata for update
Get form metadata for updating an existing calendar.
get /calendars/{calendarId}/metadata
Get form metadata for updating an existing calendar.
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Calendar",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this calendar, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this calendar, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this calendar for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Calendar.Calendar:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this calendar",
"linked": false
},
"description": {
"description": "The description of this calendar.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Calendar.Calendar:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this calendar",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this calendar. 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 calendar. 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 calendar.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Calendar.Calendar:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this calendar",
"linked": false
},
"brandingIds": {
"description": "The branding of this calendar. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Calendar.Calendar:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this calendar",
"linked": false
},
"license": {
"description": "The licensing that applies to this calendar.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Calendar.Calendar:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this calendar",
"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": "calendar not found" }
Get child calendars for the given calendar in the hierarchy.
get /calendars/{calendarId}/children
Get child calendars for the given calendar in the hierarchy.
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Calendar:9544@base.url",
"uri": "http://base.url/open/campusapi/calendaring/calendar/calendaring.Calendar%3A9544%40base.url",
"displayName": "Display Name of this Calendar",
"description": "The description of this Calendar",
"genusTypeId": "type.Type:defaultCalendarType@base.url",
"recordTypeIds": [ "type.Type:exampleCalendarRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Calendar@base.url",
"license": "The license that applies to this Calendar"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add calendar as child of the given calendar in the hierarchy.
Remove the given calendar as a child of the given calendar in the hierarchy.
put /calendars/{calendarId}/children/{childId}
Add calendar as child of the given calendar in the hierarchy.
URI Parameters
- calendarId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child calendar 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": "calendar not found" }
delete /calendars/{calendarId}/children/{childId}
Remove the given calendar as a child of the given calendar in the hierarchy.
URI Parameters
- calendarId: required(string)
- childId: required(string)
Get parent calendars for the given calendar in the hierarchy.
get /calendars/{calendarId}/parents
Get parent calendars for the given calendar in the hierarchy.
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Calendar:9544@base.url",
"uri": "http://base.url/open/campusapi/calendaring/calendar/calendaring.Calendar%3A9544%40base.url",
"displayName": "Display Name of this Calendar",
"description": "The description of this Calendar",
"genusTypeId": "type.Type:defaultCalendarType@base.url",
"recordTypeIds": [ "type.Type:exampleCalendarRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Calendar@base.url",
"license": "The license that applies to this Calendar"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get all events in this calendar
get /calendars/{calendarId}/events
Get all events in this calendar
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Event:1088@base.url",
"uri": "http://base.url/open/campusapi/calendaring/event/calendaring.Event%3A1088%40base.url",
"displayName": "Display Name of this Event",
"description": "The description of this Event",
"genusTypeId": "type.Type:defaultEventType@base.url",
"recordTypeIds": [ "type.Type:exampleEventRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"sequestered": false,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:8999@base.url",
"sponsorIds": [ "resource.Resource:5102@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given event to this calendar
Remove the given event from the calendar.
put /calendars/{calendarId}/events/{eventId}
Add the given event to this calendar
URI Parameters
- calendarId: required(string)
- eventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "event has been added to calendar" }
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": "event not found" }
delete /calendars/{calendarId}/events/{eventId}
Remove the given event from the calendar.
URI Parameters
- calendarId: required(string)
- eventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "event 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": "event not found" }
Get all recurring-events in this calendar
get /calendars/{calendarId}/recurring-events
Get all recurring-events in this calendar
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.RecurringEvent:6782@base.url",
"uri": "http://base.url/open/campusapi/calendaring/recurringEvent/calendaring.RecurringEvent%3A6782%40base.url",
"displayName": "Display Name of this RecurringEvent",
"description": "The description of this RecurringEvent",
"genusTypeId": "type.Type:defaultRecurringEventType@base.url",
"recordTypeIds": [ "type.Type:exampleRecurringEventRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"sequestered": false,
"sponsorIds": [ "resource.Resource:5448@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given recurring-event to this calendar
Remove the given recurring-event from the calendar.
put /calendars/{calendarId}/recurring-events/{recurringEventId}
Add the given recurring-event to this calendar
URI Parameters
- calendarId: required(string)
- recurringEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "recurring-event has been added to calendar" }
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": "recurring-event not found" }
delete /calendars/{calendarId}/recurring-events/{recurringEventId}
Remove the given recurring-event from the calendar.
URI Parameters
- calendarId: required(string)
- recurringEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "recurring-event 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": "recurring-event not found" }
Get all superseding-events in this calendar
get /calendars/{calendarId}/superseding-events
Get all superseding-events in this calendar
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.SupersedingEvent:3949@base.url",
"uri": "http://base.url/open/campusapi/calendaring/supersedingEvent/calendaring.SupersedingEvent%3A3949%40base.url",
"displayName": "Display Name of this SupersedingEvent",
"description": "The description of this SupersedingEvent",
"genusTypeId": "type.Type:defaultSupersedingEventType@base.url",
"recordTypeIds": [ "type.Type:exampleSupersedingEventRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"supersededEventId": "calendaring.Event:3213@base.url",
"supersededDate": "2021-07-21T23:15:30.000Z",
"supersedingEventId": "calendaring.Event:5759@base.url",
"supersededEventPosition": 19
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given superseding-event to this calendar
Remove the given superseding-event from the calendar.
put /calendars/{calendarId}/superseding-events/{supersedingEventId}
Add the given superseding-event to this calendar
URI Parameters
- calendarId: required(string)
- supersedingEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "superseding-event has been added to calendar" }
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": "superseding-event not found" }
delete /calendars/{calendarId}/superseding-events/{supersedingEventId}
Remove the given superseding-event from the calendar.
URI Parameters
- calendarId: required(string)
- supersedingEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "superseding-event 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": "superseding-event not found" }
Get all offset-events in this calendar
get /calendars/{calendarId}/offset-events
Get all offset-events in this calendar
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.OffsetEvent:7439@base.url",
"uri": "http://base.url/open/campusapi/calendaring/offsetEvent/calendaring.OffsetEvent%3A7439%40base.url",
"displayName": "Display Name of this OffsetEvent",
"description": "The description of this OffsetEvent",
"genusTypeId": "type.Type:defaultOffsetEventType@base.url",
"recordTypeIds": [ "type.Type:exampleOffsetEventRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"fixedStartTime": "2020-10-03T08:00:00.000Z",
"startReferenceEventId": "calendaring.Event:4162@base.url",
"fixedStartOffset": "P3DT3H",
"relativeWeekdayStartOffset": 19,
"relativeStartWeekday": 19,
"fixedDuration": "P3DT3H",
"endReferenceEventId": "calendaring.Event:2524@base.url",
"fixedEndOffset": "P3DT3H",
"relativeWeekdayEndOffset": 19,
"relativeEndWeekday": 19,
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:85@base.url",
"sponsorIds": [ "resource.Resource:8788@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given offset-event to this calendar
Remove the given offset-event from the calendar.
put /calendars/{calendarId}/offset-events/{offsetEventId}
Add the given offset-event to this calendar
URI Parameters
- calendarId: required(string)
- offsetEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "offset-event has been added to calendar" }
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": "offset-event not found" }
delete /calendars/{calendarId}/offset-events/{offsetEventId}
Remove the given offset-event from the calendar.
URI Parameters
- calendarId: required(string)
- offsetEventId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "offset-event 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": "offset-event not found" }
Get all schedules in this calendar
get /calendars/{calendarId}/schedules
Get all schedules in this calendar
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Schedule:1045@base.url",
"uri": "http://base.url/open/campusapi/calendaring/schedule/calendaring.Schedule%3A1045%40base.url",
"displayName": "Display Name of this Schedule",
"description": "The description of this Schedule",
"genusTypeId": "type.Type:defaultScheduleType@base.url",
"recordTypeIds": [ "type.Type:exampleScheduleRecordType@campusapi.org", "..."],
"scheduleSlotId": "calendaring.ScheduleSlot:6660@base.url",
"timePeriodId": "calendaring.TimePeriod:2961@base.url",
"scheduleStart": "2020-10-03T08:00:00.000Z",
"scheduleEnd": "2020-12-18T17:00:00.000Z",
"limit": [ "..cardinal[]..", "..." ],
"locationDescription": "This is the LocationDescription",
"locationId": "mapping.Location:4998@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given schedule to this calendar
Remove the given schedule from the calendar.
put /calendars/{calendarId}/schedules/{scheduleId}
Add the given schedule to this calendar
URI Parameters
- calendarId: required(string)
- scheduleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "schedule has been added to calendar" }
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": "schedule not found" }
delete /calendars/{calendarId}/schedules/{scheduleId}
Remove the given schedule from the calendar.
URI Parameters
- calendarId: required(string)
- scheduleId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "schedule 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": "schedule not found" }
Get all schedule-slots in this calendar
get /calendars/{calendarId}/schedule-slots
Get all schedule-slots in this calendar
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.ScheduleSlot:9322@base.url",
"uri": "http://base.url/open/campusapi/calendaring/schedule_slot/calendaring.ScheduleSlot%3A9322%40base.url",
"displayName": "Display Name of this ScheduleSlot",
"description": "The description of this ScheduleSlot",
"genusTypeId": "type.Type:defaultScheduleSlotType@base.url",
"recordTypeIds": [ "type.Type:exampleScheduleSlotRecordType@campusapi.org", "..."],
"sequestered": false,
"weekdays": [ "..cardinal[]..", "..." ],
"weeklyInterval": 19,
"weekOfMonth": 19,
"weekdayTime": "..Time..",
"fixedInterval": "P3DT3H",
"duration": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given schedule-slot to this calendar
Remove the given schedule-slot from the calendar.
put /calendars/{calendarId}/schedule-slots/{scheduleSlotId}
Add the given schedule-slot to this calendar
URI Parameters
- calendarId: required(string)
- scheduleSlotId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "schedule-slot has been added to calendar" }
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": "schedule-slot not found" }
delete /calendars/{calendarId}/schedule-slots/{scheduleSlotId}
Remove the given schedule-slot from the calendar.
URI Parameters
- calendarId: required(string)
- scheduleSlotId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "schedule-slot 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": "schedule-slot not found" }
Get all commitments in this calendar
get /calendars/{calendarId}/commitments
Get all commitments in this calendar
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.Commitment:847@base.url",
"uri": "http://base.url/open/campusapi/calendaring/commitment/calendaring.Commitment%3A847%40base.url",
"displayName": "Display Name of this Commitment",
"description": "The description of this Commitment",
"genusTypeId": "type.Type:defaultCommitmentType@base.url",
"recordTypeIds": [ "type.Type:exampleCommitmentRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:847@base.url",
"eventId": "calendaring.Event:1697@base.url",
"resourceId": "resource.Resource:9110@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given commitment to this calendar
Remove the given commitment from the calendar.
put /calendars/{calendarId}/commitments/{commitmentId}
Add the given commitment to this calendar
URI Parameters
- calendarId: required(string)
- commitmentId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "commitment has been added to calendar" }
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": "commitment not found" }
delete /calendars/{calendarId}/commitments/{commitmentId}
Remove the given commitment from the calendar.
URI Parameters
- calendarId: required(string)
- commitmentId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "commitment 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": "commitment not found" }
Get all time-periods in this calendar
get /calendars/{calendarId}/time-periods
Get all time-periods in this calendar
URI Parameters
- calendarId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "calendaring.TimePeriod:4845@base.url",
"uri": "http://base.url/open/campusapi/calendaring/time_period/calendaring.TimePeriod%3A4845%40base.url",
"displayName": "Display Name of this TimePeriod",
"description": "The description of this TimePeriod",
"genusTypeId": "type.Type:defaultTimePeriodType@base.url",
"recordTypeIds": [ "type.Type:exampleTimePeriodRecordType@campusapi.org", "..."],
"start": "2020-10-03T08:00:00.000Z",
"end": "2020-12-18T17:00:00.000Z"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given time-period to this calendar
Remove the given time-period from the calendar.
put /calendars/{calendarId}/time-periods/{timePeriodId}
Add the given time-period to this calendar
URI Parameters
- calendarId: required(string)
- timePeriodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "time-period has been added to calendar" }
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": "time-period not found" }
delete /calendars/{calendarId}/time-periods/{timePeriodId}
Remove the given time-period from the calendar.
URI Parameters
- calendarId: required(string)
- timePeriodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "time-period 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": "time-period not found" }