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"
25 - $ref: "../swagger.yaml#/parameters/record_source_id_header"
32 description: Bad request
34 $ref: "../swagger.yaml#/definitions/error"
36 description: Authentication required
38 $ref: "../swagger.yaml#/definitions/error"
40 description: Access forbidden
42 $ref: "../swagger.yaml#/definitions/error"
44 description: Not acceptable
47 description: Accepted content-types
52 Internal server error. Possible `error_code` attribute values:
54 * `internal_server_error`
56 $ref: "../swagger.yaml#/definitions/error"
58 description: Under maintenance
60 $ref: "../swagger.yaml#/definitions/error"
63 editcatalogue: edit_catalogue
65 x-mojo-to: Biblios#list
66 operationId: listBiblio
71 - $ref: "../swagger.yaml#/parameters/page"
72 - $ref: "../swagger.yaml#/parameters/per_page"
73 - $ref: "../swagger.yaml#/parameters/match"
74 - $ref: "../swagger.yaml#/parameters/order_by"
75 - $ref: "../swagger.yaml#/parameters/q_param"
76 - $ref: "../swagger.yaml#/parameters/q_body"
77 - $ref: "../swagger.yaml#/parameters/request_id_header"
80 - application/marcxml+xml
81 - application/marc-in-json
86 description: A list of biblios
88 description: Authentication required
90 $ref: "../swagger.yaml#/definitions/error"
92 description: Access forbidden
94 $ref: "../swagger.yaml#/definitions/error"
96 description: Biblio not found
98 $ref: "../swagger.yaml#/definitions/error"
100 description: Not acceptable
103 description: Accepted content-types
108 Internal server error. Possible `error_code` attribute values:
110 * `internal_server_error`
112 $ref: "../swagger.yaml#/definitions/error"
114 description: Under maintenance
116 $ref: "../swagger.yaml#/definitions/error"
117 x-koha-authorization:
120 "/biblios/{biblio_id}":
122 x-mojo-to: Biblios#get
123 operationId: getBiblio
128 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
131 - application/marcxml+xml
132 - application/marc-in-json
137 description: A biblio
139 description: Authentication required
141 $ref: "../swagger.yaml#/definitions/error"
143 description: Access forbidden
145 $ref: "../swagger.yaml#/definitions/error"
147 description: Biblio not found
149 $ref: "../swagger.yaml#/definitions/error"
151 description: Not acceptable
154 description: Accepted content-types
159 Internal server error. Possible `error_code` attribute values:
161 * `internal_server_error`
163 $ref: "../swagger.yaml#/definitions/error"
165 description: Under maintenance
167 $ref: "../swagger.yaml#/definitions/error"
168 x-koha-authorization:
172 x-mojo-to: Biblios#delete
173 operationId: deleteBiblio
176 summary: Delete biblio
178 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
183 description: Biblio deleted
187 description: Authentication required
189 $ref: "../swagger.yaml#/definitions/error"
191 description: Access forbidden
193 $ref: "../swagger.yaml#/definitions/error"
195 description: Biblio not found
197 $ref: "../swagger.yaml#/definitions/error"
199 description: Unable to perform action on biblio
201 $ref: "../swagger.yaml#/definitions/error"
203 description: Internal error
205 $ref: "../swagger.yaml#/definitions/error"
207 description: Under maintenance
209 $ref: "../swagger.yaml#/definitions/error"
210 x-koha-authorization:
212 editcatalogue: edit_catalogue
214 x-mojo-to: Biblios#update
215 operationId: updateBiblio
218 summary: Update biblio
220 Updates a bibliographic record to Koha. An optional `x-framework-id`
221 may be passed, to specify the cataloguing framework to be used (instead
224 The request body is expected to contain a MARC record in the format specified by
225 the `Content-type` header passed. Possible values for this headers and the corresponding
226 record formats expected are listed below:
228 * application/marcxml+xml: MARCXML
229 * application/marc-in-json: MARC-in-JSON
230 * application/marc: Raw USMARC binary data
232 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
233 - $ref: "../swagger.yaml#/parameters/framework_id_header"
234 - $ref: "../swagger.yaml#/parameters/marc_schema_header"
235 - $ref: "../swagger.yaml#/parameters/confirm_not_duplicate_header"
240 description: A biblio
242 description: Bad request
244 $ref: "../swagger.yaml#/definitions/error"
246 description: Authentication required
248 $ref: "../swagger.yaml#/definitions/error"
250 description: Access forbidden
252 $ref: "../swagger.yaml#/definitions/error"
254 description: Biblio not found
256 $ref: "../swagger.yaml#/definitions/error"
258 description: Not acceptable
261 description: Accepted content-types
266 Internal server error. Possible `error_code` attribute values:
268 * `internal_server_error`
270 $ref: "../swagger.yaml#/definitions/error"
272 description: Under maintenance
274 $ref: "../swagger.yaml#/definitions/error"
275 x-koha-authorization:
277 editcatalogue: edit_catalogue
278 "/biblios/{biblio_id}/bookings":
280 x-mojo-to: Biblios#get_bookings
281 operationId: getBiblioBookings
284 summary: Get bookings for a biblio
286 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
287 - $ref: "../swagger.yaml#/parameters/match"
288 - $ref: "../swagger.yaml#/parameters/order_by"
289 - $ref: "../swagger.yaml#/parameters/page"
290 - $ref: "../swagger.yaml#/parameters/per_page"
291 - $ref: "../swagger.yaml#/parameters/q_param"
292 - $ref: "../swagger.yaml#/parameters/q_body"
296 description: Embed list sent as a request header
303 collectionFormat: csv
310 description: A list of the bookings attached to the record
314 $ref: ../swagger.yaml#/definitions/booking
316 description: Authentication required
318 $ref: ../swagger.yaml#/definitions/error
320 description: Access forbidden
322 $ref: ../swagger.yaml#/definitions/error
324 description: Biblio not found
326 $ref: ../swagger.yaml#/definitions/error
328 description: Not acceptable
331 description: Accepted content-types
335 description: Internal server error
337 $ref: ../swagger.yaml#/definitions/error
339 description: Under maintenance
341 $ref: ../swagger.yaml#/definitions/error
342 x-koha-authorization:
344 circulate: "manage_bookings"
345 "/biblios/{biblio_id}/checkouts":
347 x-mojo-to: Biblios#get_checkouts
348 operationId: listBiblioCheckouts
351 summary: List checkouts for a biblio
353 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
354 - $ref: "../swagger.yaml#/parameters/page"
355 - $ref: "../swagger.yaml#/parameters/per_page"
356 - $ref: "../swagger.yaml#/parameters/match"
357 - $ref: "../swagger.yaml#/parameters/order_by"
358 - $ref: "../swagger.yaml#/parameters/q_param"
359 - $ref: "../swagger.yaml#/parameters/q_body"
360 - $ref: "../swagger.yaml#/parameters/request_id_header"
364 description: Embed list sent as a request header
373 collectionFormat: csv
376 description: By default, current checkouts are returned, when this is true then
377 checked in checkouts are returned as result.
383 description: A list of checkouts
385 $ref: "../swagger.yaml#/definitions/checkouts"
387 description: Access forbidden
389 $ref: "../swagger.yaml#/definitions/error"
391 description: Biblio not found
393 $ref: "../swagger.yaml#/definitions/error"
396 Internal server error. Possible `error_code` attribute values:
398 * `internal_server_error`
400 $ref: "../swagger.yaml#/definitions/error"
402 description: Under maintenance
404 $ref: "../swagger.yaml#/definitions/error"
405 x-koha-authorization:
407 - circulate: circulate_remaining_permissions
408 - circulate: manage_bookings
409 "/biblios/{biblio_id}/items":
411 x-mojo-to: Biblios#get_items
412 operationId: getBiblioItems
415 summary: Get items for a biblio
417 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
421 description: Embed list sent as a request header
444 - bundle_items_lost+count
445 - bundle_items_not_lost+count
446 - course_item.course_reserves.course
449 - item_group_item.item_group.description
451 collectionFormat: csv
452 - $ref: "../swagger.yaml#/parameters/match"
453 - $ref: "../swagger.yaml#/parameters/order_by"
454 - $ref: "../swagger.yaml#/parameters/page"
455 - $ref: "../swagger.yaml#/parameters/per_page"
456 - $ref: "../swagger.yaml#/parameters/q_param"
457 - $ref: "../swagger.yaml#/parameters/q_body"
458 - $ref: "../swagger.yaml#/parameters/request_id_header"
461 description: Limit to items that are bookable
470 description: A list of the items attached to the record
474 $ref: "../swagger.yaml#/definitions/item"
476 description: Authentication required
478 $ref: "../swagger.yaml#/definitions/error"
480 description: Access forbidden
482 $ref: "../swagger.yaml#/definitions/error"
484 description: Biblio not found
486 $ref: "../swagger.yaml#/definitions/error"
488 description: Not acceptable
491 description: Accepted content-types
496 Internal server error. Possible `error_code` attribute values:
498 * `internal_server_error`
500 $ref: "../swagger.yaml#/definitions/error"
502 description: Under maintenance
504 $ref: "../swagger.yaml#/definitions/error"
505 x-koha-authorization:
509 x-mojo-to: Biblios#add_item
510 operationId: addBiblioItem
513 summary: Add an item for a biblio
515 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
518 description: A JSON object containing information about the new item
521 $ref: "../swagger.yaml#/definitions/item"
526 description: Item added
528 $ref: "../swagger.yaml#/definitions/item"
530 description: Bad request
532 $ref: "../swagger.yaml#/definitions/error"
534 description: Authentication required
536 $ref: "../swagger.yaml#/definitions/error"
538 description: Access forbidden
540 $ref: "../swagger.yaml#/definitions/error"
542 description: Not found
544 $ref: "../swagger.yaml#/definitions/error"
546 description: Conflict
548 $ref: "../swagger.yaml#/definitions/error"
551 Internal server error. Possible `error_code` attribute values:
553 * `internal_server_error`
555 $ref: "../swagger.yaml#/definitions/error"
557 description: Under maintenance
559 $ref: "../swagger.yaml#/definitions/error"
560 x-koha-authorization:
562 editcatalogue: edit_catalogue
563 "/biblios/{biblio_id}/items/{item_id}":
565 x-mojo-to: Biblios#update_item
566 operationId: updateBiblioItem
569 summary: Update an item for a biblio
571 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
572 - $ref: "../swagger.yaml#/parameters/item_id_pp"
575 description: A JSON object containing information about the item
578 $ref: "../swagger.yaml#/definitions/item"
583 description: Item updated
585 $ref: "../swagger.yaml#/definitions/item"
587 description: Bad request
589 $ref: "../swagger.yaml#/definitions/error"
591 description: Authentication required
593 $ref: "../swagger.yaml#/definitions/error"
595 description: Access forbidden
597 $ref: "../swagger.yaml#/definitions/error"
599 description: Not found
601 $ref: "../swagger.yaml#/definitions/error"
603 description: Conflict
605 $ref: "../swagger.yaml#/definitions/error"
608 Internal server error. Possible `error_code` attribute values:
610 * `internal_server_error`
612 $ref: "../swagger.yaml#/definitions/error"
614 description: Under maintenance
616 $ref: "../swagger.yaml#/definitions/error"
617 x-koha-authorization:
619 editcatalogue: edit_catalogue
620 "/biblios/{biblio_id}/pickup_locations":
622 x-mojo-to: Biblios#pickup_locations
623 operationId: getBiblioPickupLocations
626 summary: Get valid pickup locations for a biblio
628 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
631 description: Internal patron identifier
634 - $ref: "../swagger.yaml#/parameters/match"
635 - $ref: "../swagger.yaml#/parameters/order_by"
636 - $ref: "../swagger.yaml#/parameters/page"
637 - $ref: "../swagger.yaml#/parameters/per_page"
638 - $ref: "../swagger.yaml#/parameters/q_param"
639 - $ref: "../swagger.yaml#/parameters/q_body"
646 description: Biblio pickup locations
650 $ref: "../swagger.yaml#/definitions/library"
652 description: Missing or wrong parameters
654 $ref: "../swagger.yaml#/definitions/error"
656 description: Authentication required
658 $ref: "../swagger.yaml#/definitions/error"
660 description: Access forbidden
662 $ref: "../swagger.yaml#/definitions/error"
664 description: Biblio not found
666 $ref: "../swagger.yaml#/definitions/error"
669 Internal server error. Possible `error_code` attribute values:
671 * `internal_server_error`
673 $ref: "../swagger.yaml#/definitions/error"
675 description: Under maintenance
677 $ref: "../swagger.yaml#/definitions/error"
678 x-koha-authorization:
680 reserveforothers: place_holds
681 "/public/biblios/{biblio_id}":
683 x-mojo-to: Biblios#get_public
684 operationId: getBiblioPublic
687 summary: Get biblio (public)
689 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
691 - application/marcxml+xml
692 - application/marc-in-json
697 description: A biblio
699 description: Authentication required
701 $ref: "../swagger.yaml#/definitions/error"
703 description: Access forbidden
705 $ref: "../swagger.yaml#/definitions/error"
707 description: Biblio not found
709 $ref: "../swagger.yaml#/definitions/error"
711 description: Not acceptable
714 description: Accepted content-types
719 Internal server error. Possible `error_code` attribute values:
721 * `internal_server_error`
723 $ref: "../swagger.yaml#/definitions/error"
725 description: Under maintenance
727 $ref: "../swagger.yaml#/definitions/error"
728 "/public/biblios/{biblio_id}/items":
730 x-mojo-to: Biblios#get_items_public
731 operationId: getBiblioItemsPublic
736 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
737 - $ref: "../swagger.yaml#/parameters/match"
738 - $ref: "../swagger.yaml#/parameters/order_by"
739 - $ref: "../swagger.yaml#/parameters/page"
740 - $ref: "../swagger.yaml#/parameters/per_page"
741 - $ref: "../swagger.yaml#/parameters/q_param"
742 - $ref: "../swagger.yaml#/parameters/q_body"
746 description: Embed list sent as a request header
752 collectionFormat: csv
759 description: A list of the items attached to the record
763 $ref: "../swagger.yaml#/definitions/item"
765 description: Authentication required
767 $ref: "../swagger.yaml#/definitions/error"
769 description: Access forbidden
771 $ref: "../swagger.yaml#/definitions/error"
773 description: Biblio not found
775 $ref: "../swagger.yaml#/definitions/error"
777 description: Not acceptable
780 description: Accepted content-types
785 Internal server error. Possible `error_code` attribute values:
787 * `internal_server_error`
789 $ref: "../swagger.yaml#/definitions/error"
791 description: Under maintenance
793 $ref: "../swagger.yaml#/definitions/error"
794 "/public/biblios/{biblio_id}/ratings":
796 x-mojo-to: Biblios#set_rating
797 operationId: setBiblioRating
800 summary: set biblio rating (public)
802 - $ref: "../swagger.yaml#/parameters/biblio_id_pp"
805 description: A JSON object containing rating information
810 description: the rating
816 additionalProperties: false
821 description: Rating set
826 description: user's rating
831 description: average rating
834 description: number of ratings
836 additionalProperties: false
838 description: Authentication required
840 $ref: "../swagger.yaml#/definitions/error"
842 description: Access forbidden
844 $ref: "../swagger.yaml#/definitions/error"
846 description: Biblio not found
848 $ref: "../swagger.yaml#/definitions/error"
851 Internal server error. Possible `error_code` attribute values:
853 * `internal_server_error`
855 $ref: "../swagger.yaml#/definitions/error"
857 description: Under maintenance
859 $ref: "../swagger.yaml#/definitions/error"