]> git.koha-community.org Git - koha.git/blob - api/v1/swagger/paths/erm_agreements.yaml
Bug 33971: Remove x-koha-query header support
[koha.git] / api / v1 / swagger / paths / erm_agreements.yaml
1 ---
2 /erm/agreements:
3   get:
4     x-mojo-to: ERM::Agreements#list
5     operationId: listErmAgreements
6     tags:
7       - agreement
8     summary: List agreements
9     produces:
10       - application/json
11     parameters:
12       - description: Case insensitive search on agreement agreement_id
13         in: query
14         name: agreement_id
15         required: false
16         type: integer
17       - description: Case insensitive search on agreement vendor_id
18         in: query
19         name: vendor_id
20         required: false
21         type: integer
22       - description: Case insensitive search on agreement name
23         in: query
24         name: name
25         required: false
26         type: string
27       - description: Case insensitive search on agreement description
28         in: query
29         name: description
30         required: false
31         type: string
32       - description: Case insensitive search on agreement status
33         in: query
34         name: status
35         required: false
36         type: string
37       - description: Case insensitive search on agreement closure_reason
38         in: query
39         name: closure_reason
40         required: false
41         type: string
42       - description: Case insensitive search on agreement is_perpetual
43         in: query
44         name: is_perpetual
45         required: false
46         type: boolean
47       - description: Case insensitive search on agreement renewal_priority
48         in: query
49         name: renewal_priority
50         required: false
51         type: string
52       - description: Case insensitive search on agreement license_info
53         in: query
54         name: license_info
55         required: false
56         type: string
57       - description: filter by expired agreements
58         in: query
59         name: max_expiration_date
60         type: string
61         format: date
62       - name: x-koha-embed
63         in: header
64         required: false
65         description: Embed list sent as a request header
66         type: array
67         items:
68           type: string
69           enum:
70             - user_roles
71             - vendor
72         collectionFormat: csv
73       - $ref: "../swagger.yaml#/parameters/match"
74       - $ref: "../swagger.yaml#/parameters/order_by"
75       - $ref: "../swagger.yaml#/parameters/page"
76       - $ref: "../swagger.yaml#/parameters/per_page"
77       - $ref: "../swagger.yaml#/parameters/q_param"
78       - $ref: "../swagger.yaml#/parameters/q_body"
79     responses:
80       200:
81         description: A list of agreement
82         schema:
83           items:
84             $ref: "../swagger.yaml#/definitions/erm_agreement"
85           type: array
86       400:
87         description: Bad request
88         schema:
89           $ref: "../swagger.yaml#/definitions/error"
90       403:
91         description: Access forbidden
92         schema:
93           $ref: "../swagger.yaml#/definitions/error"
94       500:
95         description: |-
96           Internal server error. Possible `error_code` attribute values:
97           * `internal_server_error`
98         schema:
99           $ref: "../swagger.yaml#/definitions/error"
100       503:
101         description: Under maintenance
102         schema:
103           $ref: "../swagger.yaml#/definitions/error"
104     x-koha-authorization:
105       permissions:
106         erm: 1
107   post:
108     x-mojo-to: ERM::Agreements#add
109     operationId: addErmAgreements
110     tags:
111       - agreement
112     summary: Add agreement
113     consumes:
114       - application/json
115     produces:
116       - application/json
117     parameters:
118       - description: A JSON object containing information about the new agreement
119         in: body
120         name: body
121         required: true
122         schema:
123             $ref: "../swagger.yaml#/definitions/erm_agreement"
124     responses:
125       201:
126         description: A successfully created agreement
127         schema:
128           items:
129             $ref: "../swagger.yaml#/definitions/erm_agreement"
130       400:
131         description: Bad parameter
132         schema:
133           $ref: "../swagger.yaml#/definitions/error"
134       401:
135         description: Authentication required
136         schema:
137           $ref: "../swagger.yaml#/definitions/error"
138       403:
139         description: Access forbidden
140         schema:
141           $ref: "../swagger.yaml#/definitions/error"
142       404:
143         description: Ressource not found
144         schema:
145           $ref: "../swagger.yaml#/definitions/error"
146       409:
147         description: Conflict in creating resource
148         schema:
149           $ref: "../swagger.yaml#/definitions/error"
150       413:
151         description: Payload too large
152         schema:
153           $ref: "../swagger.yaml#/definitions/error"
154       500:
155         description: |-
156           Internal server error. Possible `error_code` attribute values:
157           * `internal_server_error`
158         schema:
159           $ref: "../swagger.yaml#/definitions/error"
160       503:
161         description: Under maintenance
162         schema:
163           $ref: "../swagger.yaml#/definitions/error"
164     x-koha-authorization:
165       permissions:
166         erm: 1
167 "/erm/agreements/{agreement_id}":
168   get:
169     x-mojo-to: ERM::Agreements#get
170     operationId: getErmAgreements
171     tags:
172       - agreement
173     summary: Get agreement
174     produces:
175       - application/json
176     parameters:
177       - $ref: "../swagger.yaml#/parameters/agreement_id_pp"
178       - name: x-koha-embed
179         in: header
180         required: false
181         description: Embed list sent as a request header
182         type: array
183         items:
184           type: string
185           enum:
186             - periods
187             - user_roles
188             - user_roles.patron
189             - agreement_licenses
190             - agreement_licenses.license
191             - agreement_relationships
192             - agreement_relationships.agreement
193             - agreement_relationships.related_agreement
194             - agreement_packages
195             - agreement_packages.package
196             - documents
197             - vendor
198         collectionFormat: csv
199     responses:
200       200:
201         description: An agreement
202         schema:
203           items:
204             $ref: "../swagger.yaml#/definitions/erm_agreement"
205       401:
206         description: Authentication required
207         schema:
208           $ref: "../swagger.yaml#/definitions/error"
209       403:
210         description: Access forbidden
211         schema:
212           $ref: "../swagger.yaml#/definitions/error"
213       404:
214         description: Ressource not found
215         schema:
216           $ref: "../swagger.yaml#/definitions/error"
217       500:
218         description: |-
219           Internal server error. Possible `error_code` attribute values:
220           * `internal_server_error`
221         schema:
222           $ref: "../swagger.yaml#/definitions/error"
223       503:
224         description: Under maintenance
225         schema:
226           $ref: "../swagger.yaml#/definitions/error"
227     x-koha-authorization:
228       permissions:
229         erm: 1
230   put:
231     x-mojo-to: ERM::Agreements#update
232     operationId: updateErmAgreements
233     tags:
234       - agreement
235     summary: Update agreement
236     consumes:
237       - application/json
238     produces:
239       - application/json
240     parameters:
241       - $ref: "../swagger.yaml#/parameters/agreement_id_pp"
242       - name: body
243         in: body
244         description: A JSON object containing new information about existing agreement
245         required: true
246         schema:
247           $ref: "../swagger.yaml#/definitions/erm_agreement"
248       - name: x-koha-embed
249         in: header
250         required: false
251         description: Embed list sent as a request header
252         type: array
253         items:
254           type: string
255           enum:
256             - periods
257             - user_roles
258             - agreement_licenses
259             - agreement_relationships
260             - documents
261         collectionFormat: csv
262     responses:
263       200:
264         description: A successfully updated agreement
265         schema:
266           items:
267             $ref: "../swagger.yaml#/definitions/erm_agreement"
268       400:
269         description: Bad parameter
270         schema:
271           $ref: "../swagger.yaml#/definitions/error"
272       403:
273         description: Access forbidden
274         schema:
275           $ref: "../swagger.yaml#/definitions/error"
276       404:
277         description: Ressource not found
278         schema:
279           $ref: "../swagger.yaml#/definitions/error"
280       409:
281         description: Conflict in updating resource
282         schema:
283           $ref: "../swagger.yaml#/definitions/error"
284       413:
285         description: Payload too large
286         schema:
287           $ref: "../swagger.yaml#/definitions/error"
288       500:
289         description: |-
290           Internal server error. Possible `error_code` attribute values:
291           * `internal_server_error`
292         schema:
293           $ref: "../swagger.yaml#/definitions/error"
294       503:
295         description: Under maintenance
296         schema:
297           $ref: "../swagger.yaml#/definitions/error"
298     x-koha-authorization:
299       permissions:
300         erm: 1
301   delete:
302     x-mojo-to: ERM::Agreements#delete
303     operationId: deleteErmAgreements
304     tags:
305       - agreement
306     summary: Delete agreement
307     produces:
308       - application/json
309     parameters:
310       - $ref: "../swagger.yaml#/parameters/agreement_id_pp"
311     responses:
312       204:
313         description: Agreement deleted
314       400:
315         description: Agreement deletion failed
316         schema:
317           $ref: "../swagger.yaml#/definitions/error"
318       401:
319         description: Authentication required
320         schema:
321           $ref: "../swagger.yaml#/definitions/error"
322       403:
323         description: Access forbidden
324         schema:
325           $ref: "../swagger.yaml#/definitions/error"
326       404:
327         description: Ressource not found
328         schema:
329           $ref: "../swagger.yaml#/definitions/error"
330       409:
331         description: Conflict in deleting resource
332         schema:
333           $ref: "../swagger.yaml#/definitions/error"
334       500:
335         description: |-
336           Internal server error. Possible `error_code` attribute values:
337           * `internal_server_error`
338         schema:
339           $ref: "../swagger.yaml#/definitions/error"
340       503:
341         description: Under maintenance
342         schema:
343           $ref: "../swagger.yaml#/definitions/error"
344     x-koha-authorization:
345       permissions:
346         erm: 1