Koha-clms/api/v1/swagger/paths/libraries.yaml

590 lines
17 KiB
YAML

---
/libraries:
get:
x-mojo-to: Libraries#list
operationId: listLibraries
tags:
- libraries
summary: List libraries
parameters:
- name: name
in: query
description: Case insensitive 'starts-with' search on name
required: false
type: string
- name: address1
in: query
description: Case insensitive 'starts-with' search on address1
required: false
type: string
- name: address2
in: query
description: Case insensitive 'starts-with' search on address2
required: false
type: string
- name: address3
in: query
description: Case insensitive 'starts-with' search on address3
required: false
type: string
- name: postal_code
in: query
description: Case insensitive 'starts-with' search on postal code
required: false
type: string
- name: city
in: query
description: Case insensitive 'starts-with' search on city
required: false
type: string
- name: state
in: query
description: Case insensitive 'starts-with' search on state
required: false
type: string
- name: country
in: query
description: Case insensitive 'starts_with' search on country
required: false
type: string
- name: phone
in: query
description: Case insensitive 'starts_with' search on phone number
required: false
type: string
- name: fax
in: query
description: Case insensitive 'starts_with' search on fax number
required: false
type: string
- name: email
in: query
description: Case insensitive 'starts_with' search on email address
required: false
type: string
- name: reply_to_email
in: query
description: Case insensitive 'starts_with' search on Reply-To email address
required: false
type: string
- name: return_path_email
in: query
description: Case insensitive 'starts_with' search on Return-Path email address
required: false
type: string
- name: url
in: query
description: Case insensitive 'starts_with' search on website URL
required: false
type: string
- name: ip
in: query
description: Case insensitive 'starts_with' search on IP address
required: false
type: string
- name: notes
in: query
description: Case insensitive 'starts_with' search on notes
required: false
type: string
- $ref: "../swagger.yaml#/parameters/match"
- $ref: "../swagger.yaml#/parameters/order_by"
- $ref: "../swagger.yaml#/parameters/page"
- $ref: "../swagger.yaml#/parameters/per_page"
- $ref: "../swagger.yaml#/parameters/q_param"
- $ref: "../swagger.yaml#/parameters/q_body"
- $ref: "../swagger.yaml#/parameters/request_id_header"
- name: x-koha-embed
in: header
required: false
description: Embed list sent as a request header
type: array
items:
type: string
enum:
- cash_registers
- desks
- smtp_server
- library_hours
collectionFormat: csv
produces:
- application/json
responses:
"200":
description: A list of libraries
schema:
type: array
items:
$ref: "../swagger.yaml#/definitions/library"
"400":
description: |
Bad request. Possible `error_code` attribute values:
* `invalid_query`
schema:
$ref: "../swagger.yaml#/definitions/error"
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
"503":
description: Under maintenance
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
catalogue: "1"
post:
x-mojo-to: Libraries#add
operationId: addLibrary
tags:
- libraries
summary: Add library
parameters:
- name: body
in: body
description: A JSON object containing informations about the new library
required: true
schema:
$ref: "../swagger.yaml#/definitions/library"
produces:
- application/json
responses:
"201":
description: Library added
schema:
$ref: "../swagger.yaml#/definitions/library"
"400":
description: Bad request
schema:
$ref: "../swagger.yaml#/definitions/error"
"401":
description: Authentication required
schema:
$ref: "../swagger.yaml#/definitions/error"
"403":
description: Access forbidden
schema:
$ref: "../swagger.yaml#/definitions/error"
"409":
description: Conflict in creating resource
schema:
$ref: "../swagger.yaml#/definitions/error"
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
"503":
description: Under maintenance
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
parameters: manage_libraries
"/libraries/{library_id}":
get:
x-mojo-to: Libraries#get
operationId: getLibrary
tags:
- libraries
summary: Get library
parameters:
- $ref: "../swagger.yaml#/parameters/library_id_pp"
- name: x-koha-embed
in: header
required: false
description: Embed list sent as a request header
type: array
items:
type: string
enum:
- cash_registers
- desks
- smtp_server
- library_hours
collectionFormat: csv
produces:
- application/json
responses:
"200":
description: A library
schema:
$ref: "../swagger.yaml#/definitions/library"
"400":
description: Bad request
schema:
$ref: "../swagger.yaml#/definitions/error"
"404":
description: Library not found
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
catalogue: "1"
put:
x-mojo-to: Libraries#update
operationId: updateLibrary
tags:
- libraries
summary: Update library
parameters:
- $ref: "../swagger.yaml#/parameters/library_id_pp"
- name: body
in: body
description: A JSON object containing information on the library
required: true
schema:
$ref: "../swagger.yaml#/definitions/library"
consumes:
- application/json
produces:
- application/json
responses:
"200":
description: A library
schema:
$ref: "../swagger.yaml#/definitions/library"
"400":
description: Bad request
schema:
$ref: "../swagger.yaml#/definitions/error"
"401":
description: Authentication required
schema:
$ref: "../swagger.yaml#/definitions/error"
"403":
description: Access forbidden
schema:
$ref: "../swagger.yaml#/definitions/error"
"404":
description: Library not found
schema:
$ref: "../swagger.yaml#/definitions/error"
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
"503":
description: Under maintenance
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
parameters: manage_libraries
delete:
x-mojo-to: Libraries#delete
operationId: deleteLibrary
tags:
- libraries
summary: Delete library
parameters:
- $ref: "../swagger.yaml#/parameters/library_id_pp"
produces:
- application/json
responses:
"204":
description: Library deleted
schema:
type: string
"400":
description: Bad request
schema:
$ref: "../swagger.yaml#/definitions/error"
"401":
description: Authentication required
schema:
$ref: "../swagger.yaml#/definitions/error"
"403":
description: Access forbidden
schema:
$ref: "../swagger.yaml#/definitions/error"
"404":
description: Library not found
schema:
$ref: "../swagger.yaml#/definitions/error"
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
"503":
description: Under maintenance
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
parameters: manage_libraries
"/libraries/{library_id}/desks":
get:
x-mojo-to: Libraries#list_desks
operationId: listLibraryDesks
tags:
- desks
summary: List the library's desks
parameters:
- $ref: "../swagger.yaml#/parameters/library_id_pp"
- $ref: "../swagger.yaml#/parameters/match"
- $ref: "../swagger.yaml#/parameters/order_by"
- $ref: "../swagger.yaml#/parameters/page"
- $ref: "../swagger.yaml#/parameters/per_page"
- $ref: "../swagger.yaml#/parameters/q_param"
- $ref: "../swagger.yaml#/parameters/q_body"
- $ref: "../swagger.yaml#/parameters/request_id_header"
produces:
- application/json
responses:
200:
description: A list of desks for the library
schema:
type: array
items:
$ref: "../swagger.yaml#/definitions/desk"
"400":
description: |
Bad request. Possible `error_code` attribute values:
* `invalid_query`
schema:
$ref: "../swagger.yaml#/definitions/error"
404:
description: Resource not found
schema:
$ref: "../swagger.yaml#/definitions/error"
500:
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
503:
description: Under maintenance
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
catalogue: 1
"/libraries/{library_id}/cash_registers":
get:
x-mojo-to: Libraries#list_cash_registers
operationId: listLibraryCashRegisters
tags:
- cash_registers
summary: List the library's cash registers
parameters:
- $ref: "../swagger.yaml#/parameters/library_id_pp"
- $ref: "../swagger.yaml#/parameters/match"
- $ref: "../swagger.yaml#/parameters/order_by"
- $ref: "../swagger.yaml#/parameters/page"
- $ref: "../swagger.yaml#/parameters/per_page"
- $ref: "../swagger.yaml#/parameters/q_param"
- $ref: "../swagger.yaml#/parameters/q_body"
- $ref: "../swagger.yaml#/parameters/request_id_header"
produces:
- application/json
responses:
200:
description: A list of cash registers for the library
schema:
type: array
items:
$ref: "../swagger.yaml#/definitions/cash_register"
"400":
description: |
Bad request. Possible `error_code` attribute values:
* `invalid_query`
schema:
$ref: "../swagger.yaml#/definitions/error"
404:
description: Resource not found
schema:
$ref: "../swagger.yaml#/definitions/error"
500:
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
503:
description: Under maintenance
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
catalogue: 1
"/libraries/{library_id}/closed_dates":
get:
x-mojo-to: Libraries#list_closed_dates
operationId: listLibraryClosedDates
tags:
- libraries
summary: List closed dates for a library
description: |
Returns a list of dates on which the library is closed within the
given range. Accounts for weekly closures, repeating annual closures,
single closures, and exceptions.
The date range cannot exceed 365 days.
parameters:
- $ref: "../swagger.yaml#/parameters/library_id_pp"
- name: from
in: query
description: Start date (ISO 8601). Defaults to today.
required: false
type: string
format: date
- name: to
in: query
description: End date (ISO 8601). Defaults to 3 months from 'from'. Max range 365 days.
required: false
type: string
format: date
- $ref: "../swagger.yaml#/parameters/request_id_header"
produces:
- application/json
responses:
"200":
description: A list of closed dates in YYYY-MM-DD format
schema:
type: array
items:
type: string
format: date
"400":
description: |
Bad request. Possible `error_code` attribute values:
* `invalid_date_range` - 'to' date is before 'from' date
* `date_range_too_large` - Date range exceeds 365 days
schema:
$ref: "../swagger.yaml#/definitions/error"
"401":
description: Authentication required
schema:
$ref: "../swagger.yaml#/definitions/error"
"403":
description: Access forbidden
schema:
$ref: "../swagger.yaml#/definitions/error"
"404":
description: Library not found
schema:
$ref: "../swagger.yaml#/definitions/error"
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
"503":
description: Under maintenance
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
catalogue: "1"
/public/libraries:
get:
x-mojo-to: Libraries#list
operationId: listLibrariesPublic
tags:
- libraries
summary: List libraries
parameters:
- $ref: "../swagger.yaml#/parameters/match"
- $ref: "../swagger.yaml#/parameters/order_by"
- $ref: "../swagger.yaml#/parameters/page"
- $ref: "../swagger.yaml#/parameters/per_page"
- $ref: "../swagger.yaml#/parameters/q_param"
- $ref: "../swagger.yaml#/parameters/q_body"
- $ref: "../swagger.yaml#/parameters/request_id_header"
produces:
- application/json
responses:
"200":
description: A list of libraries
schema:
type: array
items:
$ref: "../swagger.yaml#/definitions/library"
"400":
description: |
Bad request. Possible `error_code` attribute values:
* `invalid_query`
schema:
$ref: "../swagger.yaml#/definitions/error"
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
"503":
description: Under maintenance
schema:
$ref: "../swagger.yaml#/definitions/error"
"/public/libraries/{library_id}":
get:
x-mojo-to: Libraries#get
operationId: getLibraryPublic
tags:
- libraries
summary: Get library (public)
parameters:
- $ref: "../swagger.yaml#/parameters/library_id_pp"
produces:
- application/json
responses:
"200":
description: A library
"400":
description: Bad request
schema:
$ref: "../swagger.yaml#/definitions/error"
"401":
description: Authentication required
schema:
$ref: "../swagger.yaml#/definitions/error"
"403":
description: Access forbidden
schema:
$ref: "../swagger.yaml#/definitions/error"
"404":
description: Library not found
schema:
$ref: "../swagger.yaml#/definitions/error"
"406":
description: Not acceptable
schema:
type: array
description: Accepted content-types
items:
type: string
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
"503":
description: Under maintenance
schema:
$ref: "../swagger.yaml#/definitions/error"