foliolib.folio.api.courses.Courses

class foliolib.folio.api.courses.Courses(tenant: str, okapi: Optional[foliolib.okapi.okapiClient.OkapiClient] = None)

Bases: foliolib.folio.FolioApi

Course Reserves API

API calls to perform CRUD on item reservations for courses

Parameters
  • tenant (str) – Tenant id

  • okapi (OkapiClient, optional) – Instance of OkapiClient. Defaults to None.

Methods

delete_copyrightstatus(status_id)

Delete copyrightstatus item with given {copyrightstatusId}

delete_copyrightstatuses()

DELETE /coursereserves/copyrightstatuses

delete_course(course_id)

Delete course item with given {courseId}

delete_course_for_listing(listing_id, course_id)

Delete course item with given {courseId}

delete_courselisting(listing_id)

Delete courselisting item with given {courselistingId}

delete_courselistings()

DELETE /coursereserves/courselistings

delete_courses()

DELETE /coursereserves/courses

delete_courses_for_listing(listing_id)

DELETE /coursereserves/courselistings/{listing_id}/courses

delete_coursetype(type_id)

Delete coursetype item with given {coursetypeId}

delete_coursetypes()

DELETE /coursereserves/coursetypes

delete_department(department_id)

Delete department item with given {departmentId}

delete_departments()

DELETE /coursereserves/departments

delete_instructor(listing_id, instructor_id)

Delete instructor item with given {instructorId}

delete_instructors(listing_id)

DELETE /coursereserves/courselistings/{listing_id}/instructors

delete_processingstatus(status_id)

Delete processingstatus item with given {processingstatusId}

delete_processingstatuses()

DELETE /coursereserves/processingstatuses

delete_reserf(reserve_id)

Delete reserf item with given {reserfId}

delete_reserf_for_listing(listing_id, reserve_id)

Delete reserf item with given {reserfId}

delete_reserves()

DELETE /coursereserves/reserves

delete_reserves_for_listing(listing_id)

DELETE /coursereserves/courselistings/{listing_id}/reserves

delete_role(role_id)

Delete role item with given {roleId}

delete_roles()

DELETE /coursereserves/roles

delete_term(term_id)

Delete term item with given {termId}

delete_terms()

DELETE /coursereserves/terms

get_copyrightstatus(status_id)

Retrieve copyrightstatus item with given {copyrightstatusId}

get_copyrightstatuses(**kwargs)

Return a list of copyright statuses

get_course(course_id)

Retrieve course item with given {courseId}

get_course_for_listing(listing_id, course_id)

Retrieve course item with given {courseId}

get_courselisting(listing_id)

Retrieve courselisting item with given {courselistingId}

get_courselistings(**kwargs)

Return a list of listings

get_courses(**kwargs)

Return a list of courses

get_courses_for_listing(listing_id, **kwargs)

Return a list of courses

get_coursetype(type_id)

Retrieve coursetype item with given {coursetypeId}

get_coursetypes(**kwargs)

Return a list of course types

get_department(department_id)

Retrieve department item with given {departmentId}

get_departments(**kwargs)

Return a list of departments

get_instructor(listing_id, instructor_id)

Retrieve instructor item with given {instructorId}

get_instructors(listing_id, **kwargs)

Return a list of instructors

get_processingstatus(status_id)

Retrieve processingstatus item with given {processingstatusId}

get_processingstatuses(**kwargs)

Return a list of statuses

get_reserf(reserve_id)

Retrieve reserf item with given {reserfId}

get_reserf_for_listing(listing_id, reserve_id)

Retrieve reserf item with given {reserfId}

get_reserves(**kwargs)

Return a list of reserves

get_reserves_for_listing(listing_id, **kwargs)

Return a list of reserves

get_role(role_id)

Retrieve role item with given {roleId}

get_roles(**kwargs)

Return a list of roles

get_term(term_id)

Retrieve term item with given {termId}

get_terms(**kwargs)

