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
437 - item_group_item.item_group.description
439 collectionFormat: csv
440 - $ref: "../swagger.yaml#/parameters/match"
441 - $ref: "../swagger.yaml#/parameters/order_by"
442 - $ref: "../swagger.yaml#/parameters/page"
443 - $ref: "../swagger.yaml#/parameters/per_page"
444 - $ref: "../swagger.yaml#/parameters/q_param"
445 - $ref: "../swagger.yaml#/parameters/q_body"
446 - $ref: "../swagger.yaml#/parameters/request_id_header"
449 description: Limit to items that are bookable
458 description: A list of the items attached to the record
462 $ref: "../swagger.yaml#/definitions/item"
464 description: Authentication required
466 $ref: "../swagger.yaml#/definitions/error"
468 description: Access forbidden
470 $ref: "../swagger.yaml#/definitions/error"
472 description: Biblio not found
474 $ref: "../swagger.yaml#/definitions/error"
476 description: Not acceptable
479 description: Accepted content-types
484 Internal server error. Possible `error_code` attribute values:
486 * `internal_server_error`
488 $ref: "../swagger.yaml#/definitions/error"
490 description: Under maintenance
492 $ref: "../swagger.yaml#/definitions/error"
493 x-koha-authorization:
497 x-mojo-to: Biblios#add_item
498 operationId: addBiblioItem
501 summary: Add an item for a biblio
503 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
506 description: A JSON object containing information about the new item
509 $ref: "../swagger.yaml#/definitions/item"
514 description: Item added
516 $ref: "../swagger.yaml#/definitions/item"
518 description: Bad request
520 $ref: "../swagger.yaml#/definitions/error"
522 description: Authentication required
524 $ref: "../swagger.yaml#/definitions/error"
526 description: Access forbidden
528 $ref: "../swagger.yaml#/definitions/error"
530 description: Not found
532 $ref: "../swagger.yaml#/definitions/error"
534 description: Conflict
536 $ref: "../swagger.yaml#/definitions/error"
539 Internal server error. Possible `error_code` attribute values:
541 * `internal_server_error`
543 $ref: "../swagger.yaml#/definitions/error"
545 description: Under maintenance
547 $ref: "../swagger.yaml#/definitions/error"
548 x-koha-authorization:
550 editcatalogue: edit_catalogue
551 "/biblios/{biblio_id}/items/{item_id}":
553 x-mojo-to: Biblios#update_item
554 operationId: updateBiblioItem
557 summary: Update an item for a biblio
559 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
560 - $ref: "../swagger.yaml#/parameters/item_id_pp"
563 description: A JSON object containing information about the item
566 $ref: "../swagger.yaml#/definitions/item"
571 description: Item updated
573 $ref: "../swagger.yaml#/definitions/item"
575 description: Bad request
577 $ref: "../swagger.yaml#/definitions/error"
579 description: Authentication required
581 $ref: "../swagger.yaml#/definitions/error"
583 description: Access forbidden
585 $ref: "../swagger.yaml#/definitions/error"
587 description: Not found
589 $ref: "../swagger.yaml#/definitions/error"
591 description: Conflict
593 $ref: "../swagger.yaml#/definitions/error"
596 Internal server error. Possible `error_code` attribute values:
598 * `internal_server_error`
600 $ref: "../swagger.yaml#/definitions/error"
602 description: Under maintenance
604 $ref: "../swagger.yaml#/definitions/error"
605 x-koha-authorization:
607 editcatalogue: edit_catalogue
608 "/biblios/{biblio_id}/pickup_locations":
610 x-mojo-to: Biblios#pickup_locations
611 operationId: getBiblioPickupLocations
614 summary: Get valid pickup locations for a biblio
616 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
619 description: Internal patron identifier
622 - $ref: "../swagger.yaml#/parameters/match"
623 - $ref: "../swagger.yaml#/parameters/order_by"
624 - $ref: "../swagger.yaml#/parameters/page"
625 - $ref: "../swagger.yaml#/parameters/per_page"
626 - $ref: "../swagger.yaml#/parameters/q_param"
627 - $ref: "../swagger.yaml#/parameters/q_body"
634 description: Biblio pickup locations
638 $ref: "../swagger.yaml#/definitions/library"
640 description: Missing or wrong parameters
642 $ref: "../swagger.yaml#/definitions/error"
644 description: Authentication required
646 $ref: "../swagger.yaml#/definitions/error"
648 description: Access forbidden
650 $ref: "../swagger.yaml#/definitions/error"
652 description: Biblio not found
654 $ref: "../swagger.yaml#/definitions/error"
657 Internal server error. Possible `error_code` attribute values:
659 * `internal_server_error`
661 $ref: "../swagger.yaml#/definitions/error"
663 description: Under maintenance
665 $ref: "../swagger.yaml#/definitions/error"
666 x-koha-authorization:
668 reserveforothers: place_holds
669 "/public/biblios/{biblio_id}":
671 x-mojo-to: Biblios#get_public
672 operationId: getBiblioPublic
675 summary: Get biblio (public)
677 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
679 - application/marcxml+xml
680 - application/marc-in-json
685 description: A biblio
687 description: Authentication required
689 $ref: "../swagger.yaml#/definitions/error"
691 description: Access forbidden
693 $ref: "../swagger.yaml#/definitions/error"
695 description: Biblio not found
697 $ref: "../swagger.yaml#/definitions/error"
699 description: Not acceptable
702 description: Accepted content-types
707 Internal server error. Possible `error_code` attribute values:
709 * `internal_server_error`
711 $ref: "../swagger.yaml#/definitions/error"
713 description: Under maintenance
715 $ref: "../swagger.yaml#/definitions/error"
716 "/public/biblios/{biblio_id}/items":
718 x-mojo-to: Biblios#get_items_public
719 operationId: getBiblioItemsPublic
724 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
725 - $ref: "../swagger.yaml#/parameters/match"
726 - $ref: "../swagger.yaml#/parameters/order_by"
727 - $ref: "../swagger.yaml#/parameters/page"
728 - $ref: "../swagger.yaml#/parameters/per_page"
729 - $ref: "../swagger.yaml#/parameters/q_param"
730 - $ref: "../swagger.yaml#/parameters/q_body"
734 description: Embed list sent as a request header
740 collectionFormat: csv
747 description: A list of the items attached to the record
751 $ref: "../swagger.yaml#/definitions/item"
753 description: Authentication required
755 $ref: "../swagger.yaml#/definitions/error"
757 description: Access forbidden
759 $ref: "../swagger.yaml#/definitions/error"
761 description: Biblio not found
763 $ref: "../swagger.yaml#/definitions/error"
765 description: Not acceptable
768 description: Accepted content-types
773 Internal server error. Possible `error_code` attribute values:
775 * `internal_server_error`
777 $ref: "../swagger.yaml#/definitions/error"
779 description: Under maintenance
781 $ref: "../swagger.yaml#/definitions/error"
782 "/public/biblios/{biblio_id}/ratings":
784 x-mojo-to: Biblios#set_rating
785 operationId: setBiblioRating
788 summary: set biblio rating (public)
790 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
793 description: A JSON object containing rating information
798 description: the rating
804 additionalProperties: false
809 description: Rating set
814 description: user's rating
819 description: average rating
822 description: number of ratings
824 additionalProperties: false
826 description: Authentication required
828 $ref: "../swagger.yaml#/definitions/error"
830 description: Access forbidden
832 $ref: "../swagger.yaml#/definitions/error"
834 description: Biblio not found
836 $ref: "../swagger.yaml#/definitions/error"
839 Internal server error. Possible `error_code` attribute values:
841 * `internal_server_error`
843 $ref: "../swagger.yaml#/definitions/error"
845 description: Under maintenance
847 $ref: "../swagger.yaml#/definitions/error"