Bug 32923: Some fixes in ERM specs
[koha.git] / api / v1 / swagger / paths / erm_licenses.yaml
1 ---
2 /erm/licenses:
3   get:
4     x-mojo-to: ERM::Licenses#list
5     operationId: listErmLicenses
6     tags:
7       - license
8     summary: List licenses for agreements
9     produces:
10       - application/json
11     parameters:
12       - description: Case insensitive search on license license_id
13         in: query
14         name: license_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 license name
23         in: query
24         name: name
25         required: false
26         type: string
27       - description: Case insensitive search on license type
28         in: query
29         name: type
30         required: false
31         type: string
32       - description: Case insensitive search on license status
33         in: query
34         name: status
35         required: false
36         type: string
37       - description: Case insensitive search on license start date
38         in: query
39         name: started_on
40         required: false
41         type: string
42       - description: Case insensitive search on license end date
43         in: query
44         name: ended_on
45         required: false
46         type: string
47       - $ref: "../swagger.yaml#/parameters/match"
48       - $ref: "../swagger.yaml#/parameters/order_by"
49       - $ref: "../swagger.yaml#/parameters/page"
50       - $ref: "../swagger.yaml#/parameters/per_page"
51       - $ref: "../swagger.yaml#/parameters/q_param"
52       - $ref: "../swagger.yaml#/parameters/q_body"
53       - $ref: "../swagger.yaml#/parameters/q_header"
54     responses:
55       200:
56         description: A list of agreements' licenses
57         schema:
58           items:
59             $ref: "../swagger.yaml#/definitions/erm_license"
60           type: array
61       400:
62         description: Bad request
63         schema:
64           $ref: "../swagger.yaml#/definitions/error"
65       403:
66         description: Access forbidden
67         schema:
68           $ref: "../swagger.yaml#/definitions/error"
69       500:
70         description: |-
71           Internal server error. Possible `error_code` attribute values:
72           * `internal_server_error`
73         schema:
74           $ref: "../swagger.yaml#/definitions/error"
75       503:
76         description: Under maintenance
77         schema:
78           $ref: "../swagger.yaml#/definitions/error"
79     x-koha-authorization:
80       permissions:
81         erm: 1
82   post:
83     x-mojo-to: ERM::Licenses#add
84     operationId: addERMLicenses
85     tags:
86       - license
87     summary: Add license
88     consumes:
89       - application/json
90     produces:
91       - application/json
92     parameters:
93       - description: A JSON object containing information about the new agreement's license
94         in: body
95         name: body
96         required: true
97         schema:
98             $ref: "../swagger.yaml#/definitions/erm_license"
99     responses:
100       201:
101         description: A successfully created license
102         schema:
103           items:
104             $ref: "../swagger.yaml#/definitions/erm_license"
105       400:
106         description: Bad parameter
107         schema:
108           $ref: "../swagger.yaml#/definitions/error"
109       401:
110         description: Authentication required
111         schema:
112           $ref: "../swagger.yaml#/definitions/error"
113       403:
114         description: Access forbidden
115         schema:
116           $ref: "../swagger.yaml#/definitions/error"
117       404:
118         description: Ressource not found
119         schema:
120           $ref: "../swagger.yaml#/definitions/error"
121       409:
122         description: Conflict in creating resource
123         schema:
124           $ref: "../swagger.yaml#/definitions/error"
125       413:
126         description: Payload too large
127         schema:
128           $ref: "../swagger.yaml#/definitions/error"
129       500:
130         description: |-
131           Internal server error. Possible `error_code` attribute values:
132           * `internal_server_error`
133         schema:
134           $ref: "../swagger.yaml#/definitions/error"
135       503:
136         description: Under maintenance
137         schema:
138           $ref: "../swagger.yaml#/definitions/error"
139     x-koha-authorization:
140       permissions:
141         erm: 1
142 "/erm/licenses/{license_id}":
143   get:
144     x-mojo-to: ERM::Licenses#get
145     operationId: getERMlicense
146     tags:
147       - license
148     summary: get license
149     produces:
150       - application/json
151     parameters:
152       - $ref: "../swagger.yaml#/parameters/license_id_pp"
153       - name: x-koha-embed
154         in: header
155         required: false
156         description: Embed list sent as a request header
157         type: array
158         items:
159           type: string
160           enum:
161             - user_roles
162             - user_roles.patron
163             - vendor
164             - documents
165         collectionFormat: csv
166     responses:
167       200:
168         description: license
169         schema:
170           items:
171             $ref: "../swagger.yaml#/definitions/erm_license"
172       401:
173         description: authentication required
174         schema:
175           $ref: "../swagger.yaml#/definitions/error"
176       403:
177         description: access forbidden
178         schema:
179           $ref: "../swagger.yaml#/definitions/error"
180       404:
181         description: ressource not found
182         schema:
183           $ref: "../swagger.yaml#/definitions/error"
184       500:
185         description: |-
186           internal server error. possible `error_code` attribute values:
187           * `internal_server_error`
188         schema:
189           $ref: "../swagger.yaml#/definitions/error"
190       503:
191         description: under maintenance
192         schema:
193           $ref: "../swagger.yaml#/definitions/error"
194     x-koha-authorization:
195       permissions:
196         erm: 1
197   put:
198     x-mojo-to: ERM::Licenses#update
199     operationId: updateERMlicenses
200     tags:
201       - license
202     summary: update license
203     consumes:
204       - application/json
205     produces:
206       - application/json
207     parameters:
208       - $ref: "../swagger.yaml#/parameters/license_id_pp"
209       - name: body
210         in: body
211         description: a json object containing new information about existing license
212         required: true
213         schema:
214           $ref: "../swagger.yaml#/definitions/erm_license"
215       - name: x-koha-embed
216         in: header
217         required: false
218         description: Embed list sent as a request header
219         type: array
220         items:
221           type: string
222           enum:
223             - user_roles
224             - documents
225         collectionFormat: csv
226     responses:
227       200:
228         description: a successfully updated license
229         schema:
230           items:
231             $ref: "../swagger.yaml#/definitions/erm_license"
232       400:
233         description: bad parameter
234         schema:
235           $ref: "../swagger.yaml#/definitions/error"
236       403:
237         description: access forbidden
238         schema:
239           $ref: "../swagger.yaml#/definitions/error"
240       404:
241         description: ressource not found
242         schema:
243           $ref: "../swagger.yaml#/definitions/error"
244       409:
245         description: conflict in updating resource
246         schema:
247           $ref: "../swagger.yaml#/definitions/error"
248       413:
249         description: Payload too large
250         schema:
251           $ref: "../swagger.yaml#/definitions/error"
252       500:
253         description: |-
254           internal server error. possible `error_code` attribute values:
255           * `internal_server_error`
256         schema:
257           $ref: "../swagger.yaml#/definitions/error"
258       503:
259         description: under maintenance
260         schema:
261           $ref: "../swagger.yaml#/definitions/error"
262     x-koha-authorization:
263       permissions:
264         erm: 1
265   delete:
266     x-mojo-to: ERM::Licenses#delete
267     operationId: deleteERMlicenses
268     tags:
269       - license
270     summary: Delete license
271     produces:
272       - application/json
273     parameters:
274       - $ref: "../swagger.yaml#/parameters/license_id_pp"
275     responses:
276       204:
277         description: license deleted
278       400:
279         description: license deletion failed
280         schema:
281           $ref: "../swagger.yaml#/definitions/error"
282       401:
283         description: authentication required
284         schema:
285           $ref: "../swagger.yaml#/definitions/error"
286       403:
287         description: access forbidden
288         schema:
289           $ref: "../swagger.yaml#/definitions/error"
290       404:
291         description: ressource not found
292         schema:
293           $ref: "../swagger.yaml#/definitions/error"
294       409:
295         description: conflict in deleting resource
296         schema:
297           $ref: "../swagger.yaml#/definitions/error"
298       500:
299         description: |-
300           internal server error. possible `error_code` attribute values:
301           * `internal_server_error`
302         schema:
303           $ref: "../swagger.yaml#/definitions/error"
304       503:
305         description: under maintenance
306         schema:
307           $ref: "../swagger.yaml#/definitions/error"
308     x-koha-authorization:
309       permissions:
310         erm: 1