Return a list of terms

modify_copyrightstatus(status_id, ...)

Update a status by id

modify_course(course_id, course)

Update a course by id

modify_course_for_listing(listing_id, ...)

Update a course by id

modify_courselisting(listing_id, courselisting)

Update a listing by id

modify_coursetype(type_id, coursetype)

Update a course type by id

modify_department(department_id, department)

Update a department by id

modify_instructor(listing_id, instructor_id, ...)

Update an instructor by id

modify_processingstatus(status_id, ...)

Update a status by id

modify_reserf(reserve_id, reserf)

Update a reserve by id

modify_reserf_for_listing(listing_id, ...)

Update a reserve by id

modify_role(role_id, role)

Update a role by id

modify_term(term_id, term)

Update a term by id

set_copyrightstatus(copyrightstatus)

Create a new copyright status

set_course(course)

Create a new course

set_course_for_listing(listing_id, course)

Create a new course

set_courselisting(courselisting)

Create a new listing

set_coursetype(coursetype)

Create a new course type

set_department(department)

Create a new department

set_instructor(listing_id, instructor)

Create a new instructor

set_processingstatus(processingstatus)

Create a new status

set_reserf(reserf)

Create a new reserve

set_reserf_for_listing(listing_id, reserf)

Create a new reserve

set_role(role)

Create a new role

set_term(term)

Create a new term

delete_copyrightstatus(status_id: str)

Delete copyrightstatus item with given {copyrightstatusId}

DELETE /coursereserves/copyrightstatuses/{status_id}

Parameters

status_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_copyrightstatuses()

DELETE /coursereserves/copyrightstatuses

delete_course(course_id: str)

Delete course item with given {courseId}

DELETE /coursereserves/courses/{course_id}

Parameters

course_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_course_for_listing(listing_id: str, course_id: str)

Delete course item with given {courseId}

DELETE /coursereserves/courselistings/{listing_id}/courses/{course_id}

Parameters
  • listing_id (str) –

  • course_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_courselisting(listing_id: str)

Delete courselisting item with given {courselistingId}

DELETE /coursereserves/courselistings/{listing_id}

Parameters

listing_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_courselistings()

DELETE /coursereserves/courselistings

delete_courses()

DELETE /coursereserves/courses

delete_courses_for_listing(listing_id: str)

DELETE /coursereserves/courselistings/{listing_id}/courses

Parameters

listing_id (str) –

delete_coursetype(type_id: str)

Delete coursetype item with given {coursetypeId}

DELETE /coursereserves/coursetypes/{type_id}

Parameters

type_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_coursetypes()

DELETE /coursereserves/coursetypes

delete_department(department_id: str)

Delete department item with given {departmentId}

DELETE /coursereserves/departments/{department_id}

Parameters

department_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_departments()

DELETE /coursereserves/departments

delete_instructor(listing_id: str, instructor_id: str)

Delete instructor item with given {instructorId}

DELETE /coursereserves/courselistings/{listing_id}/instructors/{instructor_id}

Parameters
  • listing_id (str) –

  • instructor_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_instructors(listing_id: str)

DELETE /coursereserves/courselistings/{listing_id}/instructors

Parameters

listing_id (str) –

delete_processingstatus(status_id: str)

Delete processingstatus item with given {processingstatusId}

DELETE /coursereserves/processingstatuses/{status_id}

Parameters

status_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_processingstatuses()

DELETE /coursereserves/processingstatuses

delete_reserf(reserve_id: str)

Delete reserf item with given {reserfId}

DELETE /coursereserves/reserves/{reserve_id}

Parameters

reserve_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_reserf_for_listing(listing_id: str, reserve_id: str)

Delete reserf item with given {reserfId}

DELETE /coursereserves/courselistings/{listing_id}/reserves/{reserve_id}

Parameters
  • listing_id (str) –

  • reserve_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_reserves()

DELETE /coursereserves/reserves

