Course Reserves API version v1
http://github.com/org/folio/mod-courses
Course Reserves API
API calls to perform CRUD on item reservations for courses
Overview
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:
course
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
.
courselisting
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
.
instructor
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).
reserve
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.
Note on location semantics
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.
/coursereserves
Handle listings for a course
Return a list of listings
Create a new listing
Delete all listings
get /coursereserves/courselistings
Return a list of listings
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of courselisting items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list courselistings -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list courselistings -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/courselistings
Create a new listing
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created courselisting item
Body
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"
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add courselisting -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create courselistings -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/courselistings
Delete all listings
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All listings deleted
HTTP status code 400
Bad request, e.g. unknown tenant
Body
Media type: text/plain
Type: any
Example:
tenant not found
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided listing id
Retrieve courselisting item with given {courselistingId}
Update a listing by id
Delete courselisting item with given {courselistingId}
get /coursereserves/courselistings/{listing_id}
Retrieve courselisting item with given {courselistingId}
URI Parameters
- listing_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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"
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"courselisting not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/courselistings/{listing_id}
Update a listing by id
URI Parameters
- listing_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update courselisting -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"courselisting not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/courselistings/{listing_id}
Delete courselisting item with given {courselistingId}
URI Parameters
- listing_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete courselisting -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"courselisting not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle courses for a listing
Return a list of courses
Create a new course
Delete all courses
get /coursereserves/courselistings/{listing_id}/courses
Return a list of courses
URI Parameters
- listing_id: required(string)
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of course items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list courses -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list courses -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/courselistings/{listing_id}/courses
Create a new course
URI Parameters
- listing_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created course item
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add course -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create courses -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/courselistings/{listing_id}/courses
Delete all courses
URI Parameters
- listing_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All courses deleted
HTTP status code 400
Bad request, e.g. malformed listing_id
Body
Media type: text/plain
Type: any
Example:
listing_id is not a UUID
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
Provide the course id
Retrieve course item with given {courseId}
Update a course by id
Delete course item with given {courseId}
get /coursereserves/courselistings/{listing_id}/courses/{course_id}
Retrieve course item with given {courseId}
URI Parameters
- listing_id: required(string)
- course_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"course not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/courselistings/{listing_id}/courses/{course_id}
Update a course by id
URI Parameters
- listing_id: required(string)
- course_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update course -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"course not found"
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/courselistings/{listing_id}/courses/{course_id}
Delete course item with given {courseId}
URI Parameters
- listing_id: required(string)
- course_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete course -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"course not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle instructors for a listing
Return a list of instructors
Create a new instructor
Delete all instructors
get /coursereserves/courselistings/{listing_id}/instructors
Return a list of instructors
URI Parameters
- listing_id: required(string)
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of instructor items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list instructors -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list instructors -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/courselistings/{listing_id}/instructors
Create a new instructor
URI Parameters
- listing_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created instructor item
Body
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"
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add instructor -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create instructors -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/courselistings/{listing_id}/instructors
Delete all instructors
URI Parameters
- listing_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All instructors deleted
HTTP status code 400
Bad request, e.g. malformed listing_id
Body
Media type: text/plain
Type: any
Example:
listing_id is not a UUID
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided instructor id
Retrieve instructor item with given {instructorId}
Update an instructor by id
Delete instructor item with given {instructorId}
get /coursereserves/courselistings/{listing_id}/instructors/{instructor_id}
Retrieve instructor item with given {instructorId}
URI Parameters
- listing_id: required(string)
- instructor_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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"
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"instructor not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/courselistings/{listing_id}/instructors/{instructor_id}
Update an instructor by id
URI Parameters
- listing_id: required(string)
- instructor_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update instructor -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"instructor not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/courselistings/{listing_id}/instructors/{instructor_id}
Delete instructor item with given {instructorId}
URI Parameters
- listing_id: required(string)
- instructor_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete instructor -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"instructor not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle reserves for a listing
Return a list of reserves
Create a new reserve
Delete all reserves
get /coursereserves/courselistings/{listing_id}/reserves
Return a list of reserves
URI Parameters
- listing_id: required(string)
Query Parameters
- expand: (string)
Whether or not to expand the id fields
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of reserve items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list reserves -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list reserves -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/courselistings/{listing_id}/reserves
Create a new reserve
URI Parameters
- listing_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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
}
]
}
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created reserve item
Body
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
}
]
}
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add reserve -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create reserves -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/courselistings/{listing_id}/reserves
Delete all reserves
URI Parameters
- listing_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All reserves deleted
HTTP status code 400
Bad request, e.g. malformed listing_id
Body
Media type: text/plain
Type: any
Example:
listing_id is not a UUID
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided reserve id
Retrieve reserve item with given {reserveId}
Update a reserve by id
Delete reserve item with given {reserveId}
get /coursereserves/courselistings/{listing_id}/reserves/{reserve_id}
Retrieve reserve item with given {reserveId}
URI Parameters
- listing_id: required(string)
- reserve_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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
}
]
}
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"reserve not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/courselistings/{listing_id}/reserves/{reserve_id}
Update a reserve by id
URI Parameters
- listing_id: required(string)
- reserve_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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
}
]
}
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update reserve -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"reserve not found"
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/courselistings/{listing_id}/reserves/{reserve_id}
Delete reserve item with given {reserveId}
URI Parameters
- listing_id: required(string)
- reserve_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete reserve -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"reserve not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle roles for course instructors
Return a list of roles
Create a new role
Delete all roles
get /coursereserves/roles
Return a list of roles
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of role items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list roles -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list roles -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/roles
Create a new role
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created role item
Body
Media type: application/json
Type: any
Example:
{
"id": "504efaf3-8b76-4c12-a61b-2e281386f9ff",
"name": "Instructor"
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add role -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create roles -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/roles
Delete all roles
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All roles deleted
HTTP status code 400
Bad request, e.g. unknown tenant
Body
Media type: text/plain
Type: any
Example:
tenant not found
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided role id
Retrieve role item with given {roleId}
Update a role by id
Delete role item with given {roleId}
get /coursereserves/roles/{role_id}
Retrieve role item with given {roleId}
URI Parameters
- role_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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"
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"role not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/roles/{role_id}
Update a role by id
URI Parameters
- role_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update role -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"role not found"
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/roles/{role_id}
Delete role item with given {roleId}
URI Parameters
- role_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete role -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"role not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle terms for courses
Return a list of terms
Create a new term
Delete all terms
get /coursereserves/terms
Return a list of terms
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of term items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list terms -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list terms -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/terms
Create a new term
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created term item
Body
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"
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add term -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create terms -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/terms
Delete all terms
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All terms deleted
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided term id
Retrieve term item with given {termId}
Update a term by id
Delete term item with given {termId}
get /coursereserves/terms/{term_id}
Retrieve term item with given {termId}
URI Parameters
- term_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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"
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"term not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/terms/{term_id}
Update a term by id
URI Parameters
- term_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update term -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"term not found"
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/terms/{term_id}
Delete term item with given {termId}
URI Parameters
- term_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete term -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"term not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle types for courses
Return a list of course types
Create a new course type
Delete all course types
get /coursereserves/coursetypes
Return a list of course types
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of coursetype items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list coursetypes -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list coursetypes -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/coursetypes
Create a new course type
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created coursetype item
Body
Media type: application/json
Type: any
Example:
{
"id":"3481976c-d00f-40c7-9c64-2bfb91acc886",
"name": "Regular",
"description": "A standard course"
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add coursetype -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create coursetypes -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/coursetypes
Delete all course types
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All course types deleted
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided course type id
Retrieve coursetype item with given {coursetypeId}
Update a course type by id
Delete coursetype item with given {coursetypeId}
get /coursereserves/coursetypes/{type_id}
Retrieve coursetype item with given {coursetypeId}
URI Parameters
- type_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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"
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"coursetype not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/coursetypes/{type_id}
Update a course type by id
URI Parameters
- type_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update coursetype -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"coursetype not found"
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/coursetypes/{type_id}
Delete coursetype item with given {coursetypeId}
URI Parameters
- type_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete coursetype -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"coursetype not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle departments
Return a list of departments
Create a new department
Delete all departments
get /coursereserves/departments
Return a list of departments
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of department items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list departments -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list departments -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/departments
Create a new department
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created department item
Body
Media type: application/json
Type: any
Example:
{
"id": "358de20b-0c95-45dd-8f9c-b3f0e98950ac",
"name": "History"
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add department -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create departments -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/departments
Delete all departments
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All departments deleted
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided department id
Retrieve department item with given {departmentId}
Update a department by id
Delete department item with given {departmentId}
get /coursereserves/departments/{department_id}
Retrieve department item with given {departmentId}
URI Parameters
- department_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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"
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"department not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/departments/{department_id}
Update a department by id
URI Parameters
- department_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update department -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"department not found"
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/departments/{department_id}
Delete department item with given {departmentId}
URI Parameters
- department_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete department -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"department not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle processing status
Return a list of statuses
Create a new status
Delete all statuses
get /coursereserves/processingstatuses
Return a list of statuses
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of processingstatus items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list processingstatuses -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list processingstatuses -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/processingstatuses
Create a new status
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created processingstatus item
Body
Media type: application/json
Type: any
Example:
{
"id": "0e8cb1de-a713-4edd-afff-47cea8e4f1a7",
"name": "pending"
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add processingstatus -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create processingstatuses -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/processingstatuses
Delete all statuses
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All statuses deleted
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided status id
Retrieve processingstatus item with given {processingstatusId}
Update a status by id
Delete processingstatus item with given {processingstatusId}
get /coursereserves/processingstatuses/{status_id}
Retrieve processingstatus item with given {processingstatusId}
URI Parameters
- status_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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"
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"processingstatus not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/processingstatuses/{status_id}
Update a status by id
URI Parameters
- status_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update processingstatus -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"processingstatus not found"
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/processingstatuses/{status_id}
Delete processingstatus item with given {processingstatusId}
URI Parameters
- status_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete processingstatus -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"processingstatus not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle copyright status
Return a list of copyright statuses
Create a new copyright status
Delete all copyright statuses
get /coursereserves/copyrightstatuses
Return a list of copyright statuses
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of copyrightstatus items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list copyrightstatuses -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list copyrightstatuses -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/copyrightstatuses
Create a new copyright status
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created copyrightstatus item
Body
Media type: application/json
Type: any
Example:
{
"id":"574d1da7-f239-466e-a41f-e87330c9238f",
"name":"paid",
"description":"Copyright Paid"
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add copyrightstatus -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create copyrightstatuses -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/copyrightstatuses
Delete all copyright statuses
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All statuses deleted
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided status id
Retrieve copyrightstatus item with given {copyrightstatusId}
Update a status by id
Delete copyrightstatus item with given {copyrightstatusId}
get /coursereserves/copyrightstatuses/{status_id}
Retrieve copyrightstatus item with given {copyrightstatusId}
URI Parameters
- status_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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"
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"copyrightstatus not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/copyrightstatuses/{status_id}
Update a status by id
URI Parameters
- status_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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"
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update copyrightstatus -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"copyrightstatus not found"
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/copyrightstatuses/{status_id}
Delete copyrightstatus item with given {copyrightstatusId}
URI Parameters
- status_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete copyrightstatus -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"copyrightstatus not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle courses
Return a list of courses
Create a new course
Delete ALL courses
get /coursereserves/courses
Return a list of courses
Query Parameters
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of course items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list courses -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list courses -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/courses
Create a new course
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created course item
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add course -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create courses -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/courses
Delete ALL courses
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All courses delete
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided id
Retrieve course item with given {courseId}
Update a course by id
Delete course item with given {courseId}
get /coursereserves/courses/{course_id}
Retrieve course item with given {courseId}
URI Parameters
- course_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"course not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/courses/{course_id}
Update a course by id
URI Parameters
- course_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update course -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"course not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/courses/{course_id}
Delete course item with given {courseId}
URI Parameters
- course_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete course -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"course not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Handle reserves
Return a list of reserves
Create a new reserve
Delete ALL reserves
get /coursereserves/reserves
Return a list of reserves
Query Parameters
- expand: (string)
What fields to expand
- query: (string)
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
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns a list of reserve items
Body
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
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
unable to list reserves -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to list reserves -- unauthorized
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /coursereserves/reserves
Create a new reserve
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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
}
]
}
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created reserve item
Body
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
}
]
}
}
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to add reserve -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
unable to create reserves -- unauthorized
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
delete /coursereserves/reserves
Delete ALL reserves
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
All reserves deleted
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error
Body
Media type: text/plain
Type: any
Example:
Internal server error
With provided reserve id
Retrieve reserve item with given {reserveId}
Update a reserve by id
Delete reserve item with given {reserveId}
get /coursereserves/reserves/{reserve_id}
Retrieve reserve item with given {reserveId}
URI Parameters
- reserve_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 200
Returns item with a given ID
Body
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
}
]
}
}
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"reserve not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /coursereserves/reserves/{reserve_id}
Update a reserve by id
URI Parameters
- reserve_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
Body
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
}
]
}
}
HTTP status code 204
Item successfully updated
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to update reserve -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"reserve not found"
HTTP status code 422
Validation errors
Body
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"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /coursereserves/reserves/{reserve_id}
Delete reserve item with given {reserveId}
URI Parameters
- reserve_id: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 204
Item deleted successfully
HTTP status code 400
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.
Body
Media type: text/plain
Type: any
Example:
"unable to delete reserve -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"reserve not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator