10 Add a bibliographic record to Koha. An optional `x-framework-id`
11 may be passed to specify the cataloguing framework to be used (instead
14 The request body is expected to contain a MARC record in the format specified in
15 the `Content-type` header you pass. Possible values for this header and the corresponding
16 record formats expected are listed below:
18 * application/marcxml+xml: MARCXML
19 * application/marc-in-json: MARC-in-JSON
20 * application/marc: Raw USMARC binary data
22 - $ref: "../swagger.yaml#/parameters/framework_id_header"
23 - $ref: "../swagger.yaml#/parameters/marc_schema_header"
24 - $ref: "../swagger.yaml#/parameters/confirm_not_duplicate_header"
31 description: Bad request
33 $ref: "../swagger.yaml#/definitions/error"
35 description: Authentication required
37 $ref: "../swagger.yaml#/definitions/error"
39 description: Access forbidden
41 $ref: "../swagger.yaml#/definitions/error"
43 description: Not acceptable
46 description: Accepted content-types
51 Internal server error. Possible `error_code` attribute values:
53 * `internal_server_error`
55 $ref: "../swagger.yaml#/definitions/error"
57 description: Under maintenance
59 $ref: "../swagger.yaml#/definitions/error"
62 editcatalogue: edit_catalogue
64 x-mojo-to: Biblios#list
65 operationId: listBiblio
70 - $ref: "../swagger.yaml#/parameters/page"
71 - $ref: "../swagger.yaml#/parameters/per_page"
72 - $ref: "../swagger.yaml#/parameters/match"
73 - $ref: "../swagger.yaml#/parameters/order_by"
74 - $ref: "../swagger.yaml#/parameters/q_param"
75 - $ref: "../swagger.yaml#/parameters/q_body"
76 - $ref: "../swagger.yaml#/parameters/request_id_header"
79 - application/marcxml+xml
80 - application/marc-in-json
85 description: A list of biblios
87 description: Authentication required
89 $ref: "../swagger.yaml#/definitions/error"
91 description: Access forbidden
93 $ref: "../swagger.yaml#/definitions/error"
95 description: Biblio not found
97 $ref: "../swagger.yaml#/definitions/error"
99 description: Not acceptable
102 description: Accepted content-types
107 Internal server error. Possible `error_code` attribute values:
109 * `internal_server_error`
111 $ref: "../swagger.yaml#/definitions/error"
113 description: Under maintenance
115 $ref: "../swagger.yaml#/definitions/error"
116 x-koha-authorization:
119 "/biblios/{biblio_id}":
121 x-mojo-to: Biblios#get
122 operationId: getBiblio
127 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
130 - application/marcxml+xml
131 - application/marc-in-json
136 description: A biblio
138 description: Authentication required
140 $ref: "../swagger.yaml#/definitions/error"
142 description: Access forbidden
144 $ref: "../swagger.yaml#/definitions/error"
146 description: Biblio not found
148 $ref: "../swagger.yaml#/definitions/error"
150 description: Not acceptable
153 description: Accepted content-types
158 Internal server error. Possible `error_code` attribute values:
160 * `internal_server_error`
162 $ref: "../swagger.yaml#/definitions/error"
164 description: Under maintenance
166 $ref: "../swagger.yaml#/definitions/error"
167 x-koha-authorization:
171 x-mojo-to: Biblios#delete
172 operationId: deleteBiblio
175 summary: Delete biblio
177 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
182 description: Biblio deleted
186 description: Authentication required
188 $ref: "../swagger.yaml#/definitions/error"
190 description: Access forbidden
192 $ref: "../swagger.yaml#/definitions/error"
194 description: Biblio not found
196 $ref: "../swagger.yaml#/definitions/error"
198 description: Unable to perform action on biblio
200 $ref: "../swagger.yaml#/definitions/error"
202 description: Internal error
204 $ref: "../swagger.yaml#/definitions/error"
206 description: Under maintenance
208 $ref: "../swagger.yaml#/definitions/error"
209 x-koha-authorization:
211 editcatalogue: edit_catalogue
213 x-mojo-to: Biblios#update
214 operationId: updateBiblio
217 summary: Update biblio
219 Updates a bibliographic record to Koha. An optional `x-framework-id`
220 may be passed, to specify the cataloguing framework to be used (instead
223 The request body is expected to contain a MARC record in the format specified by
224 the `Content-type` header passed. Possible values for this headers and the corresponding
225 record formats expected are listed below:
227 * application/marcxml+xml: MARCXML
228 * application/marc-in-json: MARC-in-JSON
229 * application/marc: Raw USMARC binary data
231 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
232 - $ref: "../swagger.yaml#/parameters/framework_id_header"
233 - $ref: "../swagger.yaml#/parameters/marc_schema_header"
234 - $ref: "../swagger.yaml#/parameters/confirm_not_duplicate_header"
239 description: A biblio
241 description: Bad request
243 $ref: "../swagger.yaml#/definitions/error"
245 description: Authentication required
247 $ref: "../swagger.yaml#/definitions/error"
249 description: Access forbidden
251 $ref: "../swagger.yaml#/definitions/error"
253 description: Biblio not found
255 $ref: "../swagger.yaml#/definitions/error"
257 description: Not acceptable
260 description: Accepted content-types
265 Internal server error. Possible `error_code` attribute values:
267 * `internal_server_error`
269 $ref: "../swagger.yaml#/definitions/error"
271 description: Under maintenance
273 $ref: "../swagger.yaml#/definitions/error"
274 x-koha-authorization:
276 editcatalogue: edit_catalogue
277 "/biblios/{biblio_id}/bookings":
279 x-mojo-to: Biblios#get_bookings
280 operationId: getBiblioBookings
283 summary: Get bookings for a biblio
285 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
286 - $ref: "../swagger.yaml#/parameters/match"
287 - $ref: "../swagger.yaml#/parameters/order_by"
288 - $ref: "../swagger.yaml#/parameters/page"
289 - $ref: "../swagger.yaml#/parameters/per_page"
290 - $ref: "../swagger.yaml#/parameters/q_param"
291 - $ref: "../swagger.yaml#/parameters/q_body"
295 description: Embed list sent as a request header
302 collectionFormat: csv
309 description: A list of the bookings attached to the record
313 $ref: ../swagger.yaml#/definitions/booking
315 description: Authentication required
317 $ref: ../swagger.yaml#/definitions/error
319 description: Access forbidden
321 $ref: ../swagger.yaml#/definitions/error
323 description: Biblio not found
325 $ref: ../swagger.yaml#/definitions/error
327 description: Not acceptable
330 description: Accepted content-types
334 description: Internal server error
336 $ref: ../swagger.yaml#/definitions/error
338 description: Under maintenance
340 $ref: ../swagger.yaml#/definitions/error
341 x-koha-authorization:
343 circulate: "manage_bookings"
344 "/biblios/{biblio_id}/checkouts":
346 x-mojo-to: Biblios#get_checkouts
347 operationId: listBiblioCheckouts
350 summary: List checkouts for a biblio
352 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
353 - $ref: "../swagger.yaml#/parameters/page"
354 - $ref: "../swagger.yaml#/parameters/per_page"
355 - $ref: "../swagger.yaml#/parameters/match"
356 - $ref: "../swagger.yaml#/parameters/order_by"
357 - $ref: "../swagger.yaml#/parameters/q_param"
358 - $ref: "../swagger.yaml#/parameters/q_body"
359 - $ref: "../swagger.yaml#/parameters/request_id_header"
363 description: Embed list sent as a request header
372 collectionFormat: csv
375 description: By default, current checkouts are returned, when this is true then
376 checked in checkouts are returned as result.
382 description: A list of checkouts
384 $ref: "../swagger.yaml#/definitions/checkouts"
386 description: Access forbidden
388 $ref: "../swagger.yaml#/definitions/error"
390 description: Biblio not found
392 $ref: "../swagger.yaml#/definitions/error"
395 Internal server error. Possible `error_code` attribute values:
397 * `internal_server_error`
399 $ref: "../swagger.yaml#/definitions/error"
401 description: Under maintenance
403 $ref: "../swagger.yaml#/definitions/error"
404 x-koha-authorization:
406 circulate: circulate_remaining_permissions
407 "/biblios/{biblio_id}/items":
409 x-mojo-to: Biblios#get_items
410 operationId: getBiblioItems
413 summary: Get items for a biblio
415 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
419 description: Embed list sent as a request header
425 collectionFormat: csv
426 - $ref: "../swagger.yaml#/parameters/match"
427 - $ref: "../swagger.yaml#/parameters/order_by"
428 - $ref: "../swagger.yaml#/parameters/page"
429 - $ref: "../swagger.yaml#/parameters/per_page"
430 - $ref: "../swagger.yaml#/parameters/q_param"
431 - $ref: "../swagger.yaml#/parameters/q_body"
432 - $ref: "../swagger.yaml#/parameters/request_id_header"
435 description: Limit to items that are bookable
444 description: A list of the items attached to the record
448 $ref: "../swagger.yaml#/definitions/item"
450 description: Authentication required
452 $ref: "../swagger.yaml#/definitions/error"
454 description: Access forbidden
456 $ref: "../swagger.yaml#/definitions/error"
458 description: Biblio not found
460 $ref: "../swagger.yaml#/definitions/error"
462 description: Not acceptable
465 description: Accepted content-types
470 Internal server error. Possible `error_code` attribute values:
472 * `internal_server_error`
474 $ref: "../swagger.yaml#/definitions/error"
476 description: Under maintenance
478 $ref: "../swagger.yaml#/definitions/error"
479 x-koha-authorization:
483 x-mojo-to: Biblios#add_item
484 operationId: addBiblioItem
487 summary: Add an item for a biblio
489 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
492 description: A JSON object containing information about the new item
495 $ref: "../swagger.yaml#/definitions/item"
500 description: Item added
502 $ref: "../swagger.yaml#/definitions/item"
504 description: Bad request
506 $ref: "../swagger.yaml#/definitions/error"
508 description: Authentication required
510 $ref: "../swagger.yaml#/definitions/error"
512 description: Access forbidden
514 $ref: "../swagger.yaml#/definitions/error"
516 description: Not found
518 $ref: "../swagger.yaml#/definitions/error"
520 description: Conflict
522 $ref: "../swagger.yaml#/definitions/error"
525 Internal server error. Possible `error_code` attribute values:
527 * `internal_server_error`
529 $ref: "../swagger.yaml#/definitions/error"
531 description: Under maintenance
533 $ref: "../swagger.yaml#/definitions/error"
534 x-koha-authorization:
536 editcatalogue: edit_catalogue
537 "/biblios/{biblio_id}/items/{item_id}":
539 x-mojo-to: Biblios#update_item
540 operationId: updateBiblioItem
543 summary: Update an item for a biblio
545 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
546 - $ref: "../swagger.yaml#/parameters/item_id_pp"
549 description: A JSON object containing information about the item
552 $ref: "../swagger.yaml#/definitions/item"
557 description: Item updated
559 $ref: "../swagger.yaml#/definitions/item"
561 description: Bad request
563 $ref: "../swagger.yaml#/definitions/error"
565 description: Authentication required
567 $ref: "../swagger.yaml#/definitions/error"
569 description: Access forbidden
571 $ref: "../swagger.yaml#/definitions/error"
573 description: Not found
575 $ref: "../swagger.yaml#/definitions/error"
577 description: Conflict
579 $ref: "../swagger.yaml#/definitions/error"
582 Internal server error. Possible `error_code` attribute values:
584 * `internal_server_error`
586 $ref: "../swagger.yaml#/definitions/error"
588 description: Under maintenance
590 $ref: "../swagger.yaml#/definitions/error"
591 x-koha-authorization:
593 editcatalogue: edit_catalogue
594 "/biblios/{biblio_id}/pickup_locations":
596 x-mojo-to: Biblios#pickup_locations
597 operationId: getBiblioPickupLocations
600 summary: Get valid pickup locations for a biblio
602 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
605 description: Internal patron identifier
608 - $ref: "../swagger.yaml#/parameters/match"
609 - $ref: "../swagger.yaml#/parameters/order_by"
610 - $ref: "../swagger.yaml#/parameters/page"
611 - $ref: "../swagger.yaml#/parameters/per_page"
612 - $ref: "../swagger.yaml#/parameters/q_param"
613 - $ref: "../swagger.yaml#/parameters/q_body"
620 description: Biblio pickup locations
624 $ref: "../swagger.yaml#/definitions/library"
626 description: Missing or wrong parameters
628 $ref: "../swagger.yaml#/definitions/error"
630 description: Authentication required
632 $ref: "../swagger.yaml#/definitions/error"
634 description: Access forbidden
636 $ref: "../swagger.yaml#/definitions/error"
638 description: Biblio not found
640 $ref: "../swagger.yaml#/definitions/error"
643 Internal server error. Possible `error_code` attribute values:
645 * `internal_server_error`
647 $ref: "../swagger.yaml#/definitions/error"
649 description: Under maintenance
651 $ref: "../swagger.yaml#/definitions/error"
652 x-koha-authorization:
654 reserveforothers: place_holds
655 "/public/biblios/{biblio_id}":
657 x-mojo-to: Biblios#get_public
658 operationId: getBiblioPublic
661 summary: Get biblio (public)
663 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
665 - application/marcxml+xml
666 - application/marc-in-json
671 description: A biblio
673 description: Authentication required
675 $ref: "../swagger.yaml#/definitions/error"
677 description: Access forbidden
679 $ref: "../swagger.yaml#/definitions/error"
681 description: Biblio not found
683 $ref: "../swagger.yaml#/definitions/error"
685 description: Not acceptable
688 description: Accepted content-types
693 Internal server error. Possible `error_code` attribute values:
695 * `internal_server_error`
697 $ref: "../swagger.yaml#/definitions/error"
699 description: Under maintenance
701 $ref: "../swagger.yaml#/definitions/error"
702 "/public/biblios/{biblio_id}/items":
704 x-mojo-to: Biblios#get_items_public
705 operationId: getBiblioItemsPublic
710 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
711 - $ref: "../swagger.yaml#/parameters/match"
712 - $ref: "../swagger.yaml#/parameters/order_by"
713 - $ref: "../swagger.yaml#/parameters/page"
714 - $ref: "../swagger.yaml#/parameters/per_page"
715 - $ref: "../swagger.yaml#/parameters/q_param"
716 - $ref: "../swagger.yaml#/parameters/q_body"
720 description: Embed list sent as a request header
726 collectionFormat: csv
733 description: A list of the items attached to the record
737 $ref: "../swagger.yaml#/definitions/item"
739 description: Authentication required
741 $ref: "../swagger.yaml#/definitions/error"
743 description: Access forbidden
745 $ref: "../swagger.yaml#/definitions/error"
747 description: Biblio not found
749 $ref: "../swagger.yaml#/definitions/error"
751 description: Not acceptable
754 description: Accepted content-types
759 Internal server error. Possible `error_code` attribute values:
761 * `internal_server_error`
763 $ref: "../swagger.yaml#/definitions/error"
765 description: Under maintenance
767 $ref: "../swagger.yaml#/definitions/error"
768 "/public/biblios/{biblio_id}/ratings":
770 x-mojo-to: Biblios#set_rating
771 operationId: setBiblioRating
774 summary: set biblio rating (public)
776 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
779 description: A JSON object containing rating information
784 description: the rating
790 additionalProperties: false
795 description: Rating set
800 description: user's rating
805 description: average rating
808 description: number of ratings
810 additionalProperties: false
812 description: Authentication required
814 $ref: "../swagger.yaml#/definitions/error"
816 description: Access forbidden
818 $ref: "../swagger.yaml#/definitions/error"
820 description: Biblio not found
822 $ref: "../swagger.yaml#/definitions/error"
825 Internal server error. Possible `error_code` attribute values:
827 * `internal_server_error`
829 $ref: "../swagger.yaml#/definitions/error"
831 description: Under maintenance
833 $ref: "../swagger.yaml#/definitions/error"