delete_reserves_for_listing(listing_id: str)

DELETE /coursereserves/courselistings/{listing_id}/reserves

Parameters

listing_id (str) –

delete_role(role_id: str)

Delete role item with given {roleId}

DELETE /coursereserves/roles/{role_id}

Parameters

role_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_roles()

DELETE /coursereserves/roles

delete_term(term_id: str)

Delete term item with given {termId}

DELETE /coursereserves/terms/{term_id}

Parameters

term_id (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_terms()

DELETE /coursereserves/terms

get_copyrightstatus(status_id: str)

Retrieve copyrightstatus item with given {copyrightstatusId}

GET /coursereserves/copyrightstatuses/{status_id}

Parameters

status_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the type"
    },
    "description": {
      "type": "string",
      "description": "A description of this type"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
get_copyrightstatuses(**kwargs)

Return a list of copyright statuses

GET /coursereserves/copyrightstatuses

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "copyrightstatus.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "copyrightStatuses",
    "totalRecords"
  ]
}
get_course(course_id: str)

Retrieve course item with given {courseId}

GET /coursereserves/courses/{course_id}

Parameters

course_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "departmentObject": {
      "type": "object",
      "description": "The department associated with this course",
      "$ref": "department.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "The id for the course listing this course belongs to",
      "$ref": "uuid.json"
    },
    "courseListingObject": {
      "type": "object",
      "description": "The course listing associated with this course",
      "$ref": "courselisting.json"
    },
    "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name",
    "departmentId",
    "courseListingId"
  ]
}
get_course_for_listing(listing_id: str, course_id: str)

Retrieve course item with given {courseId}

GET /coursereserves/courselistings/{listing_id}/courses/{course_id}

Parameters
  • listing_id (str) –

  • course_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "departmentObject": {
      "type": "object",
      "description": "The department associated with this course",
      "$ref": "department.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "The id for the course listing this course belongs to",
      "$ref": "uuid.json"
    },
    "courseListingObject": {
      "type": "object",
      "description": "The course listing associated with this course",
      "$ref": "courselisting.json"
    },
    "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name",
    "departmentId",
    "courseListingId"
  ]
}
get_courselisting(listing_id: str)

Retrieve courselisting item with given {courselistingId}

GET /coursereserves/courselistings/{listing_id}

Parameters

listing_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "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",
          "$ref": "time-period.json",
          "description": "expiration period for items on the hold shelf at the service point"
        },
        "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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "termObject": {
      "type": "object",
      "description": "The term associated with this listing",
      "$ref": "term.json"
    },
    "courseTypeId": {
      "type": "string",
      "description": "The ID of the course type for this listing",
      "$ref": "uuid.json"
    },
    "courseTypeObject": {
      "type": "object",
      "description": "The course type associated with this listing",
      "$ref": "coursetype.json"
    },
    "instructorObjects": {
      "type": "array",
      "description": "A listing of associated instructor objects",
      "items": {
        "type": "object",
        "$ref": "instructor.json"
      }
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "termId"
  ]
}
get_courselistings(**kwargs)

Return a list of listings

GET /coursereserves/courselistings

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "courselisting.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "courseListings",
    "totalRecords"
  ]
}
get_courses(**kwargs)

Return a list of courses

GET /coursereserves/courses

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "course.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "courses",
    "totalRecords"
  ]
}
get_courses_for_listing(listing_id: str, **kwargs)

Return a list of courses

GET /coursereserves/courselistings/{listing_id}/courses

Parameters
  • listing_id (str) –

  • **kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "course.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "courses",
    "totalRecords"
  ]
}
get_coursetype(type_id: str)

Retrieve coursetype item with given {coursetypeId}

GET /coursereserves/coursetypes/{type_id}

Parameters

type_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the type"
    },
    "description": {
      "type": "string",
      "description": "A description of this type"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
get_coursetypes(**kwargs)

Return a list of course types

GET /coursereserves/coursetypes

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "coursetype.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "courseTypes",
    "totalRecords"
  ]
}
get_department(department_id: str)

