Bug 32923: Fix new occurrences of x-koha-embed at top level
[srvgit] / api / v1 / swagger / paths / items.yaml
1 ---
2 /items:
3   get:
4     x-mojo-to: Items#list
5     operationId: listItems
6     tags:
7       - items
8     summary: List items
9     parameters:
10       - name: external_id
11         in: query
12         description: Search on the item's barcode
13         required: false
14         type: string
15       - $ref: "../swagger.yaml#/parameters/match"
16       - $ref: "../swagger.yaml#/parameters/order_by"
17       - $ref: "../swagger.yaml#/parameters/page"
18       - $ref: "../swagger.yaml#/parameters/per_page"
19       - $ref: "../swagger.yaml#/parameters/q_param"
20       - $ref: "../swagger.yaml#/parameters/q_body"
21       - $ref: "../swagger.yaml#/parameters/q_header"
22       - $ref: "../swagger.yaml#/parameters/request_id_header"
23     consumes:
24       - application/json
25     produces:
26       - application/json
27     responses:
28       "200":
29         description: A list of item
30         schema:
31           type: array
32           items:
33             $ref: "../swagger.yaml#/definitions/item"
34       "401":
35         description: Authentication required
36         schema:
37           $ref: "../swagger.yaml#/definitions/error"
38       "403":
39         description: Access forbidden
40         schema:
41           $ref: "../swagger.yaml#/definitions/error"
42       "500":
43         description: |
44           Internal server error. Possible `error_code` attribute values:
45
46           * `internal_server_error`
47         schema:
48           $ref: "../swagger.yaml#/definitions/error"
49       "503":
50         description: Under maintenance
51         schema:
52           $ref: "../swagger.yaml#/definitions/error"
53     x-koha-authorization:
54       permissions:
55         catalogue: "1"
56 "/items/{item_id}":
57   get:
58     x-mojo-to: Items#get
59     operationId: getItem
60     tags:
61       - items
62     summary: Get item
63     parameters:
64       - $ref: "../swagger.yaml#/parameters/item_id_pp"
65     consumes:
66       - application/json
67     produces:
68       - application/json
69     responses:
70       "200":
71         description: An item
72         schema:
73           $ref: "../swagger.yaml#/definitions/item"
74       "400":
75         description: Missing or wrong parameters
76         schema:
77           $ref: "../swagger.yaml#/definitions/error"
78       "404":
79         description: Item not found
80         schema:
81           $ref: "../swagger.yaml#/definitions/error"
82       "500":
83         description: |
84           Internal server error. Possible `error_code` attribute values:
85
86           * `internal_server_error`
87         schema:
88           $ref: "../swagger.yaml#/definitions/error"
89       "503":
90         description: Under maintenance
91         schema:
92           $ref: "../swagger.yaml#/definitions/error"
93     x-koha-authorization:
94       permissions:
95         catalogue: "1"
96   delete:
97     x-mojo-to: Items#delete
98     operationId: deleteItem
99     tags:
100       - items
101     summary: Delete item
102     parameters:
103       - $ref: "../swagger.yaml#/parameters/item_id_pp"
104     consumes:
105       - application/json
106     produces:
107       - application/json
108     responses:
109       "204":
110         description: Deleted item
111       "400":
112         description: Missing or wrong parameters
113         schema:
114           $ref: "../swagger.yaml#/definitions/error"
115       "403":
116         description: Access forbidden
117         schema:
118           $ref: "../swagger.yaml#/definitions/error"
119       "404":
120         description: Item not found
121         schema:
122           $ref: "../swagger.yaml#/definitions/error"
123       "409":
124         description: |
125           Conflict. Possible `error_code` attribute values:
126
127             * book_on_loan: The item is checked out
128             * book_reserved: Waiting or in-transit hold for the item
129             * last_item_for_hold: The item is the last one on a record on which a biblio-level hold is placed
130             * linked_analytics: The item has linked analytic records
131             * not_same_branch: The item is blocked by independent branches
132         schema:
133               $ref: "../swagger.yaml#/definitions/error"
134       "500":
135         description: |
136           Internal server error. Possible `error_code` attribute values:
137
138           * `internal_server_error`
139         schema:
140           $ref: "../swagger.yaml#/definitions/error"
141       "503":
142         description: Under maintenance
143         schema:
144           $ref: "../swagger.yaml#/definitions/error"
145     x-koha-authorization:
146       permissions:
147         editcatalogue: edit_catalogue
148 "/items/{item_id}/bundled_items":
149   post:
150     x-mojo-to: Items#add_to_bundle
151     operationId: addToBundle
152     tags:
153       - items
154     summary: Add item to bundle
155     parameters:
156       - $ref: "../swagger.yaml#/parameters/item_id_pp"
157       - name: body
158         in: body
159         description: A JSON object containing information about the new bundle link
160         required: true
161         schema:
162           $ref: "../swagger.yaml#/definitions/bundle_link"
163     consumes:
164       - application/json
165     produces:
166       - application/json
167     responses:
168       "201":
169         description: A successfully created bundle link
170         schema:
171           items:
172             $ref: "../swagger.yaml#/definitions/item"
173       "400":
174         description: Bad parameter
175         schema:
176           $ref: "../swagger.yaml#/definitions/error"
177       "401":
178         description: Authentication required
179         schema:
180           $ref: "../swagger.yaml#/definitions/error"
181       "403":
182         description: Access forbidden
183         schema:
184           $ref: "../swagger.yaml#/definitions/error"
185       "404":
186         description: Resource not found
187         schema:
188           $ref: "../swagger.yaml#/definitions/error"
189       "409":
190         description: Conflict in creating resource
191         schema:
192           $ref: "../swagger.yaml#/definitions/error"
193       "500":
194         description: Internal server error
195         schema:
196           $ref: "../swagger.yaml#/definitions/error"
197       "503":
198         description: Under maintenance
199         schema:
200           $ref: "../swagger.yaml#/definitions/error"
201     x-koha-authorization:
202       permissions:
203         catalogue: 1
204   get:
205     x-mojo-to: Items#bundled_items
206     operationId: bundledItems
207     tags:
208       - items
209     summary: List bundled items
210     parameters:
211       - $ref: "../swagger.yaml#/parameters/item_id_pp"
212       - name: external_id
213         in: query
214         description: Search on the item's barcode
215         required: false
216         type: string
217       - $ref: "../swagger.yaml#/parameters/match"
218       - $ref: "../swagger.yaml#/parameters/order_by"
219       - $ref: "../swagger.yaml#/parameters/page"
220       - $ref: "../swagger.yaml#/parameters/per_page"
221       - $ref: "../swagger.yaml#/parameters/q_param"
222       - $ref: "../swagger.yaml#/parameters/q_body"
223       - $ref: "../swagger.yaml#/parameters/q_header"
224       - name: x-koha-embed
225         in: header
226         required: false
227         description: Embed list sent as a request header
228         type: array
229         items:
230           type: string
231           enum:
232             - biblio
233             - checkout
234             - return_claims
235             - return_claim
236             - return_claim.patron
237         collectionFormat: csv
238     consumes:
239       - application/json
240     produces:
241       - application/json
242     responses:
243       "200":
244         description: A list of item
245         schema:
246           type: array
247           items:
248             $ref: "../swagger.yaml#/definitions/item"
249       "401":
250         description: Authentication required
251         schema:
252           $ref: "../swagger.yaml#/definitions/error"
253       "403":
254         description: Access forbidden
255         schema:
256           $ref: "../swagger.yaml#/definitions/error"
257       "500":
258         description: Internal server error
259         schema:
260           $ref: "../swagger.yaml#/definitions/error"
261       "503":
262         description: Under maintenance
263         schema:
264           $ref: "../swagger.yaml#/definitions/error"
265     x-koha-authorization:
266       permissions:
267         catalogue: "1"
268 "/items/{item_id}/bundled_items/{bundled_item_id}":
269   delete:
270     x-mojo-to: Items#remove_from_bundle
271     operationId: removeFromBundle
272     tags:
273       - items
274     summary: Remove item from bundle
275     parameters:
276       - $ref: "../swagger.yaml#/parameters/item_id_pp"
277       - name: bundled_item_id
278         in: path
279         description: Internal identifier for the bundled item
280         required: true
281         type: string
282     consumes:
283       - application/json
284     produces:
285       - application/json
286     responses:
287       "204":
288         description: Bundle link deleted
289       "400":
290         description: Bad parameter
291         schema:
292           $ref: "../swagger.yaml#/definitions/error"
293       "401":
294         description: Authentication required
295         schema:
296           $ref: "../swagger.yaml#/definitions/error"
297       "403":
298         description: Access forbidden
299         schema:
300           $ref: "../swagger.yaml#/definitions/error"
301       "404":
302         description: Resource not found
303         schema:
304           $ref: "../swagger.yaml#/definitions/error"
305       "500":
306         description: Internal server error
307         schema:
308           $ref: "../swagger.yaml#/definitions/error"
309       "503":
310         description: Under maintenance
311         schema:
312           $ref: "../swagger.yaml#/definitions/error"
313     x-koha-authorization:
314       permissions:
315         catalogue: 1
316 "/items/{item_id}/pickup_locations":
317   get:
318     x-mojo-to: Items#pickup_locations
319     operationId: getItemPickupLocations
320     summary: Get valid pickup locations for an item
321     tags:
322       - items
323     parameters:
324       - $ref: "../swagger.yaml#/parameters/item_id_pp"
325       - name: patron_id
326         in: query
327         description: Internal patron identifier
328         required: true
329         type: integer
330       - $ref: "../swagger.yaml#/parameters/match"
331       - $ref: "../swagger.yaml#/parameters/order_by"
332       - $ref: "../swagger.yaml#/parameters/page"
333       - $ref: "../swagger.yaml#/parameters/per_page"
334       - $ref: "../swagger.yaml#/parameters/q_param"
335       - $ref: "../swagger.yaml#/parameters/q_body"
336       - $ref: "../swagger.yaml#/parameters/q_header"
337       - $ref: "../swagger.yaml#/parameters/request_id_header"
338     consumes:
339       - application/json
340     produces:
341       - application/json
342     responses:
343       "200":
344         description: Item pickup locations
345         schema:
346           type: array
347           items:
348             $ref: "../swagger.yaml#/definitions/library"
349       "400":
350         description: Missing or wrong parameters
351         schema:
352           $ref: "../swagger.yaml#/definitions/error"
353       "401":
354         description: Authentication required
355         schema:
356           $ref: "../swagger.yaml#/definitions/error"
357       "403":
358         description: Access forbidden
359         schema:
360           $ref: "../swagger.yaml#/definitions/error"
361       "404":
362         description: Biblio not found
363         schema:
364           $ref: "../swagger.yaml#/definitions/error"
365       "500":
366         description: |
367           Internal server error. Possible `error_code` attribute values:
368
369           * `internal_server_error`
370         schema:
371           $ref: "../swagger.yaml#/definitions/error"
372       "503":
373         description: Under maintenance
374         schema:
375           $ref: "../swagger.yaml#/definitions/error"
376     x-koha-authorization:
377       permissions:
378         reserveforothers: place_holds