Taylor's University holds API

Holds (reservations)

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

taylors-holds-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Taylor's Library Koha REST checkouts holds API
  description: OpenAPI 3.0 description of the Taylor's University Library catalog REST API, served by the open-source Koha integrated library system under /api/v1. This document was converted to OpenAPI 3.0 from the live, publicly retrievable Swagger 2.0 definition at https://librarycatalogue.taylors.edu.my/api/v1/. Only resources whose object schemas were confirmed present in the live definition (patron, checkout, hold, item, library, item_type) are described here. Collection and resource endpoints require authentication (HTTP 401 is returned to anonymous clients); the specification document itself is public.
  version: v1
  contact:
    name: Taylor's University Library
    url: https://librarycatalogue.taylors.edu.my/
servers:
- url: https://librarycatalogue.taylors.edu.my/api/v1
  description: Taylor's Library Koha REST API (basePath /api/v1)
security:
- basicAuth: []
- oauth2ClientCredentials: []
tags:
- name: holds
  description: Holds (reservations)
paths:
  /holds:
    get:
      tags:
      - holds
      operationId: listHolds
      summary: List holds
      responses:
        '200':
          description: A list of holds
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/hold'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /holds/{hold_id}:
    parameters:
    - name: hold_id
      in: path
      required: true
      schema:
        type: integer
    get:
      tags:
      - holds
      operationId: getHold
      summary: Get hold
      responses:
        '200':
          description: A hold
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/hold'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
  schemas:
    hold:
      type: object
      additionalProperties: false
      properties:
        hold_id:
          type: integer
          description: Internal hold identifier
        patron_id:
          type: integer
          description: Internal patron identifier
        biblio_id:
          type: integer
          nullable: true
          description: Internal biblio identifier
        item_id:
          type: integer
          nullable: true
          description: Internal item identifier
        item_type_id:
          type: string
          nullable: true
          description: If record level hold, the optional itemtype of the requested item
        pickup_library_id:
          type: string
          nullable: true
          description: Internal library identifier for the pickup library
        hold_date:
          type: string
          format: date
          nullable: true
          description: The date the hold was placed
        expiration_date:
          type: string
          format: date
          nullable: true
          description: The date the hold expires
        cancellation_date:
          type: string
          format: date
          nullable: true
          description: The date the hold was cancelled
        cancellation_reason:
          type: string
          nullable: true
          description: The reason the hold was cancelled
        waiting_date:
          type: string
          format: date
          nullable: true
          description: The date the item was marked as waiting at the library
        priority:
          type: integer
          nullable: true
          description: Where in the queue the patron sits
        status:
          type: string
          nullable: true
          description: A one letter code defining the status of the hold after confirmation
        item_level:
          type: boolean
          description: If the hold is placed at item level
        suspended:
          type: boolean
          description: Controls if the hold is suspended
        suspended_until:
          type: string
          format: date-time
          nullable: true
          description: Date until which the hold has been suspended
        non_priority:
          type: boolean
          description: Set this hold as non priority
        lowest_priority:
          type: boolean
          description: Controls if the hold is given the lowest priority on the queue
        notes:
          type: string
          nullable: true
          description: Notes related to this hold
        timestamp:
          type: string
          format: date-time
          description: Timestamp for the latest hold update
    error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        error_code:
          type: string
          description: Error code
      required:
      - error
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    oauth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://librarycatalogue.taylors.edu.my/api/v1/oauth/token
          scopes: {}