Retrieve department item with given {departmentId}

GET /coursereserves/departments/{department_id}

Parameters

department_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the department"
    },
    "description": {
      "type": "string",
      "description": "A description of this department"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
get_departments(**kwargs)

Return a list of departments

GET /coursereserves/departments

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "department.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "departments",
    "totalRecords"
  ]
}
get_instructor(listing_id: str, instructor_id: str)

Retrieve instructor item with given {instructorId}

GET /coursereserves/courselistings/{listing_id}/instructors/{instructor_id}

Parameters
  • listing_id (str) –

  • instructor_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "userId": {
      "type": "string",
      "description": "ID of associated FOLIO user (if exists)",
      "$ref": "uuid.json"
    },
    "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",
          "$ref": "uuid.json"
        },
        "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",
      "$ref": "uuid.json"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "courseListingId",
    "name"
  ]
}
get_instructors(listing_id: str, **kwargs)

Return a list of instructors

GET /coursereserves/courselistings/{listing_id}/instructors

Parameters
  • listing_id (str) –

  • **kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "instructor.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "instructors",
    "totalRecords"
  ]
}
get_processingstatus(status_id: str)

Retrieve processingstatus item with given {processingstatusId}

GET /coursereserves/processingstatuses/{status_id}

Parameters

status_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the status"
    },
    "description": {
      "type": "string",
      "description": "A description of this status"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
get_processingstatuses(**kwargs)

Return a list of statuses

GET /coursereserves/processingstatuses

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "processingstatus.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "processingStatuses",
    "totalRecords"
  ]
}
get_reserf(reserve_id: str)

Retrieve reserf item with given {reserfId}

GET /coursereserves/reserves/{reserve_id}

Parameters

reserve_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "ID of the listing",
      "$ref": "uuid.json"
    },
    "itemId": {
      "type": "string",
      "description": "ID of the item",
      "$ref": "uuid.json"
    },
    "processingStatusId": {
      "type": "string",
      "description": "The ID of the processing status of the reserve",
      "$ref": "uuid.json"
    },
    "processingStatusObject": {
      "type": "object",
      "description": "The processing status object associated with the reserve",
      "$ref": "processingstatus.json"
    },
    "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",
          "$ref": "location.json"
        },
        "permanentLocationId": {
          "type": "string",
          "description": "Permanent Location ID, from item"
        },
        "permanentLocationObject": {
          "type": "object",
          "description": "Permanent location object",
          "$ref": "location.json"
        },
        "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",
      "$ref": "uuid.json"
    },
    "temporaryLoanTypeObject": {
      "type": "object",
      "description": "The loan type object of what the item is set to while on reserve",
      "$ref": "loantype.json"
    },
    "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",
          "$ref": "uuid.json"
        },
        "copyrightStatusObject": {
          "type": "object",
          "description": "The copyright status object",
          "$ref": "copyrightstatus.json"
        },
        "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "courseListingId"
  ]
}
get_reserf_for_listing(listing_id: str, reserve_id: str)

Retrieve reserf item with given {reserfId}

GET /coursereserves/courselistings/{listing_id}/reserves/{reserve_id}

Parameters
  • listing_id (str) –

  • reserve_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "ID of the listing",
      "$ref": "uuid.json"
    },
    "itemId": {
      "type": "string",
      "description": "ID of the item",
      "$ref": "uuid.json"
    },
    "processingStatusId": {
      "type": "string",
      "description": "The ID of the processing status of the reserve",
      "$ref": "uuid.json"
    },
    "processingStatusObject": {
      "type": "object",
      "description": "The processing status object associated with the reserve",
      "$ref": "processingstatus.json"
    },
    "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",
          "$ref": "location.json"
        },
        "permanentLocationId": {
          "type": "string",
          "description": "Permanent Location ID, from item"
        },
        "permanentLocationObject": {
          "type": "object",
          "description": "Permanent location object",
          "$ref": "location.json"
        },
        "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",
      "$ref": "uuid.json"
    },
    "temporaryLoanTypeObject": {
      "type": "object",
      "description": "The loan type object of what the item is set to while on reserve",
      "$ref": "loantype.json"
    },
    "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",
          "$ref": "uuid.json"
        },
        "copyrightStatusObject": {
          "type": "object",
          "description": "The copyright status object",
          "$ref": "copyrightstatus.json"
        },
        "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "courseListingId"
  ]
}
get_reserves(**kwargs)

