http://github.com/org/folio/mod-courses
API calls to perform CRUD on item reservations for courses
The Course Reserves API is all about courses, and the items that have been reserved to them. (A reserved item is typically moved from its usual location to a special temporary location, along with other items reserved to the same course. From there, it can be picked up and checked out by students registered to the course in question.)
There are ten types implemented by this module. Of these, six (role
, term
, coursetype
, department
, processingstatus
and copyrightstatus
) are simple controlled vocabulaties used by the four more meaningful types. Of these six, term
has a name, a start-date and and end-date; all the other five consist simple of a name and a description.
The four main types are more complex:
This represents a course, and has fields like name
, description
, departmentId
(linking to a department within the controlled vocabulary of that name), courseNumber
and sectionName
.
In this type and in courselisting records (see below), some linked objects are expanded inline when a record is fetched: these are furnished in fields whose names end with object
: for example, there is departmentObject
field corresponding to departmentId
, containing the name
and description
from the controlled vocabulary entry.
However, some other fields that we might expect to see in a course record (e.g. registrarId
, termId
) are not present. This is because of the way we represent cross-listed courses. A courselisting record contains fields common to a set of cross-listed courses: each course belongs to exactly one courselisting and has a courseListingId
field that specified this. Fetched records also have a corresponding courseListingObject
, so that the Registrar ID of a course can be found in courseListingObject.registrarId
.
This represents the information common to a set of cross-listed courses, and has fields like registrarId
, externalId
, termId
(and associated termObject
) and courseTypeId
(and associated courseTypeObject
). It also has two further fields that link to objects defined in FOLIO's Inventory module: servicepointId
and locationId
.
Instructors do not exist in isolation (unlike the six controlled-vocabulary objects) but only in the context of a specific courselisting: they are accessed at /coursereserves/courselistings/{listing_id}/instructors
. Each instructor record contains an optional userId
pointing into FOLIO's Users module, and data fields such as name
and barcode
which may be either copied from the User record (when it exists) or manually filled (when it does not).
Similarly, reserves exist in the context of specific courselisting: they are accessed at /coursereserves/courselistings/{listing_id}/reserves
. Each reserve record contains a mandatory itemId
pointing into FOLIO's Inventory module, and a copiedItem
subrecord containing data fields such as title
and contributors
which are copied from the Item record to facilitate searching.
In addition to the fields pertaining to the reserved item, this record contains information about the reserve itself, including processingStatusId
and startDate
and endDate
. These last two are inherited from the term associated with the courselisting that the reserve belongs to, but can be overridden.
Locations in FOLIO are quite complex. Items have both a permanent and temporary location. Both these fields also exist in the holdings record that contains an item. The item's effective location is its own temporary location if defined, otherwise its permanent location if defined, otherwise the temporary location of its holdings record if defined, otherwise the permanent location of its holdings record.
When a new reserve is created in Course reserves, the reserve record contains a copy of parts of the reserved item's record, including the item's permanent and temporary locations (but not its effective location, as this is never stored in FOLIO and only calculated when required).
In general, when editing a reserve in the Course Reserves app, only the reserve itself is edited, including for example the copyright information associated with the reserve. But as a special case, when the temporary location is edited in a reserve, the Course Reserves module also modifies the temporary location of the underlying item record in inventory. When the reserve is deleted, the temporary location of the underlying item record is reset.
When reserving an item with no temporary location of its own (such as barcode 10101 in the FOLIO sample records) to a course with no location, the reserve that is created has no temporary location, and editing it will show "(None required)" as the temporary location. Changing fields other than temporary location and saving does not change this: the reserve's temporary location remains as "(None Required)" until it is itself edited. At that point, the temporary location that is set into the reserve gets copied back into the underlying item.
When reserving an item that already has a temporary location of its own (such as barcode 90000 in the FOLIO sample records, with temporary location "Annex") to a course with no location, the reserve that is created has no temporary location of its own, but the underlying item's temporary location of course remains unchanged. Editing the reserve will show the item's temporary location as the temporary location to be edited, because that is the effective temporary location, and saving the reserve will set that as the reserve's own temporary location. When the reserve is deleted, the underlying item's own temporary location is unset, on the assumption that the item has moved back to its permanent location.
The only difference when reserving to a course that has a location of its own is that when the reserve is placed, the temporary location of the underlying item is set to the location of the course. As before, when the reserve is deleted, the item's temporary location is cleared.
Return a list of listings
GET /coursereserves/courselistings
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
with valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of courselisting items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of course listing records",
"type": "object",
"properties": {
"courseListings": {
"description": "List of course listing records",
"id": "courseListing",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An actual instantiation in time and space of a course",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"courseListings",
"totalRecords"
]
}
Example:
{
"courseListings": [
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "02",
"termId": "33fa9d69-e93e-4bc1-a422-91e6f1ea2dea",
"locationId": "ce7f91ed-a790-4e49-aba3-2c74e358efa6",
"servicepointId":"fdb690f6-5be7-4131-8993-02f5c16fd6aa"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list courselistings -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list courselistings -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new listing
POST /coursereserves/courselistings
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "An actual instantiation in time and space of a course",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
}
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "02",
"termId": "33fa9d69-e93e-4bc1-a422-91e6f1ea2dea",
"locationId": "ce7f91ed-a790-4e49-aba3-2c74e358efa6",
"servicepointId":"fdb690f6-5be7-4131-8993-02f5c16fd6aa"
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created courselisting item
Media type: application/json
Type: any
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "02",
"termId": "33fa9d69-e93e-4bc1-a422-91e6f1ea2dea",
"locationId": "ce7f91ed-a790-4e49-aba3-2c74e358efa6",
"servicepointId":"fdb690f6-5be7-4131-8993-02f5c16fd6aa"
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add courselisting -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create courselistings -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all listings
DELETE /coursereserves/courselistings
Requested language. Optional. [lang=en]
All listings deleted
Bad request, e.g. unknown tenant
Media type: text/plain
Type: any
Example:
tenant not found
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve courselisting item with given {courselistingId}
GET /coursereserves/courselistings/{listing_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "An actual instantiation in time and space of a course",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
}
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "02",
"termId": "33fa9d69-e93e-4bc1-a422-91e6f1ea2dea",
"locationId": "ce7f91ed-a790-4e49-aba3-2c74e358efa6",
"servicepointId":"fdb690f6-5be7-4131-8993-02f5c16fd6aa"
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"courselisting not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a listing by id
PUT /coursereserves/courselistings/{listing_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "An actual instantiation in time and space of a course",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
}
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "02",
"termId": "33fa9d69-e93e-4bc1-a422-91e6f1ea2dea",
"locationId": "ce7f91ed-a790-4e49-aba3-2c74e358efa6",
"servicepointId":"fdb690f6-5be7-4131-8993-02f5c16fd6aa"
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update courselisting -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"courselisting not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete courselisting item with given {courselistingId}
DELETE /coursereserves/courselistings/{listing_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete courselisting -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"courselisting not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of courses
GET /coursereserves/courselistings/{listing_id}/courses
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
with valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of course items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of course records",
"type": "object",
"properties": {
"courses": {
"description": "List of course records",
"id": "courses",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A course offered by the institution",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this course",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of course"
},
"description": {
"type": "string",
"description": "A description of the course"
},
"departmentId": {
"type": "string",
"description": "The department that this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"departmentObject": {
"type": "object",
"description": "The department associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"courseListingId": {
"type": "string",
"description": "The id for the course listing this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingObject": {
"type": "object",
"description": "The course listing associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
},
"courseNumber": {
"type": "string",
"description": "A unique code identifying this course"
},
"sectionName": {
"type": "string",
"description": "A text field denoting this course's section"
},
"numberOfStudents": {
"type": "integer",
"description": "The number of students enrolled in this course"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"departmentId",
"courseListingId"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"courses",
"totalRecords"
]
}
Example:
{
"courses": [
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list courses -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list courses -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new course
POST /coursereserves/courselistings/{listing_id}/courses
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A course offered by the institution",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this course",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of course"
},
"description": {
"type": "string",
"description": "A description of the course"
},
"departmentId": {
"type": "string",
"description": "The department that this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"departmentObject": {
"type": "object",
"description": "The department associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"courseListingId": {
"type": "string",
"description": "The id for the course listing this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingObject": {
"type": "object",
"description": "The course listing associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
},
"courseNumber": {
"type": "string",
"description": "A unique code identifying this course"
},
"sectionName": {
"type": "string",
"description": "A text field denoting this course's section"
},
"numberOfStudents": {
"type": "integer",
"description": "The number of students enrolled in this course"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"departmentId",
"courseListingId"
]
}
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c",
"numberOfStudents": 42
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created course item
Media type: application/json
Type: any
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c",
"numberOfStudents": 42
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add course -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create courses -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all courses
DELETE /coursereserves/courselistings/{listing_id}/courses
Requested language. Optional. [lang=en]
All courses deleted
Bad request, e.g. malformed listing_id
Media type: text/plain
Type: any
Example:
listing_id is not a UUID
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve course item with given {courseId}
GET /coursereserves/courselistings/{listing_id}/courses/{course_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A course offered by the institution",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this course",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of course"
},
"description": {
"type": "string",
"description": "A description of the course"
},
"departmentId": {
"type": "string",
"description": "The department that this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"departmentObject": {
"type": "object",
"description": "The department associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"courseListingId": {
"type": "string",
"description": "The id for the course listing this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingObject": {
"type": "object",
"description": "The course listing associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
},
"courseNumber": {
"type": "string",
"description": "A unique code identifying this course"
},
"sectionName": {
"type": "string",
"description": "A text field denoting this course's section"
},
"numberOfStudents": {
"type": "integer",
"description": "The number of students enrolled in this course"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"departmentId",
"courseListingId"
]
}
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c",
"numberOfStudents": 42
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"course not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a course by id
PUT /coursereserves/courselistings/{listing_id}/courses/{course_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A course offered by the institution",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this course",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of course"
},
"description": {
"type": "string",
"description": "A description of the course"
},
"departmentId": {
"type": "string",
"description": "The department that this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"departmentObject": {
"type": "object",
"description": "The department associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"courseListingId": {
"type": "string",
"description": "The id for the course listing this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingObject": {
"type": "object",
"description": "The course listing associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
},
"courseNumber": {
"type": "string",
"description": "A unique code identifying this course"
},
"sectionName": {
"type": "string",
"description": "A text field denoting this course's section"
},
"numberOfStudents": {
"type": "integer",
"description": "The number of students enrolled in this course"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"departmentId",
"courseListingId"
]
}
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c",
"numberOfStudents": 42
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update course -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"course not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete course item with given {courseId}
DELETE /coursereserves/courselistings/{listing_id}/courses/{course_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete course -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"course not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of instructors
GET /coursereserves/courselistings/{listing_id}/instructors
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
with valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of instructor items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of records",
"type": "object",
"properties": {
"instructors": {
"description": "List of records",
"id": "instructors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"instructors",
"totalRecords"
]
}
Example:
{
"instructors": [
{
"id": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"userId": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"roleId": "c848bbfd-675b-4e0f-9ef3-b891c6116117",
"name": "Anderson, Hans Christian",
"courseListingId": "d0973301-e741-4abf-9105-8c51e56dd7cc"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list instructors -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list instructors -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new instructor
POST /coursereserves/courselistings/{listing_id}/instructors
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
Example:
{
"id": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"userId": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"roleId": "c848bbfd-675b-4e0f-9ef3-b891c6116117",
"name": "Anderson, Hans Christian",
"courseListingId": "d0973301-e741-4abf-9105-8c51e56dd7cc"
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created instructor item
Media type: application/json
Type: any
Example:
{
"id": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"userId": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"roleId": "c848bbfd-675b-4e0f-9ef3-b891c6116117",
"name": "Anderson, Hans Christian",
"courseListingId": "d0973301-e741-4abf-9105-8c51e56dd7cc"
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add instructor -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create instructors -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all instructors
DELETE /coursereserves/courselistings/{listing_id}/instructors
Requested language. Optional. [lang=en]
All instructors deleted
Bad request, e.g. malformed listing_id
Media type: text/plain
Type: any
Example:
listing_id is not a UUID
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve instructor item with given {instructorId}
GET /coursereserves/courselistings/{listing_id}/instructors/{instructor_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
Example:
{
"id": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"userId": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"roleId": "c848bbfd-675b-4e0f-9ef3-b891c6116117",
"name": "Anderson, Hans Christian",
"courseListingId": "d0973301-e741-4abf-9105-8c51e56dd7cc"
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"instructor not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update an instructor by id
PUT /coursereserves/courselistings/{listing_id}/instructors/{instructor_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
Example:
{
"id": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"userId": "0b20ec0c-28b5-411c-a24e-530a97a7a074",
"roleId": "c848bbfd-675b-4e0f-9ef3-b891c6116117",
"name": "Anderson, Hans Christian",
"courseListingId": "d0973301-e741-4abf-9105-8c51e56dd7cc"
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update instructor -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"instructor not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete instructor item with given {instructorId}
DELETE /coursereserves/courselistings/{listing_id}/instructors/{instructor_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete instructor -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"instructor not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of reserves
GET /coursereserves/courselistings/{listing_id}/reserves
Whether or not to expand the id fields
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
with valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of reserve items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of records",
"type": "object",
"properties": {
"reserves": {
"description": "List of records",
"id": "reserves",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A reserve of a single inventory item, associated with a section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID of this reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingId": {
"type": "string",
"description": "ID of the listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"itemId": {
"type": "string",
"description": "ID of the item",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusId": {
"type": "string",
"description": "The ID of the processing status of the reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusObject": {
"type": "object",
"description": "The processing status object associated with the reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"startDate": {
"type": "string",
"description": "The beginning of the time period for this reserve"
},
"endDate": {
"type": "string",
"description": "The ending of the time period for this reserve"
},
"copiedItem": {
"type": "object",
"description": "Cached fields from the item record, for searching",
"readOnly": true,
"properties": {
"barcode": {
"type": "string",
"description": "Item barcode, from item"
},
"temporaryLocationId": {
"type": "string",
"description": "Temporary Location ID, from item"
},
"temporaryLocationObject": {
"type": "object",
"description": "Temporary location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"permanentLocationId": {
"type": "string",
"description": "Permanent Location ID, from item"
},
"permanentLocationObject": {
"type": "object",
"description": "Permanent location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"title": {
"type": "string",
"description": "Title, from Instance"
},
"contributors": {
"description": "Contributor information, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Personal name, corporate name, meeting name"
},
"contributorTypeId": {
"type": "string",
"description": "ID for the contributor type term defined as a referencetable in settings"
},
"contributorTypeText": {
"type": "string",
"description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
},
"contributorNameTypeId": {
"type": "string",
"description": "Contributor type terms defined by the MARC code list for relators"
},
"primary": {
"type": "boolean",
"description": "Whether this is the primary contributor"
}
}
}
},
"publication": {
"description": "List of publication items, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"publisher": {
"type": "string",
"description": "Name of publisher, distributor, etc."
},
"place": {
"type": "string",
"description": "Place of publication, distribution, etc."
},
"dateOfPublication": {
"type": "string",
"description": "Date (year YYYY) of publication, distribution, etc."
},
"role": {
"type": "string",
"description": "The role of the publisher, distributor, etc."
}
}
}
},
"callNumber": {
"type": "string",
"description": "The item's call number"
},
"uri": {
"type": "string",
"description": "A URI to access the item"
},
"volume": {
"type": "string",
"description": "PENDING"
},
"copy": {
"type": "string",
"description": "PENDING"
},
"enumeration": {
"type": "string",
"description": "PENDING"
},
"url": {
"type": "string",
"description": "PENDING"
},
"instanceId": {
"type": "string",
"description": "The id of the associated instance record"
},
"instanceHrid": {
"type": "string",
"description": "The HRID of the associated instance record"
},
"instanceDiscoverySuppress": {
"type": "boolean",
"description": "Whether the associated instance record has been marked as suppressed from discovery"
},
"holdingsId": {
"type": "string",
"description": "The id of the associated holdings record"
}
}
},
"temporaryLoanTypeId": {
"type": "string",
"description": "The type to temporarily set the loan to while on reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"temporaryLoanTypeObject": {
"type": "object",
"description": "The loan type object of what the item is set to while on reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "label for the loan type",
"type": "string"
}
}
},
"copyrightTracking": {
"type": "object",
"description": "Information about copyright status, volume of material used, etc.",
"properties": {
"additionalSectionsUsed": {
"type": "boolean",
"description": "Additional sections of this item used in this course"
},
"copyrightStatusId": {
"type": "string",
"description": "The id of the copyright status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"copyrightStatusObject": {
"type": "object",
"description": "The copyright status object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"totalPagesInItem": {
"type": "integer",
"description": "PENDING"
},
"totalPagesUsed": {
"type": "integer",
"description": "PENDING"
},
"percentOfPages": {
"type": "string",
"description": "Percent of pages used"
},
"paymentBasis": {
"type": "string",
"description": "PENDING"
}
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"reserves",
"totalRecords"
]
}
Example:
{
"reserves": [
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"barcode":"234543678233",
"status": {
"name": "Available"
},
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list reserves -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list reserves -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new reserve
POST /coursereserves/courselistings/{listing_id}/reserves
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A reserve of a single inventory item, associated with a section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID of this reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingId": {
"type": "string",
"description": "ID of the listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"itemId": {
"type": "string",
"description": "ID of the item",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusId": {
"type": "string",
"description": "The ID of the processing status of the reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusObject": {
"type": "object",
"description": "The processing status object associated with the reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"startDate": {
"type": "string",
"description": "The beginning of the time period for this reserve"
},
"endDate": {
"type": "string",
"description": "The ending of the time period for this reserve"
},
"copiedItem": {
"type": "object",
"description": "Cached fields from the item record, for searching",
"readOnly": true,
"properties": {
"barcode": {
"type": "string",
"description": "Item barcode, from item"
},
"temporaryLocationId": {
"type": "string",
"description": "Temporary Location ID, from item"
},
"temporaryLocationObject": {
"type": "object",
"description": "Temporary location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"permanentLocationId": {
"type": "string",
"description": "Permanent Location ID, from item"
},
"permanentLocationObject": {
"type": "object",
"description": "Permanent location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"title": {
"type": "string",
"description": "Title, from Instance"
},
"contributors": {
"description": "Contributor information, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Personal name, corporate name, meeting name"
},
"contributorTypeId": {
"type": "string",
"description": "ID for the contributor type term defined as a referencetable in settings"
},
"contributorTypeText": {
"type": "string",
"description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
},
"contributorNameTypeId": {
"type": "string",
"description": "Contributor type terms defined by the MARC code list for relators"
},
"primary": {
"type": "boolean",
"description": "Whether this is the primary contributor"
}
}
}
},
"publication": {
"description": "List of publication items, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"publisher": {
"type": "string",
"description": "Name of publisher, distributor, etc."
},
"place": {
"type": "string",
"description": "Place of publication, distribution, etc."
},
"dateOfPublication": {
"type": "string",
"description": "Date (year YYYY) of publication, distribution, etc."
},
"role": {
"type": "string",
"description": "The role of the publisher, distributor, etc."
}
}
}
},
"callNumber": {
"type": "string",
"description": "The item's call number"
},
"uri": {
"type": "string",
"description": "A URI to access the item"
},
"volume": {
"type": "string",
"description": "PENDING"
},
"copy": {
"type": "string",
"description": "PENDING"
},
"enumeration": {
"type": "string",
"description": "PENDING"
},
"url": {
"type": "string",
"description": "PENDING"
},
"instanceId": {
"type": "string",
"description": "The id of the associated instance record"
},
"instanceHrid": {
"type": "string",
"description": "The HRID of the associated instance record"
},
"instanceDiscoverySuppress": {
"type": "boolean",
"description": "Whether the associated instance record has been marked as suppressed from discovery"
},
"holdingsId": {
"type": "string",
"description": "The id of the associated holdings record"
}
}
},
"temporaryLoanTypeId": {
"type": "string",
"description": "The type to temporarily set the loan to while on reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"temporaryLoanTypeObject": {
"type": "object",
"description": "The loan type object of what the item is set to while on reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "label for the loan type",
"type": "string"
}
}
},
"copyrightTracking": {
"type": "object",
"description": "Information about copyright status, volume of material used, etc.",
"properties": {
"additionalSectionsUsed": {
"type": "boolean",
"description": "Additional sections of this item used in this course"
},
"copyrightStatusId": {
"type": "string",
"description": "The id of the copyright status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"copyrightStatusObject": {
"type": "object",
"description": "The copyright status object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"totalPagesInItem": {
"type": "integer",
"description": "PENDING"
},
"totalPagesUsed": {
"type": "integer",
"description": "PENDING"
},
"percentOfPages": {
"type": "string",
"description": "Percent of pages used"
},
"paymentBasis": {
"type": "string",
"description": "PENDING"
}
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId"
]
}
Example:
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"copiedItem": {
"barcode":"234543678233",
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created reserve item
Media type: application/json
Type: any
Example:
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"copiedItem": {
"barcode":"234543678233",
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add reserve -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create reserves -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all reserves
DELETE /coursereserves/courselistings/{listing_id}/reserves
Requested language. Optional. [lang=en]
All reserves deleted
Bad request, e.g. malformed listing_id
Media type: text/plain
Type: any
Example:
listing_id is not a UUID
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve reserve item with given {reserveId}
GET /coursereserves/courselistings/{listing_id}/reserves/{reserve_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A reserve of a single inventory item, associated with a section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID of this reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingId": {
"type": "string",
"description": "ID of the listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"itemId": {
"type": "string",
"description": "ID of the item",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusId": {
"type": "string",
"description": "The ID of the processing status of the reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusObject": {
"type": "object",
"description": "The processing status object associated with the reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"startDate": {
"type": "string",
"description": "The beginning of the time period for this reserve"
},
"endDate": {
"type": "string",
"description": "The ending of the time period for this reserve"
},
"copiedItem": {
"type": "object",
"description": "Cached fields from the item record, for searching",
"readOnly": true,
"properties": {
"barcode": {
"type": "string",
"description": "Item barcode, from item"
},
"temporaryLocationId": {
"type": "string",
"description": "Temporary Location ID, from item"
},
"temporaryLocationObject": {
"type": "object",
"description": "Temporary location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"permanentLocationId": {
"type": "string",
"description": "Permanent Location ID, from item"
},
"permanentLocationObject": {
"type": "object",
"description": "Permanent location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"title": {
"type": "string",
"description": "Title, from Instance"
},
"contributors": {
"description": "Contributor information, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Personal name, corporate name, meeting name"
},
"contributorTypeId": {
"type": "string",
"description": "ID for the contributor type term defined as a referencetable in settings"
},
"contributorTypeText": {
"type": "string",
"description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
},
"contributorNameTypeId": {
"type": "string",
"description": "Contributor type terms defined by the MARC code list for relators"
},
"primary": {
"type": "boolean",
"description": "Whether this is the primary contributor"
}
}
}
},
"publication": {
"description": "List of publication items, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"publisher": {
"type": "string",
"description": "Name of publisher, distributor, etc."
},
"place": {
"type": "string",
"description": "Place of publication, distribution, etc."
},
"dateOfPublication": {
"type": "string",
"description": "Date (year YYYY) of publication, distribution, etc."
},
"role": {
"type": "string",
"description": "The role of the publisher, distributor, etc."
}
}
}
},
"callNumber": {
"type": "string",
"description": "The item's call number"
},
"uri": {
"type": "string",
"description": "A URI to access the item"
},
"volume": {
"type": "string",
"description": "PENDING"
},
"copy": {
"type": "string",
"description": "PENDING"
},
"enumeration": {
"type": "string",
"description": "PENDING"
},
"url": {
"type": "string",
"description": "PENDING"
},
"instanceId": {
"type": "string",
"description": "The id of the associated instance record"
},
"instanceHrid": {
"type": "string",
"description": "The HRID of the associated instance record"
},
"instanceDiscoverySuppress": {
"type": "boolean",
"description": "Whether the associated instance record has been marked as suppressed from discovery"
},
"holdingsId": {
"type": "string",
"description": "The id of the associated holdings record"
}
}
},
"temporaryLoanTypeId": {
"type": "string",
"description": "The type to temporarily set the loan to while on reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"temporaryLoanTypeObject": {
"type": "object",
"description": "The loan type object of what the item is set to while on reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "label for the loan type",
"type": "string"
}
}
},
"copyrightTracking": {
"type": "object",
"description": "Information about copyright status, volume of material used, etc.",
"properties": {
"additionalSectionsUsed": {
"type": "boolean",
"description": "Additional sections of this item used in this course"
},
"copyrightStatusId": {
"type": "string",
"description": "The id of the copyright status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"copyrightStatusObject": {
"type": "object",
"description": "The copyright status object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"totalPagesInItem": {
"type": "integer",
"description": "PENDING"
},
"totalPagesUsed": {
"type": "integer",
"description": "PENDING"
},
"percentOfPages": {
"type": "string",
"description": "Percent of pages used"
},
"paymentBasis": {
"type": "string",
"description": "PENDING"
}
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId"
]
}
Example:
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"copiedItem": {
"barcode":"234543678233",
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"reserve not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a reserve by id
PUT /coursereserves/courselistings/{listing_id}/reserves/{reserve_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A reserve of a single inventory item, associated with a section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID of this reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingId": {
"type": "string",
"description": "ID of the listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"itemId": {
"type": "string",
"description": "ID of the item",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusId": {
"type": "string",
"description": "The ID of the processing status of the reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusObject": {
"type": "object",
"description": "The processing status object associated with the reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"startDate": {
"type": "string",
"description": "The beginning of the time period for this reserve"
},
"endDate": {
"type": "string",
"description": "The ending of the time period for this reserve"
},
"copiedItem": {
"type": "object",
"description": "Cached fields from the item record, for searching",
"readOnly": true,
"properties": {
"barcode": {
"type": "string",
"description": "Item barcode, from item"
},
"temporaryLocationId": {
"type": "string",
"description": "Temporary Location ID, from item"
},
"temporaryLocationObject": {
"type": "object",
"description": "Temporary location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"permanentLocationId": {
"type": "string",
"description": "Permanent Location ID, from item"
},
"permanentLocationObject": {
"type": "object",
"description": "Permanent location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"title": {
"type": "string",
"description": "Title, from Instance"
},
"contributors": {
"description": "Contributor information, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Personal name, corporate name, meeting name"
},
"contributorTypeId": {
"type": "string",
"description": "ID for the contributor type term defined as a referencetable in settings"
},
"contributorTypeText": {
"type": "string",
"description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
},
"contributorNameTypeId": {
"type": "string",
"description": "Contributor type terms defined by the MARC code list for relators"
},
"primary": {
"type": "boolean",
"description": "Whether this is the primary contributor"
}
}
}
},
"publication": {
"description": "List of publication items, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"publisher": {
"type": "string",
"description": "Name of publisher, distributor, etc."
},
"place": {
"type": "string",
"description": "Place of publication, distribution, etc."
},
"dateOfPublication": {
"type": "string",
"description": "Date (year YYYY) of publication, distribution, etc."
},
"role": {
"type": "string",
"description": "The role of the publisher, distributor, etc."
}
}
}
},
"callNumber": {
"type": "string",
"description": "The item's call number"
},
"uri": {
"type": "string",
"description": "A URI to access the item"
},
"volume": {
"type": "string",
"description": "PENDING"
},
"copy": {
"type": "string",
"description": "PENDING"
},
"enumeration": {
"type": "string",
"description": "PENDING"
},
"url": {
"type": "string",
"description": "PENDING"
},
"instanceId": {
"type": "string",
"description": "The id of the associated instance record"
},
"instanceHrid": {
"type": "string",
"description": "The HRID of the associated instance record"
},
"instanceDiscoverySuppress": {
"type": "boolean",
"description": "Whether the associated instance record has been marked as suppressed from discovery"
},
"holdingsId": {
"type": "string",
"description": "The id of the associated holdings record"
}
}
},
"temporaryLoanTypeId": {
"type": "string",
"description": "The type to temporarily set the loan to while on reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"temporaryLoanTypeObject": {
"type": "object",
"description": "The loan type object of what the item is set to while on reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "label for the loan type",
"type": "string"
}
}
},
"copyrightTracking": {
"type": "object",
"description": "Information about copyright status, volume of material used, etc.",
"properties": {
"additionalSectionsUsed": {
"type": "boolean",
"description": "Additional sections of this item used in this course"
},
"copyrightStatusId": {
"type": "string",
"description": "The id of the copyright status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"copyrightStatusObject": {
"type": "object",
"description": "The copyright status object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"totalPagesInItem": {
"type": "integer",
"description": "PENDING"
},
"totalPagesUsed": {
"type": "integer",
"description": "PENDING"
},
"percentOfPages": {
"type": "string",
"description": "Percent of pages used"
},
"paymentBasis": {
"type": "string",
"description": "PENDING"
}
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId"
]
}
Example:
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"copiedItem": {
"barcode":"234543678233",
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update reserve -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"reserve not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete reserve item with given {reserveId}
DELETE /coursereserves/courselistings/{listing_id}/reserves/{reserve_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete reserve -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"reserve not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of roles
GET /coursereserves/roles
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
With valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of role items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of records",
"type": "object",
"properties": {
"roles": {
"description": "List of records",
"id": "roles",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Role taken by an instructor in a course",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this role",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the role"
},
"description": {
"type": "string",
"description": "A description of this role"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"roles",
"totalRecords"
]
}
Example:
{
"roles": [
{
"id": "504efaf3-8b76-4c12-a61b-2e281386f9ff",
"name": "Instructor"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list roles -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list roles -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new role
POST /coursereserves/roles
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Role taken by an instructor in a course",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this role",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the role"
},
"description": {
"type": "string",
"description": "A description of this role"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id": "504efaf3-8b76-4c12-a61b-2e281386f9ff",
"name": "Instructor"
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created role item
Media type: application/json
Type: any
Example:
{
"id": "504efaf3-8b76-4c12-a61b-2e281386f9ff",
"name": "Instructor"
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add role -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create roles -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all roles
DELETE /coursereserves/roles
Requested language. Optional. [lang=en]
All roles deleted
Bad request, e.g. unknown tenant
Media type: text/plain
Type: any
Example:
tenant not found
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve role item with given {roleId}
GET /coursereserves/roles/{role_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Role taken by an instructor in a course",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this role",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the role"
},
"description": {
"type": "string",
"description": "A description of this role"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id": "504efaf3-8b76-4c12-a61b-2e281386f9ff",
"name": "Instructor"
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"role not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a role by id
PUT /coursereserves/roles/{role_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Role taken by an instructor in a course",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this role",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the role"
},
"description": {
"type": "string",
"description": "A description of this role"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id": "504efaf3-8b76-4c12-a61b-2e281386f9ff",
"name": "Instructor"
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update role -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"role not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete role item with given {roleId}
DELETE /coursereserves/roles/{role_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete role -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"role not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of terms
GET /coursereserves/terms
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
With valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of term items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of records",
"type": "object",
"properties": {
"terms": {
"description": "List of records",
"id": "terms",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Temporal periods that listings exist in",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"terms",
"totalRecords"
]
}
Example:
{
"terms": [
{
"id": "f7c87435-6c46-4330-911e-25c870d27c56",
"name": "Spring 2020",
"startDate": "2020-01-09T00:00:00+0000",
"endDate": "2020-05-21T00:00:00+0000"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list terms -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list terms -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new term
POST /coursereserves/terms
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Temporal periods that listings exist in",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
}
Example:
{
"id": "f7c87435-6c46-4330-911e-25c870d27c56",
"name": "Spring 2020",
"startDate": "2020-01-09T00:00:00+0000",
"endDate": "2020-05-21T00:00:00+0000"
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created term item
Media type: application/json
Type: any
Example:
{
"id": "f7c87435-6c46-4330-911e-25c870d27c56",
"name": "Spring 2020",
"startDate": "2020-01-09T00:00:00+0000",
"endDate": "2020-05-21T00:00:00+0000"
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add term -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create terms -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all terms
DELETE /coursereserves/terms
Requested language. Optional. [lang=en]
All terms deleted
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve term item with given {termId}
GET /coursereserves/terms/{term_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Temporal periods that listings exist in",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
}
Example:
{
"id": "f7c87435-6c46-4330-911e-25c870d27c56",
"name": "Spring 2020",
"startDate": "2020-01-09T00:00:00+0000",
"endDate": "2020-05-21T00:00:00+0000"
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"term not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a term by id
PUT /coursereserves/terms/{term_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Temporal periods that listings exist in",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
}
Example:
{
"id": "f7c87435-6c46-4330-911e-25c870d27c56",
"name": "Spring 2020",
"startDate": "2020-01-09T00:00:00+0000",
"endDate": "2020-05-21T00:00:00+0000"
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update term -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"term not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete term item with given {termId}
DELETE /coursereserves/terms/{term_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete term -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"term not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of course types
GET /coursereserves/coursetypes
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
With valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of coursetype items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of course type records",
"type": "object",
"properties": {
"courseTypes": {
"description": "List of course types",
"id": "courseType",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "The type of course a listing is",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"courseTypes",
"totalRecords"
]
}
Example:
{
"courseTypes": [
{
"id":"3481976c-d00f-40c7-9c64-2bfb91acc886",
"name": "Regular",
"description": "A standard course"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list coursetypes -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list coursetypes -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new course type
POST /coursereserves/coursetypes
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The type of course a listing is",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id":"3481976c-d00f-40c7-9c64-2bfb91acc886",
"name": "Regular",
"description": "A standard course"
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created coursetype item
Media type: application/json
Type: any
Example:
{
"id":"3481976c-d00f-40c7-9c64-2bfb91acc886",
"name": "Regular",
"description": "A standard course"
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add coursetype -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create coursetypes -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all course types
DELETE /coursereserves/coursetypes
Requested language. Optional. [lang=en]
All course types deleted
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve coursetype item with given {coursetypeId}
GET /coursereserves/coursetypes/{type_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The type of course a listing is",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id":"3481976c-d00f-40c7-9c64-2bfb91acc886",
"name": "Regular",
"description": "A standard course"
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"coursetype not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a course type by id
PUT /coursereserves/coursetypes/{type_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The type of course a listing is",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id":"3481976c-d00f-40c7-9c64-2bfb91acc886",
"name": "Regular",
"description": "A standard course"
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update coursetype -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"coursetype not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete coursetype item with given {coursetypeId}
DELETE /coursereserves/coursetypes/{type_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete coursetype -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"coursetype not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of departments
GET /coursereserves/departments
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
With valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of department items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of department records",
"type": "object",
"properties": {
"departments": {
"description": "List of departments",
"id": "departments",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "The department a course belongs to",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"departments",
"totalRecords"
]
}
Example:
{
"departments": [
{
"id": "358de20b-0c95-45dd-8f9c-b3f0e98950ac",
"name": "History"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list departments -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list departments -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new department
POST /coursereserves/departments
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The department a course belongs to",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id": "358de20b-0c95-45dd-8f9c-b3f0e98950ac",
"name": "History"
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created department item
Media type: application/json
Type: any
Example:
{
"id": "358de20b-0c95-45dd-8f9c-b3f0e98950ac",
"name": "History"
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add department -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create departments -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all departments
DELETE /coursereserves/departments
Requested language. Optional. [lang=en]
All departments deleted
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve department item with given {departmentId}
GET /coursereserves/departments/{department_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The department a course belongs to",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id": "358de20b-0c95-45dd-8f9c-b3f0e98950ac",
"name": "History"
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"department not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a department by id
PUT /coursereserves/departments/{department_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The department a course belongs to",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id": "358de20b-0c95-45dd-8f9c-b3f0e98950ac",
"name": "History"
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update department -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"department not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete department item with given {departmentId}
DELETE /coursereserves/departments/{department_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete department -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"department not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of statuses
GET /coursereserves/processingstatuses
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
With valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of processingstatus items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of processing statuses",
"type": "object",
"properties": {
"processingStatuses": {
"description": "List of processing status records",
"id": "processingStatus",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "The processing status for a reserve",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"processingStatuses",
"totalRecords"
]
}
Example:
{
"processingStatuses": [
{
"id": "0e8cb1de-a713-4edd-afff-47cea8e4f1a7",
"name": "pending"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list processingstatuses -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list processingstatuses -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new status
POST /coursereserves/processingstatuses
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The processing status for a reserve",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id": "0e8cb1de-a713-4edd-afff-47cea8e4f1a7",
"name": "pending"
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created processingstatus item
Media type: application/json
Type: any
Example:
{
"id": "0e8cb1de-a713-4edd-afff-47cea8e4f1a7",
"name": "pending"
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add processingstatus -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create processingstatuses -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all statuses
DELETE /coursereserves/processingstatuses
Requested language. Optional. [lang=en]
All statuses deleted
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve processingstatus item with given {processingstatusId}
GET /coursereserves/processingstatuses/{status_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The processing status for a reserve",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id": "0e8cb1de-a713-4edd-afff-47cea8e4f1a7",
"name": "pending"
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"processingstatus not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a status by id
PUT /coursereserves/processingstatuses/{status_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The processing status for a reserve",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id": "0e8cb1de-a713-4edd-afff-47cea8e4f1a7",
"name": "pending"
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update processingstatus -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"processingstatus not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete processingstatus item with given {processingstatusId}
DELETE /coursereserves/processingstatuses/{status_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete processingstatus -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"processingstatus not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of copyright statuses
GET /coursereserves/copyrightstatuses
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
With valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of copyrightstatus items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of copyright status records",
"type": "object",
"properties": {
"copyrightStatuses": {
"description": "List of copyright statuses",
"id": "copyrightStatus",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "The copyright status of a reserve",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"copyrightStatuses",
"totalRecords"
]
}
Example:
{
"copyrightStatuses": [
{
"id":"574d1da7-f239-466e-a41f-e87330c9238f",
"name":"paid",
"description":"Copyright Paid"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list copyrightstatuses -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list copyrightstatuses -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new copyright status
POST /coursereserves/copyrightstatuses
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The copyright status of a reserve",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id":"574d1da7-f239-466e-a41f-e87330c9238f",
"name":"paid",
"description":"Copyright Paid"
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created copyrightstatus item
Media type: application/json
Type: any
Example:
{
"id":"574d1da7-f239-466e-a41f-e87330c9238f",
"name":"paid",
"description":"Copyright Paid"
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add copyrightstatus -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create copyrightstatuses -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete all copyright statuses
DELETE /coursereserves/copyrightstatuses
Requested language. Optional. [lang=en]
All statuses deleted
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve copyrightstatus item with given {copyrightstatusId}
GET /coursereserves/copyrightstatuses/{status_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The copyright status of a reserve",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id":"574d1da7-f239-466e-a41f-e87330c9238f",
"name":"paid",
"description":"Copyright Paid"
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"copyrightstatus not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a status by id
PUT /coursereserves/copyrightstatuses/{status_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The copyright status of a reserve",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
}
Example:
{
"id":"574d1da7-f239-466e-a41f-e87330c9238f",
"name":"paid",
"description":"Copyright Paid"
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update copyrightstatus -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"copyrightstatus not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete copyrightstatus item with given {copyrightstatusId}
DELETE /coursereserves/copyrightstatuses/{status_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete copyrightstatus -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"copyrightstatus not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of courses
GET /coursereserves/courses
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
with valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of course items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of course records",
"type": "object",
"properties": {
"courses": {
"description": "List of course records",
"id": "courses",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A course offered by the institution",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this course",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of course"
},
"description": {
"type": "string",
"description": "A description of the course"
},
"departmentId": {
"type": "string",
"description": "The department that this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"departmentObject": {
"type": "object",
"description": "The department associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"courseListingId": {
"type": "string",
"description": "The id for the course listing this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingObject": {
"type": "object",
"description": "The course listing associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
},
"courseNumber": {
"type": "string",
"description": "A unique code identifying this course"
},
"sectionName": {
"type": "string",
"description": "A text field denoting this course's section"
},
"numberOfStudents": {
"type": "integer",
"description": "The number of students enrolled in this course"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"departmentId",
"courseListingId"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"courses",
"totalRecords"
]
}
Example:
{
"courses": [
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c"
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list courses -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list courses -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new course
POST /coursereserves/courses
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A course offered by the institution",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this course",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of course"
},
"description": {
"type": "string",
"description": "A description of the course"
},
"departmentId": {
"type": "string",
"description": "The department that this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"departmentObject": {
"type": "object",
"description": "The department associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"courseListingId": {
"type": "string",
"description": "The id for the course listing this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingObject": {
"type": "object",
"description": "The course listing associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
},
"courseNumber": {
"type": "string",
"description": "A unique code identifying this course"
},
"sectionName": {
"type": "string",
"description": "A text field denoting this course's section"
},
"numberOfStudents": {
"type": "integer",
"description": "The number of students enrolled in this course"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"departmentId",
"courseListingId"
]
}
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c",
"numberOfStudents": 42
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created course item
Media type: application/json
Type: any
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c",
"numberOfStudents": 42
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add course -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create courses -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete ALL courses
DELETE /coursereserves/courses
Requested language. Optional. [lang=en]
All courses delete
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve course item with given {courseId}
GET /coursereserves/courses/{course_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A course offered by the institution",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this course",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of course"
},
"description": {
"type": "string",
"description": "A description of the course"
},
"departmentId": {
"type": "string",
"description": "The department that this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"departmentObject": {
"type": "object",
"description": "The department associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"courseListingId": {
"type": "string",
"description": "The id for the course listing this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingObject": {
"type": "object",
"description": "The course listing associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
},
"courseNumber": {
"type": "string",
"description": "A unique code identifying this course"
},
"sectionName": {
"type": "string",
"description": "A text field denoting this course's section"
},
"numberOfStudents": {
"type": "integer",
"description": "The number of students enrolled in this course"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"departmentId",
"courseListingId"
]
}
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c",
"numberOfStudents": 42
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"course not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a course by id
PUT /coursereserves/courses/{course_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A course offered by the institution",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this course",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of course"
},
"description": {
"type": "string",
"description": "A description of the course"
},
"departmentId": {
"type": "string",
"description": "The department that this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"departmentObject": {
"type": "object",
"description": "The department associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this department",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the department"
},
"description": {
"type": "string",
"description": "A description of this department"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"courseListingId": {
"type": "string",
"description": "The id for the course listing this course belongs to",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingObject": {
"type": "object",
"description": "The course listing associated with this course",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"registrarId": {
"type": "string",
"description": "The registration id"
},
"externalId": {
"type": "string",
"description": "An external identifier associated with this listing"
},
"servicepointId": {
"type": "string",
"description": "The ID of the service point associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"servicepointObject": {
"type": "object",
"description": "The service point associated with this listing's reserves",
"properties": {
"id": {
"type": "string",
"description": "Id of service-point object"
},
"name": {
"type": "string",
"description": "service-point name, a required field"
},
"code": {
"type": "string",
"description": "service-point code, a required field"
},
"discoveryDisplayName": {
"type": "string",
"description": "display name, a required field"
},
"description": {
"type": "string",
"description": "description of the service-point"
},
"shelvingLagTime": {
"type": "integer",
"description": "shelving lag time"
},
"pickupLocation": {
"type": "boolean",
"description": "indicates whether or not the service point is a pickup location"
},
"holdShelfExpiryPeriod": {
"type": "object",
"description": "expiration period for items on the hold shelf at the service point",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"duration": {
"type": "integer",
"description": "Duration interval"
},
"intervalId": {
"type": "string",
"description": "Unit of time for the duration",
"enum": [
"Minutes",
"Hours",
"Days",
"Weeks",
"Months"
],
"default": "Days"
}
},
"required": [
"duration",
"intervalId"
],
"additionalProperties": false
},
"staffSlips": {
"type": "array",
"description": "List of staff slips for this service point",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"description": "The ID of the staff slip"
},
"printByDefault": {
"type": "boolean",
"description": "Whether or not to print the staff slip by default"
}
},
"additionalProperties": false,
"required": [
"id",
"printByDefault"
]
}
}
}
},
"locationId": {
"type": "string",
"description": "The ID of the location associated with this listing's reserves",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"locationObject": {
"type": "object",
"description": "The location associated with this listing's reserves",
"properties": {
"id": {
"description": "id of this (shelf) location record as UUID.",
"type": "string"
},
"name": {
"description": "Name of the (shelf) location",
"type": "string"
},
"code": {
"description": "Code of the (shelf) location, usually an abbreviation of the name.",
"type": "string"
},
"description": {
"description": "Description of the (shelf) location.",
"type": "string"
},
"discoveryDisplayName": {
"description": "Name of the (shelf) location to be shown in the discovery.",
"type": "string"
},
"isActive": {
"description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
"type": "boolean"
},
"institutionId": {
"description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"campusId": {
"description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"libraryId": {
"description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
"type": "string"
},
"details": {
"description": "Details about this (shelf) location.",
"type": "object"
},
"primaryServicePoint": {
"description": "The UUID of the primary service point of this (shelf) location.",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "All service points that this (shelf) location has.",
"type": "array",
"items": {
"description": "The UUID of a service point that belongs to this (shelf) location.",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"termId": {
"type": "string",
"description": "The ID of the term for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"termObject": {
"type": "object",
"description": "The term associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID to identify this schedule",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of period"
},
"startDate": {
"type": "string",
"description": "The beginning of the time period"
},
"endDate": {
"type": "string",
"description": "The ending of the time period"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"startDate",
"endDate"
]
},
"courseTypeId": {
"type": "string",
"description": "The ID of the course type for this listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseTypeObject": {
"type": "object",
"description": "The course type associated with this listing",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"instructorObjects": {
"type": "array",
"description": "A listing of associated instructor objects",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes an instructor for a given section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID for this instructor",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"userId": {
"type": "string",
"description": "ID of associated FOLIO user (if exists)",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of this instructor"
},
"barcode": {
"type": "string",
"description": "The instructor's user barcode"
},
"patronGroup": {
"type": "string",
"description": "The id of the patrongroup associated with the user"
},
"patronGroupObject": {
"type": "object",
"description": "The instructor's user patrongroup",
"properties": {
"id": {
"type": "string",
"description": "UUID for the group",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"desc": {
"type": "string",
"description": "description of the group"
},
"group": {
"type": "string",
"description": "the unique name of the group"
}
}
},
"courseListingId": {
"type": "string",
"description": "The course listing this instructor teaches",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId",
"name"
]
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"termId"
]
},
"courseNumber": {
"type": "string",
"description": "A unique code identifying this course"
},
"sectionName": {
"type": "string",
"description": "A text field denoting this course's section"
},
"numberOfStudents": {
"type": "integer",
"description": "The number of students enrolled in this course"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name",
"departmentId",
"courseListingId"
]
}
Example:
{
"id": "2f9763c4-6504-463d-ad96-486fab592c62",
"name": "Underwater Basket Weaving 101",
"description": "Introduction to Aquatic Wickercraft",
"departmentId": "8b4c9708-49ed-4b99-8383-7a9a3eef01c9",
"courseListingId": "e5f71572-d9ef-4710-9fb0-25859845a12c",
"numberOfStudents": 42
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update course -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"course not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete course item with given {courseId}
DELETE /coursereserves/courses/{course_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete course -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"course not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Return a list of reserves
GET /coursereserves/reserves
What fields to expand
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
with valid searchable fields
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
name=aaa
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Requested language. Optional. [lang=en]
Returns a list of reserve items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A collection of records",
"type": "object",
"properties": {
"reserves": {
"description": "List of records",
"id": "reserves",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A reserve of a single inventory item, associated with a section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID of this reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingId": {
"type": "string",
"description": "ID of the listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"itemId": {
"type": "string",
"description": "ID of the item",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusId": {
"type": "string",
"description": "The ID of the processing status of the reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusObject": {
"type": "object",
"description": "The processing status object associated with the reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"startDate": {
"type": "string",
"description": "The beginning of the time period for this reserve"
},
"endDate": {
"type": "string",
"description": "The ending of the time period for this reserve"
},
"copiedItem": {
"type": "object",
"description": "Cached fields from the item record, for searching",
"readOnly": true,
"properties": {
"barcode": {
"type": "string",
"description": "Item barcode, from item"
},
"temporaryLocationId": {
"type": "string",
"description": "Temporary Location ID, from item"
},
"temporaryLocationObject": {
"type": "object",
"description": "Temporary location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"permanentLocationId": {
"type": "string",
"description": "Permanent Location ID, from item"
},
"permanentLocationObject": {
"type": "object",
"description": "Permanent location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"title": {
"type": "string",
"description": "Title, from Instance"
},
"contributors": {
"description": "Contributor information, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Personal name, corporate name, meeting name"
},
"contributorTypeId": {
"type": "string",
"description": "ID for the contributor type term defined as a referencetable in settings"
},
"contributorTypeText": {
"type": "string",
"description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
},
"contributorNameTypeId": {
"type": "string",
"description": "Contributor type terms defined by the MARC code list for relators"
},
"primary": {
"type": "boolean",
"description": "Whether this is the primary contributor"
}
}
}
},
"publication": {
"description": "List of publication items, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"publisher": {
"type": "string",
"description": "Name of publisher, distributor, etc."
},
"place": {
"type": "string",
"description": "Place of publication, distribution, etc."
},
"dateOfPublication": {
"type": "string",
"description": "Date (year YYYY) of publication, distribution, etc."
},
"role": {
"type": "string",
"description": "The role of the publisher, distributor, etc."
}
}
}
},
"callNumber": {
"type": "string",
"description": "The item's call number"
},
"uri": {
"type": "string",
"description": "A URI to access the item"
},
"volume": {
"type": "string",
"description": "PENDING"
},
"copy": {
"type": "string",
"description": "PENDING"
},
"enumeration": {
"type": "string",
"description": "PENDING"
},
"url": {
"type": "string",
"description": "PENDING"
},
"instanceId": {
"type": "string",
"description": "The id of the associated instance record"
},
"instanceHrid": {
"type": "string",
"description": "The HRID of the associated instance record"
},
"instanceDiscoverySuppress": {
"type": "boolean",
"description": "Whether the associated instance record has been marked as suppressed from discovery"
},
"holdingsId": {
"type": "string",
"description": "The id of the associated holdings record"
}
}
},
"temporaryLoanTypeId": {
"type": "string",
"description": "The type to temporarily set the loan to while on reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"temporaryLoanTypeObject": {
"type": "object",
"description": "The loan type object of what the item is set to while on reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "label for the loan type",
"type": "string"
}
}
},
"copyrightTracking": {
"type": "object",
"description": "Information about copyright status, volume of material used, etc.",
"properties": {
"additionalSectionsUsed": {
"type": "boolean",
"description": "Additional sections of this item used in this course"
},
"copyrightStatusId": {
"type": "string",
"description": "The id of the copyright status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"copyrightStatusObject": {
"type": "object",
"description": "The copyright status object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"totalPagesInItem": {
"type": "integer",
"description": "PENDING"
},
"totalPagesUsed": {
"type": "integer",
"description": "PENDING"
},
"percentOfPages": {
"type": "string",
"description": "Percent of pages used"
},
"paymentBasis": {
"type": "string",
"description": "PENDING"
}
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"reserves",
"totalRecords"
]
}
Example:
{
"reserves": [
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"barcode":"234543678233",
"status": {
"name": "Available"
},
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list reserves -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list reserves -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new reserve
POST /coursereserves/reserves
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A reserve of a single inventory item, associated with a section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID of this reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingId": {
"type": "string",
"description": "ID of the listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"itemId": {
"type": "string",
"description": "ID of the item",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusId": {
"type": "string",
"description": "The ID of the processing status of the reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusObject": {
"type": "object",
"description": "The processing status object associated with the reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"startDate": {
"type": "string",
"description": "The beginning of the time period for this reserve"
},
"endDate": {
"type": "string",
"description": "The ending of the time period for this reserve"
},
"copiedItem": {
"type": "object",
"description": "Cached fields from the item record, for searching",
"readOnly": true,
"properties": {
"barcode": {
"type": "string",
"description": "Item barcode, from item"
},
"temporaryLocationId": {
"type": "string",
"description": "Temporary Location ID, from item"
},
"temporaryLocationObject": {
"type": "object",
"description": "Temporary location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"permanentLocationId": {
"type": "string",
"description": "Permanent Location ID, from item"
},
"permanentLocationObject": {
"type": "object",
"description": "Permanent location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"title": {
"type": "string",
"description": "Title, from Instance"
},
"contributors": {
"description": "Contributor information, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Personal name, corporate name, meeting name"
},
"contributorTypeId": {
"type": "string",
"description": "ID for the contributor type term defined as a referencetable in settings"
},
"contributorTypeText": {
"type": "string",
"description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
},
"contributorNameTypeId": {
"type": "string",
"description": "Contributor type terms defined by the MARC code list for relators"
},
"primary": {
"type": "boolean",
"description": "Whether this is the primary contributor"
}
}
}
},
"publication": {
"description": "List of publication items, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"publisher": {
"type": "string",
"description": "Name of publisher, distributor, etc."
},
"place": {
"type": "string",
"description": "Place of publication, distribution, etc."
},
"dateOfPublication": {
"type": "string",
"description": "Date (year YYYY) of publication, distribution, etc."
},
"role": {
"type": "string",
"description": "The role of the publisher, distributor, etc."
}
}
}
},
"callNumber": {
"type": "string",
"description": "The item's call number"
},
"uri": {
"type": "string",
"description": "A URI to access the item"
},
"volume": {
"type": "string",
"description": "PENDING"
},
"copy": {
"type": "string",
"description": "PENDING"
},
"enumeration": {
"type": "string",
"description": "PENDING"
},
"url": {
"type": "string",
"description": "PENDING"
},
"instanceId": {
"type": "string",
"description": "The id of the associated instance record"
},
"instanceHrid": {
"type": "string",
"description": "The HRID of the associated instance record"
},
"instanceDiscoverySuppress": {
"type": "boolean",
"description": "Whether the associated instance record has been marked as suppressed from discovery"
},
"holdingsId": {
"type": "string",
"description": "The id of the associated holdings record"
}
}
},
"temporaryLoanTypeId": {
"type": "string",
"description": "The type to temporarily set the loan to while on reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"temporaryLoanTypeObject": {
"type": "object",
"description": "The loan type object of what the item is set to while on reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "label for the loan type",
"type": "string"
}
}
},
"copyrightTracking": {
"type": "object",
"description": "Information about copyright status, volume of material used, etc.",
"properties": {
"additionalSectionsUsed": {
"type": "boolean",
"description": "Additional sections of this item used in this course"
},
"copyrightStatusId": {
"type": "string",
"description": "The id of the copyright status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"copyrightStatusObject": {
"type": "object",
"description": "The copyright status object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"totalPagesInItem": {
"type": "integer",
"description": "PENDING"
},
"totalPagesUsed": {
"type": "integer",
"description": "PENDING"
},
"percentOfPages": {
"type": "string",
"description": "Percent of pages used"
},
"paymentBasis": {
"type": "string",
"description": "PENDING"
}
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId"
]
}
Example:
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"copiedItem": {
"barcode":"234543678233",
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created reserve item
Media type: application/json
Type: any
Example:
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"copiedItem": {
"barcode":"234543678233",
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add reserve -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create reserves -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Delete ALL reserves
DELETE /coursereserves/reserves
Requested language. Optional. [lang=en]
All reserves deleted
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error
Media type: text/plain
Type: any
Example:
Internal server error
Retrieve reserve item with given {reserveId}
GET /coursereserves/reserves/{reserve_id}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A reserve of a single inventory item, associated with a section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID of this reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingId": {
"type": "string",
"description": "ID of the listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"itemId": {
"type": "string",
"description": "ID of the item",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusId": {
"type": "string",
"description": "The ID of the processing status of the reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusObject": {
"type": "object",
"description": "The processing status object associated with the reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"startDate": {
"type": "string",
"description": "The beginning of the time period for this reserve"
},
"endDate": {
"type": "string",
"description": "The ending of the time period for this reserve"
},
"copiedItem": {
"type": "object",
"description": "Cached fields from the item record, for searching",
"readOnly": true,
"properties": {
"barcode": {
"type": "string",
"description": "Item barcode, from item"
},
"temporaryLocationId": {
"type": "string",
"description": "Temporary Location ID, from item"
},
"temporaryLocationObject": {
"type": "object",
"description": "Temporary location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"permanentLocationId": {
"type": "string",
"description": "Permanent Location ID, from item"
},
"permanentLocationObject": {
"type": "object",
"description": "Permanent location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"title": {
"type": "string",
"description": "Title, from Instance"
},
"contributors": {
"description": "Contributor information, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Personal name, corporate name, meeting name"
},
"contributorTypeId": {
"type": "string",
"description": "ID for the contributor type term defined as a referencetable in settings"
},
"contributorTypeText": {
"type": "string",
"description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
},
"contributorNameTypeId": {
"type": "string",
"description": "Contributor type terms defined by the MARC code list for relators"
},
"primary": {
"type": "boolean",
"description": "Whether this is the primary contributor"
}
}
}
},
"publication": {
"description": "List of publication items, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"publisher": {
"type": "string",
"description": "Name of publisher, distributor, etc."
},
"place": {
"type": "string",
"description": "Place of publication, distribution, etc."
},
"dateOfPublication": {
"type": "string",
"description": "Date (year YYYY) of publication, distribution, etc."
},
"role": {
"type": "string",
"description": "The role of the publisher, distributor, etc."
}
}
}
},
"callNumber": {
"type": "string",
"description": "The item's call number"
},
"uri": {
"type": "string",
"description": "A URI to access the item"
},
"volume": {
"type": "string",
"description": "PENDING"
},
"copy": {
"type": "string",
"description": "PENDING"
},
"enumeration": {
"type": "string",
"description": "PENDING"
},
"url": {
"type": "string",
"description": "PENDING"
},
"instanceId": {
"type": "string",
"description": "The id of the associated instance record"
},
"instanceHrid": {
"type": "string",
"description": "The HRID of the associated instance record"
},
"instanceDiscoverySuppress": {
"type": "boolean",
"description": "Whether the associated instance record has been marked as suppressed from discovery"
},
"holdingsId": {
"type": "string",
"description": "The id of the associated holdings record"
}
}
},
"temporaryLoanTypeId": {
"type": "string",
"description": "The type to temporarily set the loan to while on reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"temporaryLoanTypeObject": {
"type": "object",
"description": "The loan type object of what the item is set to while on reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "label for the loan type",
"type": "string"
}
}
},
"copyrightTracking": {
"type": "object",
"description": "Information about copyright status, volume of material used, etc.",
"properties": {
"additionalSectionsUsed": {
"type": "boolean",
"description": "Additional sections of this item used in this course"
},
"copyrightStatusId": {
"type": "string",
"description": "The id of the copyright status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"copyrightStatusObject": {
"type": "object",
"description": "The copyright status object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"totalPagesInItem": {
"type": "integer",
"description": "PENDING"
},
"totalPagesUsed": {
"type": "integer",
"description": "PENDING"
},
"percentOfPages": {
"type": "string",
"description": "Percent of pages used"
},
"paymentBasis": {
"type": "string",
"description": "PENDING"
}
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId"
]
}
Example:
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"copiedItem": {
"barcode":"234543678233",
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"reserve not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update a reserve by id
PUT /coursereserves/reserves/{reserve_id}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "A reserve of a single inventory item, associated with a section",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "UUID of this reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"courseListingId": {
"type": "string",
"description": "ID of the listing",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"itemId": {
"type": "string",
"description": "ID of the item",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusId": {
"type": "string",
"description": "The ID of the processing status of the reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"processingStatusObject": {
"type": "object",
"description": "The processing status object associated with the reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the status"
},
"description": {
"type": "string",
"description": "A description of this status"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"startDate": {
"type": "string",
"description": "The beginning of the time period for this reserve"
},
"endDate": {
"type": "string",
"description": "The ending of the time period for this reserve"
},
"copiedItem": {
"type": "object",
"description": "Cached fields from the item record, for searching",
"readOnly": true,
"properties": {
"barcode": {
"type": "string",
"description": "Item barcode, from item"
},
"temporaryLocationId": {
"type": "string",
"description": "Temporary Location ID, from item"
},
"temporaryLocationObject": {
"type": "object",
"description": "Temporary location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"permanentLocationId": {
"type": "string",
"description": "Permanent Location ID, from item"
},
"permanentLocationObject": {
"type": "object",
"description": "Permanent location object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name, copied from inventory",
"type": "string"
},
"code": {
"description": "code, copied from inventory",
"type": "string"
},
"description": {
"description": "description, copied from inventory",
"type": "string"
},
"discoveryDisplayName": {
"description": "discoveryDisplayName, copied from inventory",
"type": "string"
},
"isActive": {
"description": "isActive, copied from inventory",
"type": "boolean"
},
"institutionId": {
"description": "institutionId, copied from inventory",
"type": "string"
},
"campusId": {
"description": "campusId, copied from inventory",
"type": "string"
},
"libraryId": {
"description": "libraryId, copied from inventory",
"type": "string"
},
"details": {
"description": "details, copied from inventory",
"type": "object"
},
"primaryServicePoint": {
"description": "primaryServicePoint, copied from inventory",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"type": "string"
},
"servicePointIds": {
"description": "servicePointIds, copied from inventory",
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
"not": {
"type": "null"
}
}
}
}
},
"title": {
"type": "string",
"description": "Title, from Instance"
},
"contributors": {
"description": "Contributor information, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Personal name, corporate name, meeting name"
},
"contributorTypeId": {
"type": "string",
"description": "ID for the contributor type term defined as a referencetable in settings"
},
"contributorTypeText": {
"type": "string",
"description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
},
"contributorNameTypeId": {
"type": "string",
"description": "Contributor type terms defined by the MARC code list for relators"
},
"primary": {
"type": "boolean",
"description": "Whether this is the primary contributor"
}
}
}
},
"publication": {
"description": "List of publication items, from Instance",
"type": "array",
"items": {
"type": "object",
"properties": {
"publisher": {
"type": "string",
"description": "Name of publisher, distributor, etc."
},
"place": {
"type": "string",
"description": "Place of publication, distribution, etc."
},
"dateOfPublication": {
"type": "string",
"description": "Date (year YYYY) of publication, distribution, etc."
},
"role": {
"type": "string",
"description": "The role of the publisher, distributor, etc."
}
}
}
},
"callNumber": {
"type": "string",
"description": "The item's call number"
},
"uri": {
"type": "string",
"description": "A URI to access the item"
},
"volume": {
"type": "string",
"description": "PENDING"
},
"copy": {
"type": "string",
"description": "PENDING"
},
"enumeration": {
"type": "string",
"description": "PENDING"
},
"url": {
"type": "string",
"description": "PENDING"
},
"instanceId": {
"type": "string",
"description": "The id of the associated instance record"
},
"instanceHrid": {
"type": "string",
"description": "The HRID of the associated instance record"
},
"instanceDiscoverySuppress": {
"type": "boolean",
"description": "Whether the associated instance record has been marked as suppressed from discovery"
},
"holdingsId": {
"type": "string",
"description": "The id of the associated holdings record"
}
}
},
"temporaryLoanTypeId": {
"type": "string",
"description": "The type to temporarily set the loan to while on reserve",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"temporaryLoanTypeObject": {
"type": "object",
"description": "The loan type object of what the item is set to while on reserve",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "label for the loan type",
"type": "string"
}
}
},
"copyrightTracking": {
"type": "object",
"description": "Information about copyright status, volume of material used, etc.",
"properties": {
"additionalSectionsUsed": {
"type": "boolean",
"description": "Additional sections of this item used in this course"
},
"copyrightStatusId": {
"type": "string",
"description": "The id of the copyright status",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"copyrightStatusObject": {
"type": "object",
"description": "The copyright status object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The UUID of this type",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"name": {
"type": "string",
"description": "The name of the type"
},
"description": {
"type": "string",
"description": "A description of this type"
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"name"
]
},
"totalPagesInItem": {
"type": "integer",
"description": "PENDING"
},
"totalPagesUsed": {
"type": "integer",
"description": "PENDING"
},
"percentOfPages": {
"type": "string",
"description": "Percent of pages used"
},
"paymentBasis": {
"type": "string",
"description": "PENDING"
}
}
},
"metadata": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"required": [
"courseListingId"
]
}
Example:
{
"id":"970e07c5-1354-4f4a-8326-2d10a94eb33c",
"sectionId":"79628277-984d-437a-a640-3d29fa89957b",
"itemId":"d64ecfda-17b2-4af6-a168-4b8b4ae0afa6",
"copiedItem": {
"barcode":"234543678233",
"title":"Underwater Basket Weaving: A Holistic Approach",
"contributors": [
{
"name": "Weevin, Ben",
"contributorNameTypeId": "37105705-bba4-4fc1-9709-2edd4842b41c",
"primary": true
}
]
}
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update reserve -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"reserve not found"
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"type": "object",
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete reserve item with given {reserveId}
DELETE /coursereserves/reserves/{reserve_id}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete reserve -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"reserve not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator