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 - circulate: manage_bookings
408 "/biblios/{biblio_id}/items":
410 x-mojo-to: Biblios#get_items
411 operationId: getBiblioItems
414 summary: Get items for a biblio
416 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
420 description: Embed list sent as a request header
436 - course_item.course_reserves.course
438 - item_group_item.item_group.description
440 collectionFormat: csv
441 - $ref: "../swagger.yaml#/parameters/match"
442 - $ref: "../swagger.yaml#/parameters/order_by"
443 - $ref: "../swagger.yaml#/parameters/page"
444 - $ref: "../swagger.yaml#/parameters/per_page"
445 - $ref: "../swagger.yaml#/parameters/q_param"
446 - $ref: "../swagger.yaml#/parameters/q_body"
447 - $ref: "../swagger.yaml#/parameters/request_id_header"
450 description: Limit to items that are bookable
459 description: A list of the items attached to the record
463 $ref: "../swagger.yaml#/definitions/item"
465 description: Authentication required
467 $ref: "../swagger.yaml#/definitions/error"
469 description: Access forbidden
471 $ref: "../swagger.yaml#/definitions/error"
473 description: Biblio not found
475 $ref: "../swagger.yaml#/definitions/error"
477 description: Not acceptable
480 description: Accepted content-types
485 Internal server error. Possible `error_code` attribute values:
487 * `internal_server_error`
489 $ref: "../swagger.yaml#/definitions/error"
491 description: Under maintenance
493 $ref: "../swagger.yaml#/definitions/error"
494 x-koha-authorization:
498 x-mojo-to: Biblios#add_item
499 operationId: addBiblioItem
502 summary: Add an item for a biblio
504 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
507 description: A JSON object containing information about the new item
510 $ref: "../swagger.yaml#/definitions/item"
515 description: Item added
517 $ref: "../swagger.yaml#/definitions/item"
519 description: Bad request
521 $ref: "../swagger.yaml#/definitions/error"
523 description: Authentication required
525 $ref: "../swagger.yaml#/definitions/error"
527 description: Access forbidden
529 $ref: "../swagger.yaml#/definitions/error"
531 description: Not found
533 $ref: "../swagger.yaml#/definitions/error"
535 description: Conflict
537 $ref: "../swagger.yaml#/definitions/error"
540 Internal server error. Possible `error_code` attribute values:
542 * `internal_server_error`
544 $ref: "../swagger.yaml#/definitions/error"
546 description: Under maintenance
548 $ref: "../swagger.yaml#/definitions/error"
549 x-koha-authorization:
551 editcatalogue: edit_catalogue
552 "/biblios/{biblio_id}/items/{item_id}":
554 x-mojo-to: Biblios#update_item
555 operationId: updateBiblioItem
558 summary: Update an item for a biblio
560 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
561 - $ref: "../swagger.yaml#/parameters/item_id_pp"
564 description: A JSON object containing information about the item
567 $ref: "../swagger.yaml#/definitions/item"
572 description: Item updated
574 $ref: "../swagger.yaml#/definitions/item"
576 description: Bad request
578 $ref: "../swagger.yaml#/definitions/error"
580 description: Authentication required
582 $ref: "../swagger.yaml#/definitions/error"
584 description: Access forbidden
586 $ref: "../swagger.yaml#/definitions/error"
588 description: Not found
590 $ref: "../swagger.yaml#/definitions/error"
592 description: Conflict
594 $ref: "../swagger.yaml#/definitions/error"
597 Internal server error. Possible `error_code` attribute values:
599 * `internal_server_error`
601 $ref: "../swagger.yaml#/definitions/error"
603 description: Under maintenance
605 $ref: "../swagger.yaml#/definitions/error"
606 x-koha-authorization:
608 editcatalogue: edit_catalogue
609 "/biblios/{biblio_id}/pickup_locations":
611 x-mojo-to: Biblios#pickup_locations
612 operationId: getBiblioPickupLocations
615 summary: Get valid pickup locations for a biblio
617 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
620 description: Internal patron identifier
623 - $ref: "../swagger.yaml#/parameters/match"
624 - $ref: "../swagger.yaml#/parameters/order_by"
625 - $ref: "../swagger.yaml#/parameters/page"
626 - $ref: "../swagger.yaml#/parameters/per_page"
627 - $ref: "../swagger.yaml#/parameters/q_param"
628 - $ref: "../swagger.yaml#/parameters/q_body"
635 description: Biblio pickup locations
639 $ref: "../swagger.yaml#/definitions/library"
641 description: Missing or wrong parameters
643 $ref: "../swagger.yaml#/definitions/error"
645 description: Authentication required
647 $ref: "../swagger.yaml#/definitions/error"
649 description: Access forbidden
651 $ref: "../swagger.yaml#/definitions/error"
653 description: Biblio not found
655 $ref: "../swagger.yaml#/definitions/error"
658 Internal server error. Possible `error_code` attribute values:
660 * `internal_server_error`
662 $ref: "../swagger.yaml#/definitions/error"
664 description: Under maintenance
666 $ref: "../swagger.yaml#/definitions/error"
667 x-koha-authorization:
669 reserveforothers: place_holds
670 "/public/biblios/{biblio_id}":
672 x-mojo-to: Biblios#get_public
673 operationId: getBiblioPublic
676 summary: Get biblio (public)
678 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
680 - application/marcxml+xml
681 - application/marc-in-json
686 description: A biblio
688 description: Authentication required
690 $ref: "../swagger.yaml#/definitions/error"
692 description: Access forbidden
694 $ref: "../swagger.yaml#/definitions/error"
696 description: Biblio not found
698 $ref: "../swagger.yaml#/definitions/error"
700 description: Not acceptable
703 description: Accepted content-types
708 Internal server error. Possible `error_code` attribute values:
710 * `internal_server_error`
712 $ref: "../swagger.yaml#/definitions/error"
714 description: Under maintenance
716 $ref: "../swagger.yaml#/definitions/error"
717 "/public/biblios/{biblio_id}/items":
719 x-mojo-to: Biblios#get_items_public
720 operationId: getBiblioItemsPublic
725 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
726 - $ref: "../swagger.yaml#/parameters/match"
727 - $ref: "../swagger.yaml#/parameters/order_by"
728 - $ref: "../swagger.yaml#/parameters/page"
729 - $ref: "../swagger.yaml#/parameters/per_page"
730 - $ref: "../swagger.yaml#/parameters/q_param"
731 - $ref: "../swagger.yaml#/parameters/q_body"
735 description: Embed list sent as a request header
741 collectionFormat: csv
748 description: A list of the items attached to the record
752 $ref: "../swagger.yaml#/definitions/item"
754 description: Authentication required
756 $ref: "../swagger.yaml#/definitions/error"
758 description: Access forbidden
760 $ref: "../swagger.yaml#/definitions/error"
762 description: Biblio not found
764 $ref: "../swagger.yaml#/definitions/error"
766 description: Not acceptable
769 description: Accepted content-types
774 Internal server error. Possible `error_code` attribute values:
776 * `internal_server_error`
778 $ref: "../swagger.yaml#/definitions/error"
780 description: Under maintenance
782 $ref: "../swagger.yaml#/definitions/error"
783 "/public/biblios/{biblio_id}/ratings":
785 x-mojo-to: Biblios#set_rating
786 operationId: setBiblioRating
789 summary: set biblio rating (public)
791 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
794 description: A JSON object containing rating information
799 description: the rating
805 additionalProperties: false
810 description: Rating set
815 description: user's rating
820 description: average rating
823 description: number of ratings
825 additionalProperties: false
827 description: Authentication required
829 $ref: "../swagger.yaml#/definitions/error"
831 description: Access forbidden
833 $ref: "../swagger.yaml#/definitions/error"
835 description: Biblio not found
837 $ref: "../swagger.yaml#/definitions/error"
840 Internal server error. Possible `error_code` attribute values:
842 * `internal_server_error`
844 $ref: "../swagger.yaml#/definitions/error"
846 description: Under maintenance
848 $ref: "../swagger.yaml#/definitions/error"