Return a list of reserves

GET /coursereserves/reserves

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "reserve.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "reserves",
    "totalRecords"
  ]
}
get_reserves_for_listing(listing_id: str, **kwargs)

Return a list of reserves

GET /coursereserves/courselistings/{listing_id}/reserves

Parameters
  • listing_id (str) –

  • **kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "reserve.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "reserves",
    "totalRecords"
  ]
}
get_role(role_id: str)

Retrieve role item with given {roleId}

GET /coursereserves/roles/{role_id}

Parameters

role_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the role"
    },
    "description": {
      "type": "string",
      "description": "A description of this role"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
get_roles(**kwargs)

Return a list of roles

GET /coursereserves/roles

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "role.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "roles",
    "totalRecords"
  ]
}
get_term(term_id: str)

Retrieve term item with given {termId}

GET /coursereserves/terms/{term_id}

Parameters

term_id (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name",
    "startDate",
    "endDate"
  ]
}
get_terms(**kwargs)

Return a list of terms

GET /coursereserves/terms

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://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 (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

Schema

{
  "$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",
        "$ref": "term.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "terms",
    "totalRecords"
  ]
}
modify_copyrightstatus(status_id: str, copyrightstatus: dict)

Update a status by id

PUT /coursereserves/copyrightstatuses/{status_id}

Parameters
  • status_id (str) –

  • copyrightstatus (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the type"
    },
    "description": {
      "type": "string",
      "description": "A description of this type"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
modify_course(course_id: str, course: dict)

Update a course by id

PUT /coursereserves/courses/{course_id}

Parameters
  • course_id (str) –

  • course (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "departmentObject": {
      "type": "object",
      "description": "The department associated with this course",
      "$ref": "department.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "The id for the course listing this course belongs to",
      "$ref": "uuid.json"
    },
    "courseListingObject": {
      "type": "object",
      "description": "The course listing associated with this course",
      "$ref": "courselisting.json"
    },
    "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name",
    "departmentId",
    "courseListingId"
  ]
}
modify_course_for_listing(listing_id: str, course_id: str, course: dict)

Update a course by id

PUT /coursereserves/courselistings/{listing_id}/courses/{course_id}

Parameters
  • listing_id (str) –

  • course_id (str) –

  • course (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "departmentObject": {
      "type": "object",
      "description": "The department associated with this course",
      "$ref": "department.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "The id for the course listing this course belongs to",
      "$ref": "uuid.json"
    },
    "courseListingObject": {
      "type": "object",
      "description": "The course listing associated with this course",
      "$ref": "courselisting.json"
    },
    "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name",
    "departmentId",
    "courseListingId"
  ]
}
modify_courselisting(listing_id: str, courselisting: dict)

Update a listing by id

PUT /coursereserves/courselistings/{listing_id}

Parameters
  • listing_id (str) –

  • courselisting (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "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",
          "$ref": "time-period.json",
          "description": "expiration period for items on the hold shelf at the service point"
        },
        "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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "termObject": {
      "type": "object",
      "description": "The term associated with this listing",
      "$ref": "term.json"
    },
    "courseTypeId": {
      "type": "string",
      "description": "The ID of the course type for this listing",
      "$ref": "uuid.json"
    },
    "courseTypeObject": {
      "type": "object",
      "description": "The course type associated with this listing",
      "$ref": "coursetype.json"
    },
    "instructorObjects": {
      "type": "array",
      "description": "A listing of associated instructor objects",
      "items": {
        "type": "object",
        "$ref": "instructor.json"
      }
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "termId"
  ]
}
modify_coursetype(type_id: str, coursetype: dict)

