Bug 32030: Max document file size - REST API spec
[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       - $ref: "../swagger.yaml#/parameters/match"
63       - $ref: "../swagger.yaml#/parameters/order_by"
64       - $ref: "../swagger.yaml#/parameters/page"
65       - $ref: "../swagger.yaml#/parameters/per_page"
66       - $ref: "../swagger.yaml#/parameters/q_param"
67       - $ref: "../swagger.yaml#/parameters/q_body"
68       - $ref: "../swagger.yaml#/parameters/q_header"
69     responses:
70       200:
71         description: A list of agreement
72         schema:
73           items:
74             $ref: "../swagger.yaml#/definitions/erm_agreement"
75           type: array
76       400:
77         description: Bad request
78         schema:
79           $ref: "../swagger.yaml#/definitions/error"
80       403:
81         description: Access forbidden
82         schema:
83           $ref: "../swagger.yaml#/definitions/error"
84       500:
85         description: |-
86           Internal server error. Possible `error_code` attribute values:
87           * `internal_server_error`
88         schema:
89           $ref: "../swagger.yaml#/definitions/error"
90       503:
91         description: Under maintenance
92         schema:
93           $ref: "../swagger.yaml#/definitions/error"
94     x-koha-authorization:
95       permissions:
96         erm: 1
97   post:
98     x-mojo-to: ERM::Agreements#add
99     operationId: addErmAgreements
100     tags:
101       - agreement
102     summary: Add agreement
103     consumes:
104       - application/json
105     produces:
106       - application/json
107     parameters:
108       - description: A JSON object containing information about the new agreement
109         in: body
110         name: body
111         required: true
112         schema:
113             $ref: "../swagger.yaml#/definitions/erm_agreement"
114     responses:
115       201:
116         description: A successfully created agreement
117         schema:
118           items:
119             $ref: "../swagger.yaml#/definitions/erm_agreement"
120       400:
121         description: Bad parameter
122         schema:
123           $ref: "../swagger.yaml#/definitions/error"
124       401:
125         description: Authentication required
126         schema:
127           $ref: "../swagger.yaml#/definitions/error"
128       403:
129         description: Access forbidden
130         schema:
131           $ref: "../swagger.yaml#/definitions/error"
132       404:
133         description: Ressource not found
134         schema:
135           $ref: "../swagger.yaml#/definitions/error"
136       409:
137         description: Conflict in creating resource
138         schema:
139           $ref: "../swagger.yaml#/definitions/error"
140       413:
141         description: Payload too large
142         schema:
143           $ref: "../swagger.yaml#/definitions/error"
144       500:
145         description: |-
146           Internal server error. Possible `error_code` attribute values:
147           * `internal_server_error`
148         schema:
149           $ref: "../swagger.yaml#/definitions/error"
150       503:
151         description: Under maintenance
152         schema:
153           $ref: "../swagger.yaml#/definitions/error"
154     x-koha-authorization:
155       permissions:
156         erm: 1
157 "/erm/agreements/{agreement_id}":
158   get:
159     x-mojo-to: ERM::Agreements#get
160     operationId: getErmAgreements
161     tags:
162       - agreement
163     summary: Get agreement
164     produces:
165       - application/json
166     parameters:
167       - $ref: "../swagger.yaml#/parameters/agreement_id_pp"
168     responses:
169       200:
170         description: An agreement
171         schema:
172           items:
173             $ref: "../swagger.yaml#/definitions/erm_agreement"
174       401:
175         description: Authentication required
176         schema:
177           $ref: "../swagger.yaml#/definitions/error"
178       403:
179         description: Access forbidden
180         schema:
181           $ref: "../swagger.yaml#/definitions/error"
182       404:
183         description: Ressource not found
184         schema:
185           $ref: "../swagger.yaml#/definitions/error"
186       500:
187         description: |-
188           Internal server error. Possible `error_code` attribute values:
189           * `internal_server_error`
190         schema:
191           $ref: "../swagger.yaml#/definitions/error"
192       503:
193         description: Under maintenance
194         schema:
195           $ref: "../swagger.yaml#/definitions/error"
196     x-koha-authorization:
197       permissions:
198         erm: 1
199     x-koha-embed:
200       - periods
201       - user_roles
202       - user_roles.patron
203       - agreement_licenses
204       - agreement_licenses.license
205       - agreement_relationships
206       - agreement_relationships.agreement
207       - agreement_relationships.related_agreement
208       - documents
209       - packages
210   put:
211     x-mojo-to: ERM::Agreements#update
212     operationId: updateErmAgreements
213     tags:
214       - agreement
215     summary: Update agreement
216     consumes:
217       - application/json
218     produces:
219       - application/json
220     parameters:
221       - $ref: "../swagger.yaml#/parameters/agreement_id_pp"
222       - name: body
223         in: body
224         description: A JSON object containing new information about existing agreement
225         required: true
226         schema:
227           $ref: "../swagger.yaml#/definitions/erm_agreement"
228
229     responses:
230       200:
231         description: A successfully updated agreement
232         schema:
233           items:
234             $ref: "../swagger.yaml#/definitions/erm_agreement"
235       400:
236         description: Bad parameter
237         schema:
238           $ref: "../swagger.yaml#/definitions/error"
239       403:
240         description: Access forbidden
241         schema:
242           $ref: "../swagger.yaml#/definitions/error"
243       404:
244         description: Ressource not found
245         schema:
246           $ref: "../swagger.yaml#/definitions/error"
247       409:
248         description: Conflict in updating resource
249         schema:
250           $ref: "../swagger.yaml#/definitions/error"
251       413:
252         description: Payload too large
253         schema:
254           $ref: "../swagger.yaml#/definitions/error"
255       500:
256         description: |-
257           Internal server error. Possible `error_code` attribute values:
258           * `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         erm: 1
268     x-koha-embed:
269       - periods
270       - user_roles
271       - agreement_licenses
272       - agreement_relationships
273       - documents
274   delete:
275     x-mojo-to: ERM::Agreements#delete
276     operationId: deleteErmAgreements
277     tags:
278       - agreement
279     summary: Delete agreement
280     produces:
281       - application/json
282     parameters:
283       - $ref: "../swagger.yaml#/parameters/agreement_id_pp"
284     responses:
285       204:
286         description: Agreement deleted
287       400:
288         description: Agreement deletion failed
289         schema:
290           $ref: "../swagger.yaml#/definitions/error"
291       401:
292         description: Authentication required
293         schema:
294           $ref: "../swagger.yaml#/definitions/error"
295       403:
296         description: Access forbidden
297         schema:
298           $ref: "../swagger.yaml#/definitions/error"
299       404:
300         description: Ressource not found
301         schema:
302           $ref: "../swagger.yaml#/definitions/error"
303       409:
304         description: Conflict in deleting resource
305         schema:
306           $ref: "../swagger.yaml#/definitions/error"
307       500:
308         description: |-
309           Internal server error. Possible `error_code` attribute values:
310           * `internal_server_error`
311         schema:
312           $ref: "../swagger.yaml#/definitions/error"
313       503:
314         description: Under maintenance
315         schema:
316           $ref: "../swagger.yaml#/definitions/error"
317     x-koha-authorization:
318       permissions:
319         erm: 1