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