Update a course type by id

PUT /coursereserves/coursetypes/{type_id}

Parameters
  • type_id (str) –

  • coursetype (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the type"
    },
    "description": {
      "type": "string",
      "description": "A description of this type"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
modify_department(department_id: str, department: dict)

Update a department by id

PUT /coursereserves/departments/{department_id}

Parameters
  • department_id (str) –

  • department (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the department"
    },
    "description": {
      "type": "string",
      "description": "A description of this department"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
modify_instructor(listing_id: str, instructor_id: str, instructor: dict)

Update an instructor by id

PUT /coursereserves/courselistings/{listing_id}/instructors/{instructor_id}

Parameters
  • listing_id (str) –

  • instructor_id (str) –

  • instructor (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "userId": {
      "type": "string",
      "description": "ID of associated FOLIO user (if exists)",
      "$ref": "uuid.json"
    },
    "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",
          "$ref": "uuid.json"
        },
        "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",
      "$ref": "uuid.json"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "courseListingId",
    "name"
  ]
}
modify_processingstatus(status_id: str, processingstatus: dict)

Update a status by id

PUT /coursereserves/processingstatuses/{status_id}

Parameters
  • status_id (str) –

  • processingstatus (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the status"
    },
    "description": {
      "type": "string",
      "description": "A description of this status"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
modify_reserf(reserve_id: str, reserf: dict)

Update a reserve by id

PUT /coursereserves/reserves/{reserve_id}

Parameters
  • reserve_id (str) –

  • reserf (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "ID of the listing",
      "$ref": "uuid.json"
    },
    "itemId": {
      "type": "string",
      "description": "ID of the item",
      "$ref": "uuid.json"
    },
    "processingStatusId": {
      "type": "string",
      "description": "The ID of the processing status of the reserve",
      "$ref": "uuid.json"
    },
    "processingStatusObject": {
      "type": "object",
      "description": "The processing status object associated with the reserve",
      "$ref": "processingstatus.json"
    },
    "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",
          "$ref": "location.json"
        },
        "permanentLocationId": {
          "type": "string",
          "description": "Permanent Location ID, from item"
        },
        "permanentLocationObject": {
          "type": "object",
          "description": "Permanent location object",
          "$ref": "location.json"
        },
        "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",
      "$ref": "uuid.json"
    },
    "temporaryLoanTypeObject": {
      "type": "object",
      "description": "The loan type object of what the item is set to while on reserve",
      "$ref": "loantype.json"
    },
    "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",
          "$ref": "uuid.json"
        },
        "copyrightStatusObject": {
          "type": "object",
          "description": "The copyright status object",
          "$ref": "copyrightstatus.json"
        },
        "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "courseListingId"
  ]
}
modify_reserf_for_listing(listing_id: str, reserve_id: str, reserf: dict)

Update a reserve by id

PUT /coursereserves/courselistings/{listing_id}/reserves/{reserve_id}

Parameters
  • listing_id (str) –

  • reserve_id (str) –

  • reserf (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "ID of the listing",
      "$ref": "uuid.json"
    },
    "itemId": {
      "type": "string",
      "description": "ID of the item",
      "$ref": "uuid.json"
    },
    "processingStatusId": {
      "type": "string",
      "description": "The ID of the processing status of the reserve",
      "$ref": "uuid.json"
    },
    "processingStatusObject": {
      "type": "object",
      "description": "The processing status object associated with the reserve",
      "$ref": "processingstatus.json"
    },
    "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",
          "$ref": "location.json"
        },
        "permanentLocationId": {
          "type": "string",
          "description": "Permanent Location ID, from item"
        },
        "permanentLocationObject": {
          "type": "object",
          "description": "Permanent location object",
          "$ref": "location.json"
        },
        "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",
      "$ref": "uuid.json"
    },
    "temporaryLoanTypeObject": {
      "type": "object",
      "description": "The loan type object of what the item is set to while on reserve",
      "$ref": "loantype.json"
    },
    "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",
          "$ref": "uuid.json"
        },
        "copyrightStatusObject": {
          "type": "object",
          "description": "The copyright status object",
          "$ref": "copyrightstatus.json"
        },
        "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "courseListingId"
  ]
}
modify_role(role_id: str, role: dict)

