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