Bug 32030: Proxy with HoldingsIQ
[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       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   put:
201     x-mojo-to: ERM::Agreements#update
202     operationId: updateErmAgreements
203     tags:
204       - agreement
205     summary: Update agreement
206     consumes:
207       - application/json
208     produces:
209       - application/json
210     parameters:
211       - $ref: "../swagger.yaml#/parameters/agreement_id_pp"
212       - name: body
213         in: body
214         description: A JSON object containing new information about existing agreement
215         required: true
216         schema:
217           $ref: "../swagger.yaml#/definitions/erm_agreement"
218
219     responses:
220       200:
221         description: A successfully updated agreement
222         schema:
223           items:
224             $ref: "../swagger.yaml#/definitions/erm_agreement"
225       400:
226         description: Bad parameter
227         schema:
228           $ref: "../swagger.yaml#/definitions/error"
229       403:
230         description: Access forbidden
231         schema:
232           $ref: "../swagger.yaml#/definitions/error"
233       404:
234         description: Ressource not found
235         schema:
236           $ref: "../swagger.yaml#/definitions/error"
237       409:
238         description: Conflict in updating resource
239         schema:
240           $ref: "../swagger.yaml#/definitions/error"
241       500:
242         description: |-
243           Internal server error. Possible `error_code` attribute values:
244           * `internal_server_error`
245         schema:
246           $ref: "../swagger.yaml#/definitions/error"
247       503:
248         description: Under maintenance
249         schema:
250           $ref: "../swagger.yaml#/definitions/error"
251     x-koha-authorization:
252       permissions:
253         erm: 1
254     x-koha-embed:
255       - periods
256       - user_roles
257       - agreement_licenses
258       - agreement_relationships
259       - documents
260   delete:
261     x-mojo-to: ERM::Agreements#delete
262     operationId: deleteErmAgreements
263     tags:
264       - agreement
265     summary: Delete agreement
266     produces:
267       - application/json
268     parameters:
269       - $ref: "../swagger.yaml#/parameters/agreement_id_pp"
270     responses:
271       204:
272         description: Agreement deleted
273       400:
274         description: Agreement deletion failed
275         schema:
276           $ref: "../swagger.yaml#/definitions/error"
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: Ressource not found
287         schema:
288           $ref: "../swagger.yaml#/definitions/error"
289       409:
290         description: Conflict in deleting resource
291         schema:
292           $ref: "../swagger.yaml#/definitions/error"
293       500:
294         description: |-
295           Internal server error. Possible `error_code` attribute values:
296           * `internal_server_error`
297         schema:
298           $ref: "../swagger.yaml#/definitions/error"
299       503:
300         description: Under maintenance
301         schema:
302           $ref: "../swagger.yaml#/definitions/error"
303     x-koha-authorization:
304       permissions:
305         erm: 1