Update a role by id

PUT /coursereserves/roles/{role_id}

Parameters
  • role_id (str) –

  • role (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the role"
    },
    "description": {
      "type": "string",
      "description": "A description of this role"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
modify_term(term_id: str, term: dict)

Update a term by id

PUT /coursereserves/terms/{term_id}

Parameters
  • term_id (str) –

  • term (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name",
    "startDate",
    "endDate"
  ]
}
set_copyrightstatus(copyrightstatus: dict)

Create a new copyright status

POST /coursereserves/copyrightstatuses

Parameters

copyrightstatus (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created copyrightstatus item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the type"
    },
    "description": {
      "type": "string",
      "description": "A description of this type"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
set_course(course: dict)

Create a new course

POST /coursereserves/courses

Parameters

course (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created course item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "departmentObject": {
      "type": "object",
      "description": "The department associated with this course",
      "$ref": "department.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "The id for the course listing this course belongs to",
      "$ref": "uuid.json"
    },
    "courseListingObject": {
      "type": "object",
      "description": "The course listing associated with this course",
      "$ref": "courselisting.json"
    },
    "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name",
    "departmentId",
    "courseListingId"
  ]
}
set_course_for_listing(listing_id: str, course: dict)

Create a new course

POST /coursereserves/courselistings/{listing_id}/courses

Parameters
  • listing_id (str) –

  • course (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created course item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "departmentObject": {
      "type": "object",
      "description": "The department associated with this course",
      "$ref": "department.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "The id for the course listing this course belongs to",
      "$ref": "uuid.json"
    },
    "courseListingObject": {
      "type": "object",
      "description": "The course listing associated with this course",
      "$ref": "courselisting.json"
    },
    "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name",
    "departmentId",
    "courseListingId"
  ]
}
set_courselisting(courselisting: dict)

Create a new listing

POST /coursereserves/courselistings

Parameters

courselisting (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created courselisting item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "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",
          "$ref": "time-period.json",
          "description": "expiration period for items on the hold shelf at the service point"
        },
        "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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "uuid.json"
    },
    "termObject": {
      "type": "object",
      "description": "The term associated with this listing",
      "$ref": "term.json"
    },
    "courseTypeId": {
      "type": "string",
      "description": "The ID of the course type for this listing",
      "$ref": "uuid.json"
    },
    "courseTypeObject": {
      "type": "object",
      "description": "The course type associated with this listing",
      "$ref": "coursetype.json"
    },
    "instructorObjects": {
      "type": "array",
      "description": "A listing of associated instructor objects",
      "items": {
        "type": "object",
        "$ref": "instructor.json"
      }
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "termId"
  ]
}
set_coursetype(coursetype: dict)

Create a new course type

POST /coursereserves/coursetypes

Parameters

coursetype (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created coursetype item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the type"
    },
    "description": {
      "type": "string",
      "description": "A description of this type"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
set_department(department: dict)

Create a new department

POST /coursereserves/departments

Parameters

department (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created department item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the department"
    },
    "description": {
      "type": "string",
      "description": "A description of this department"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
set_instructor(listing_id: str, instructor: dict)

Create a new instructor

POST /coursereserves/courselistings/{listing_id}/instructors

Parameters
  • listing_id (str) –

  • instructor (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created instructor item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "userId": {
      "type": "string",
      "description": "ID of associated FOLIO user (if exists)",
      "$ref": "uuid.json"
    },
    "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",
          "$ref": "uuid.json"
        },
        "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",
      "$ref": "uuid.json"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "courseListingId",
    "name"
  ]
}
set_processingstatus(processingstatus: dict)

