Bug 32030: Add/remove resources to/from EBSCO's holdings
[koha.git] / api / v1 / swagger / paths / erm_eholdings_resources.yaml
1 ---
2 /erm/eholdings/{provider}/resources:
3   get:
4     x-mojo-to: ERM::EHoldings::Resources#list
5     operationId: listErmEHoldingsResources
6     tags:
7       - eholdings
8     summary: List eholdings resources
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 resource_id
18         in: query
19         name: resource_id
20         required: false
21         type: string
22       - description: Case insensitive search on package_id
23         in: query
24         name: package_id
25         required: false
26         type: string
27       - description: Case insensitive search on title vendor_id
28         in: query
29         name: vendor_id
30         required: false
31         type: integer
32       - description: Case insensitive search on started_on
33         in: query
34         name: started_on
35         required: false
36         type: string
37       - description: Case insensitive search on ended_on
38         in: query
39         name: ended_on
40         required: false
41         type: string
42       - description: Case insensitive search on proxy
43         in: query
44         name: proxy
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 eHoldings resources
57         schema:
58           items:
59             $ref: "../swagger.yaml#/definitions/erm_eholdings_resource"
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 "/erm/eholdings/{provider}/resources/{resource_id}":
83   get:
84     x-mojo-to: ERM::EHoldings::Resources#get
85     operationId: getErmEHoldingsResources
86     tags:
87       - eholdings
88     summary: Get resources
89     produces:
90       - application/json
91     parameters:
92       - description: Provider name
93         in: path
94         name: provider
95         required: true
96         type: string
97       - $ref: "../swagger.yaml#/parameters/eholdings_resource_id_pp"
98     responses:
99       200:
100         description: An eHolding resource
101         schema:
102           items:
103             $ref: "../swagger.yaml#/definitions/erm_eholdings_resource"
104       401:
105         description: Authentication required
106         schema:
107           $ref: "../swagger.yaml#/definitions/error"
108       403:
109         description: Access forbidden
110         schema:
111           $ref: "../swagger.yaml#/definitions/error"
112       404:
113         description: Ressource not found
114         schema:
115           $ref: "../swagger.yaml#/definitions/error"
116       500:
117         description: |-
118           Internal server error. Possible `error_code` attribute values:
119           * `internal_server_error`
120         schema:
121           $ref: "../swagger.yaml#/definitions/error"
122       503:
123         description: Under maintenance
124         schema:
125           $ref: "../swagger.yaml#/definitions/error"
126     x-koha-authorization:
127       permissions:
128         erm: 1
129     x-koha-embed:
130       - resources
131       - resources.package
132   patch:
133     x-mojo-to: ERM::EHoldings::Resources#edit
134     operationId: editErmEHoldingsResources
135     tags:
136       - eholdings
137     summary: Edit a resource
138     produces:
139       - application/json
140     parameters:
141       - description: Provider name
142         in: path
143         name: provider
144         required: true
145         type: string
146       - description: A JSON object containing the fields to edit
147         in: body
148         name: body
149         required: true
150         schema:
151           type: object
152           properties:
153             is_selected:
154               description: Add or remove this resource from remote holdings
155               type: boolean
156           additionalProperties: false
157       - $ref: "../swagger.yaml#/parameters/eholdings_resource_id_pp"
158     responses:
159       200:
160         description: What has been modified
161         schema:
162           type: object
163           properties:
164             is_selected:
165               description: Add or remove this resource from remote holdings
166               type: boolean
167           additionalProperties: false
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