Bug 30536: Update spec files
[koha.git] / api / v1 / swagger / paths / acquisitions_orders.yaml
1 ---
2 /acquisitions/orders:
3   get:
4     x-mojo-to: Acquisitions::Orders#list
5     operationId: listOrders
6     tags:
7       - orders
8     summary: List orders
9     produces:
10       - application/json
11     parameters:
12       - name: biblio_id
13         in: query
14         description: Identifier for a linked bibliographic record
15         required: false
16         type: integer
17       - name: basket_id
18         in: query
19         description: Identifier for a linked acquisition basket
20         required: false
21         type: integer
22       - name: fund_id
23         in: query
24         description: Identifier for the fund the order goes against
25         required: false
26         type: integer
27       - name: status
28         in: query
29         description: Current status for the order. Can be 'new', 'ordered', 'partial',
30           'complete' or 'cancelled'
31         required: false
32         type: string
33       - name: only_active
34         in: query
35         description: If only active orders should be listed
36         required: false
37         type: boolean
38       - $ref: "../swagger.yaml#/parameters/match"
39       - $ref: "../swagger.yaml#/parameters/order_by"
40       - $ref: "../swagger.yaml#/parameters/page"
41       - $ref: "../swagger.yaml#/parameters/per_page"
42       - $ref: "../swagger.yaml#/parameters/q_param"
43       - $ref: "../swagger.yaml#/parameters/q_body"
44       - $ref: "../swagger.yaml#/parameters/q_header"
45       - $ref: "../swagger.yaml#/parameters/request_id_header"
46       - name: x-koha-embed
47         in: header
48         required: false
49         description: Embed list sent as a request header
50         type: array
51         items:
52           type: string
53           enum:
54             - basket
55             - basket.basket_group
56             - basket.creator
57             - biblio
58             - biblio.active_orders+count
59             - biblio.holds+count
60             - biblio.items+count
61             - biblio.suggestions.suggester
62             - fund
63             - current_item_level_holds+count
64             - invoice
65             - items
66             - subscription
67         collectionFormat: csv
68     responses:
69       "200":
70         description: A list of orders
71         schema:
72           type: array
73           items:
74             $ref: "../swagger.yaml#/definitions/order"
75       "401":
76         description: Authentication required
77         schema:
78           $ref: "../swagger.yaml#/definitions/error"
79       "403":
80         description: Access forbidden
81         schema:
82           $ref: "../swagger.yaml#/definitions/error"
83       "404":
84         description: Order not found
85         schema:
86           $ref: "../swagger.yaml#/definitions/error"
87       "500":
88         description: |
89           Internal server error. Possible `error_code` attribute values:
90
91           * `internal_server_error`
92         schema:
93           $ref: "../swagger.yaml#/definitions/error"
94       "503":
95         description: Under maintenance
96         schema:
97           $ref: "../swagger.yaml#/definitions/error"
98     x-koha-authorization:
99       permissions:
100         acquisition:
101           - order_manage
102           - order_manage_all
103   post:
104     x-mojo-to: Acquisitions::Orders#add
105     operationId: addOrder
106     tags:
107       - orders
108     summary: Add order
109     parameters:
110       - name: body
111         in: body
112         description: A JSON object representing an order
113         required: true
114         schema:
115           $ref: "../swagger.yaml#/definitions/order"
116     produces:
117       - application/json
118     responses:
119       "201":
120         description: Order added
121         schema:
122           $ref: "../swagger.yaml#/definitions/order"
123       "400":
124         description: Bad request
125         schema:
126           $ref: "../swagger.yaml#/definitions/error"
127       "401":
128         description: Authentication required
129         schema:
130           $ref: "../swagger.yaml#/definitions/error"
131       "403":
132         description: Access forbidden
133         schema:
134           $ref: "../swagger.yaml#/definitions/error"
135       "409":
136         description: Conflict in creating the resource
137         schema:
138           $ref: "../swagger.yaml#/definitions/error"
139       "500":
140         description: |
141           Internal server error. Possible `error_code` attribute values:
142
143           * `internal_server_error`
144         schema:
145           $ref: "../swagger.yaml#/definitions/error"
146       "503":
147         description: Under maintenance
148         schema:
149           $ref: "../swagger.yaml#/definitions/error"
150     x-koha-authorization:
151       permissions:
152         acquisition: order_manage
153 "/acquisitions/orders/{order_id}":
154   get:
155     x-mojo-to: Acquisitions::Orders#get
156     operationId: getOrder
157     tags:
158       - orders
159     summary: Get order
160     parameters:
161       - $ref: "../swagger.yaml#/parameters/order_id_pp"
162       - name: x-koha-embed
163         in: header
164         required: false
165         description: Embed list sent as a request header
166         type: array
167         items:
168           type: string
169           enum:
170             - basket
171             - basket.basket_group
172             - basket.creator
173             - biblio
174             - biblio.active_orders+count
175             - biblio.holds+count
176             - biblio.items+count
177             - biblio.suggestions.suggester
178             - fund
179             - current_item_level_holds+count
180             - invoice
181             - items
182             - subscription
183         collectionFormat: csv
184     produces:
185       - application/json
186     responses:
187       "200":
188         description: An order
189         schema:
190           $ref: "../swagger.yaml#/definitions/order"
191       "401":
192         description: Authentication required
193         schema:
194           $ref: "../swagger.yaml#/definitions/error"
195       "403":
196         description: Access forbidden
197         schema:
198           $ref: "../swagger.yaml#/definitions/error"
199       "404":
200         description: Order not found
201         schema:
202           $ref: "../swagger.yaml#/definitions/error"
203       "500":
204         description: |
205           Internal server error. Possible `error_code` attribute values:
206
207           * `internal_server_error`
208         schema:
209           $ref: "../swagger.yaml#/definitions/error"
210       "503":
211         description: Under maintenance
212         schema:
213           $ref: "../swagger.yaml#/definitions/error"
214     x-koha-authorization:
215       permissions:
216         acquisition: order_manage
217   put:
218     x-mojo-to: Acquisitions::Orders#update
219     operationId: updateOrder
220     tags:
221       - orders
222     summary: Update order
223     parameters:
224       - $ref: "../swagger.yaml#/parameters/order_id_pp"
225       - name: body
226         in: body
227         description: A JSON object representing an order
228         required: true
229         schema:
230           $ref: "../swagger.yaml#/definitions/order"
231     produces:
232       - application/json
233     responses:
234       "200":
235         description: An order
236         schema:
237           $ref: "../swagger.yaml#/definitions/order"
238       "401":
239         description: Authentication required
240         schema:
241           $ref: "../swagger.yaml#/definitions/error"
242       "403":
243         description: Access forbidden
244         schema:
245           $ref: "../swagger.yaml#/definitions/error"
246       "404":
247         description: Order not found
248         schema:
249           $ref: "../swagger.yaml#/definitions/error"
250       "500":
251         description: |
252           Internal server error. Possible `error_code` attribute values:
253
254           * `internal_server_error`
255         schema:
256           $ref: "../swagger.yaml#/definitions/error"
257       "503":
258         description: Under maintenance
259         schema:
260           $ref: "../swagger.yaml#/definitions/error"
261     x-koha-authorization:
262       permissions:
263         acquisition: order_manage
264   delete:
265     x-mojo-to: Acquisitions::Orders#delete
266     operationId: deleteOrder
267     tags:
268       - orders
269     summary: Delete order
270     parameters:
271       - $ref: "../swagger.yaml#/parameters/order_id_pp"
272     produces:
273       - application/json
274     responses:
275       "204":
276         description: Order deleted
277       "401":
278         description: Authentication required
279         schema:
280           $ref: "../swagger.yaml#/definitions/error"
281       "403":
282         description: Access forbidden
283         schema:
284           $ref: "../swagger.yaml#/definitions/error"
285       "404":
286         description: Order not found
287         schema:
288           $ref: "../swagger.yaml#/definitions/error"
289       "500":
290         description: |
291           Internal server error. Possible `error_code` attribute values:
292
293           * `internal_server_error`
294         schema:
295           $ref: "../swagger.yaml#/definitions/error"
296       "503":
297         description: Under maintenance
298         schema:
299           $ref: "../swagger.yaml#/definitions/error"
300     x-koha-authorization:
301       permissions:
302         acquisition: order_manage