Create a new status

POST /coursereserves/processingstatuses

Parameters

processingstatus (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created processingstatus item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the status"
    },
    "description": {
      "type": "string",
      "description": "A description of this status"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
set_reserf(reserf: dict)

Create a new reserve

POST /coursereserves/reserves

Parameters

reserf (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created reserf item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "ID of the listing",
      "$ref": "uuid.json"
    },
    "itemId": {
      "type": "string",
      "description": "ID of the item",
      "$ref": "uuid.json"
    },
    "processingStatusId": {
      "type": "string",
      "description": "The ID of the processing status of the reserve",
      "$ref": "uuid.json"
    },
    "processingStatusObject": {
      "type": "object",
      "description": "The processing status object associated with the reserve",
      "$ref": "processingstatus.json"
    },
    "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",
          "$ref": "location.json"
        },
        "permanentLocationId": {
          "type": "string",
          "description": "Permanent Location ID, from item"
        },
        "permanentLocationObject": {
          "type": "object",
          "description": "Permanent location object",
          "$ref": "location.json"
        },
        "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",
      "$ref": "uuid.json"
    },
    "temporaryLoanTypeObject": {
      "type": "object",
      "description": "The loan type object of what the item is set to while on reserve",
      "$ref": "loantype.json"
    },
    "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",
          "$ref": "uuid.json"
        },
        "copyrightStatusObject": {
          "type": "object",
          "description": "The copyright status object",
          "$ref": "copyrightstatus.json"
        },
        "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "courseListingId"
  ]
}
set_reserf_for_listing(listing_id: str, reserf: dict)

Create a new reserve

POST /coursereserves/courselistings/{listing_id}/reserves

Parameters
  • listing_id (str) –

  • reserf (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created reserf item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "courseListingId": {
      "type": "string",
      "description": "ID of the listing",
      "$ref": "uuid.json"
    },
    "itemId": {
      "type": "string",
      "description": "ID of the item",
      "$ref": "uuid.json"
    },
    "processingStatusId": {
      "type": "string",
      "description": "The ID of the processing status of the reserve",
      "$ref": "uuid.json"
    },
    "processingStatusObject": {
      "type": "object",
      "description": "The processing status object associated with the reserve",
      "$ref": "processingstatus.json"
    },
    "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",
          "$ref": "location.json"
        },
        "permanentLocationId": {
          "type": "string",
          "description": "Permanent Location ID, from item"
        },
        "permanentLocationObject": {
          "type": "object",
          "description": "Permanent location object",
          "$ref": "location.json"
        },
        "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",
      "$ref": "uuid.json"
    },
    "temporaryLoanTypeObject": {
      "type": "object",
      "description": "The loan type object of what the item is set to while on reserve",
      "$ref": "loantype.json"
    },
    "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",
          "$ref": "uuid.json"
        },
        "copyrightStatusObject": {
          "type": "object",
          "description": "The copyright status object",
          "$ref": "copyrightstatus.json"
        },
        "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "courseListingId"
  ]
}
set_role(role: dict)

Create a new role

POST /coursereserves/roles

Parameters

role (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created role item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "name": {
      "type": "string",
      "description": "The name of the role"
    },
    "description": {
      "type": "string",
      "description": "A description of this role"
    },
    "metadata": {
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name"
  ]
}
set_term(term: dict)

Create a new term

POST /coursereserves/terms

Parameters

term (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created term item

Schema

{
  "$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",
      "$ref": "uuid.json"
    },
    "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",
      "$ref": "raml-util/schemas/metadata.schema"
    }
  },
  "required": [
    "name",
    "startDate",
    "endDate"
  ]
}