Bug 32030: Make the ERMProviders syspref multivaluated
[koha.git] / api / v1 / swagger / paths / erm_eholdings_packages.yaml
1 ---
2 /erm/eholdings/{provider}/packages:
3   get:
4     x-mojo-to: ERM::EHoldings::Packages#list
5     operationId: listErmEHoldingsPackages
6     tags:
7       - eHoldings package
8     summary: List packages
9     produces:
10       - application/json
11     parameters:
12       - description: Provider name
13         in: path
14         name: provider
15         required: true
16         type: string
17       - description: Case insensitive search on package package_id
18         in: query
19         name: package_id
20         required: false
21         type: string
22       - description: Case insensitive search on package vendor_id
23         in: query
24         name: vendor_id
25         required: false
26         type: integer
27       - description: Case insensitive search on package name
28         in: query
29         name: name
30         required: false
31         type: string
32       - description: Case insensitive search on package external_package_id
33         in: query
34         name: external_package_id
35         required: false
36         type: integer
37       - description: Case insensitive search on package type
38         in: query
39         name: package_type
40         required: false
41         type: string
42       - description: Case insensitive search on package content_type
43         in: query
44         name: content_type
45         required: false
46         type: string
47       - description: Case insensitive search on package creation date
48         in: query
49         name: created_on
50         required: false
51         type: string
52       - $ref: "../swagger.yaml#/parameters/match"
53       - $ref: "../swagger.yaml#/parameters/order_by"
54       - $ref: "../swagger.yaml#/parameters/page"
55       - $ref: "../swagger.yaml#/parameters/per_page"
56       - $ref: "../swagger.yaml#/parameters/q_param"
57       - $ref: "../swagger.yaml#/parameters/q_body"
58       - $ref: "../swagger.yaml#/parameters/q_header"
59     responses:
60       200:
61         description: A list of package
62         schema:
63           items:
64             $ref: "../swagger.yaml#/definitions/erm_eholdings_package"
65           type: array
66       400:
67         description: Bad request
68         schema:
69           $ref: "../swagger.yaml#/definitions/error"
70       403:
71         description: Access forbidden
72         schema:
73           $ref: "../swagger.yaml#/definitions/error"
74       500:
75         description: |-
76           Internal server error. Possible `error_code` attribute values:
77           * `internal_server_error`
78         schema:
79           $ref: "../swagger.yaml#/definitions/error"
80       503:
81         description: Under maintenance
82         schema:
83           $ref: "../swagger.yaml#/definitions/error"
84     x-koha-authorization:
85       permissions:
86         erm: 1
87     x-koha-embed:
88       - vendors
89       - resources+count
90   post:
91     x-mojo-to: ERM::EHoldings::Packages#add
92     operationId: addErmEHoldingsPackages
93     tags:
94       - eHoldings package
95     summary: Add package
96     consumes:
97       - application/json
98     produces:
99       - application/json
100     parameters:
101       - description: A JSON object containing information about the new package
102         in: body
103         name: body
104         required: true
105         schema:
106             $ref: "../swagger.yaml#/definitions/erm_eholdings_package"
107     responses:
108       201:
109         description: A successfully created package
110         schema:
111           items:
112             $ref: "../swagger.yaml#/definitions/erm_eholdings_package"
113       400:
114         description: Bad parameter
115         schema:
116           $ref: "../swagger.yaml#/definitions/error"
117       401:
118         description: Authentication required
119         schema:
120           $ref: "../swagger.yaml#/definitions/error"
121       403:
122         description: Access forbidden
123         schema:
124           $ref: "../swagger.yaml#/definitions/error"
125       404:
126         description: Ressource not found
127         schema:
128           $ref: "../swagger.yaml#/definitions/error"
129       409:
130         description: Conflict in creating resource
131         schema:
132           $ref: "../swagger.yaml#/definitions/error"
133       500:
134         description: |-
135           Internal server error. Possible `error_code` attribute values:
136           * `internal_server_error`
137         schema:
138           $ref: "../swagger.yaml#/definitions/error"
139       503:
140         description: Under maintenance
141         schema:
142           $ref: "../swagger.yaml#/definitions/error"
143     x-koha-authorization:
144       permissions:
145         erm: 1
146 "/erm/eholdings/{provider}/packages/{package_id}":
147   get:
148     x-mojo-to: ERM::EHoldings::Packages#get
149     operationId: getErmEHoldingsPackages
150     tags:
151       - package
152     summary: Get eHoldings package
153     produces:
154       - application/json
155     parameters:
156       - description: Provider name
157         in: path
158         name: provider
159         required: true
160         type: string
161       - $ref: "../swagger.yaml#/parameters/eholdings_package_id_pp"
162     responses:
163       200:
164         description: A package
165         schema:
166           items:
167             $ref: "../swagger.yaml#/definitions/erm_eholdings_package"
168       401:
169         description: Authentication required
170         schema:
171           $ref: "../swagger.yaml#/definitions/error"
172       403:
173         description: Access forbidden
174         schema:
175           $ref: "../swagger.yaml#/definitions/error"
176       404:
177         description: Ressource not found
178         schema:
179           $ref: "../swagger.yaml#/definitions/error"
180       500:
181         description: |-
182           Internal server error. Possible `error_code` attribute values:
183           * `internal_server_error`
184         schema:
185           $ref: "../swagger.yaml#/definitions/error"
186       503:
187         description: Under maintenance
188         schema:
189           $ref: "../swagger.yaml#/definitions/error"
190     x-koha-authorization:
191       permissions:
192         erm: 1
193     x-koha-embed:
194       - agreements
195       - resources
196   put:
197     x-mojo-to: ERM::EHoldings::Packages#update
198     operationId: updateErmEHoldingsPackages
199     tags:
200       - package
201     summary: Update eHoldings package
202     consumes:
203       - application/json
204     produces:
205       - application/json
206     parameters:
207       - $ref: "../swagger.yaml#/parameters/eholdings_package_id_pp"
208       - name: body
209         in: body
210         description: A JSON object containing new information about existing package
211         required: true
212         schema:
213           $ref: "../swagger.yaml#/definitions/erm_eholdings_package"
214     responses:
215       200:
216         description: A successfully updated package
217         schema:
218           items:
219             $ref: "../swagger.yaml#/definitions/erm_eholdings_package"
220       400:
221         description: Bad parameter
222         schema:
223           $ref: "../swagger.yaml#/definitions/error"
224       403:
225         description: Access forbidden
226         schema:
227           $ref: "../swagger.yaml#/definitions/error"
228       404:
229         description: Ressource not found
230         schema:
231           $ref: "../swagger.yaml#/definitions/error"
232       409:
233         description: Conflict in updating resource
234         schema:
235           $ref: "../swagger.yaml#/definitions/error"
236       500:
237         description: |-
238           Internal server error. Possible `error_code` attribute values:
239           * `internal_server_error`
240         schema:
241           $ref: "../swagger.yaml#/definitions/error"
242       503:
243         description: Under maintenance
244         schema:
245           $ref: "../swagger.yaml#/definitions/error"
246     x-koha-authorization:
247       permissions:
248         erm: 1
249     x-koha-embed:
250       - agreements
251       - resources
252   delete:
253     x-mojo-to: ERM::EHoldings::Packages#delete
254     operationId: deleteErmEHoldingsPackages
255     tags:
256       - package
257     summary: Delete eHoldings package
258     produces:
259       - application/json
260     parameters:
261       - $ref: "../swagger.yaml#/parameters/eholdings_package_id_pp"
262     responses:
263       204:
264         description: package deleted
265       400:
266         description: package deletion failed
267         schema:
268           $ref: "../swagger.yaml#/definitions/error"
269       401:
270         description: Authentication required
271         schema:
272           $ref: "../swagger.yaml#/definitions/error"
273       403:
274         description: Access forbidden
275         schema:
276           $ref: "../swagger.yaml#/definitions/error"
277       404:
278         description: Ressource not found
279         schema:
280           $ref: "../swagger.yaml#/definitions/error"
281       409:
282         description: Conflict in deleting resource
283         schema:
284           $ref: "../swagger.yaml#/definitions/error"
285       500:
286         description: |-
287           Internal server error. Possible `error_code` attribute values:
288           * `internal_server_error`
289         schema:
290           $ref: "../swagger.yaml#/definitions/error"
291       503:
292         description: Under maintenance
293         schema:
294           $ref: "../swagger.yaml#/definitions/error"
295     x-koha-authorization:
296       permissions:
297         erm: 1