Bug 29234: Further clean Z3950 Tests
[srvgit] / api / v1 / swagger / paths / patrons_extended_attributes.yaml
1 ---
2 "/patrons/{patron_id}/extended_attributes":
3   get:
4     x-mojo-to: Patrons::Attributes#list_patron_attributes
5     operationId: getPatronAttributes
6     tags:
7       - patrons
8     summary: List extended attributes for a patron
9     parameters:
10       - $ref: "../swagger.yaml#/parameters/patron_id_pp"
11       - $ref: "../swagger.yaml#/parameters/match"
12       - $ref: "../swagger.yaml#/parameters/order_by"
13       - $ref: "../swagger.yaml#/parameters/page"
14       - $ref: "../swagger.yaml#/parameters/per_page"
15       - $ref: "../swagger.yaml#/parameters/q_param"
16       - $ref: "../swagger.yaml#/parameters/q_body"
17       - $ref: "../swagger.yaml#/parameters/q_header"
18       - $ref: "../swagger.yaml#/parameters/request_id_header"
19     produces:
20       - application/json
21     responses:
22       "200":
23         description: The patron extended attributes
24         schema:
25           type: array
26           items:
27             $ref: "../swagger.yaml#/definitions/patron_extended_attribute"
28       "401":
29         description: Authentication required
30         schema:
31           $ref: "../swagger.yaml#/definitions/error"
32       "403":
33         description: Access forbidden
34         schema:
35           $ref: "../swagger.yaml#/definitions/error"
36       "404":
37         description: Patron not found
38         schema:
39           $ref: "../swagger.yaml#/definitions/error"
40       "500":
41         description: |
42           Internal server error. Possible `error_code` attribute values:
43
44           * `internal_server_error`
45         schema:
46           $ref: "../swagger.yaml#/definitions/error"
47       "503":
48         description: Under maintenance
49         schema:
50           $ref: "../swagger.yaml#/definitions/error"
51     x-koha-authorization:
52       permissions:
53         borrowers: edit_borrowers
54   post:
55     x-mojo-to: Patrons::Attributes#add
56     operationId: addPatronAttribute
57     tags:
58       - patrons
59     summary: Add extended attribute for a patron
60     parameters:
61       - $ref: "../swagger.yaml#/parameters/patron_id_pp"
62       - name: body
63         in: body
64         description: A JSON representation of the patron extended attribute
65         required: true
66         schema:
67           $ref: "../swagger.yaml#/definitions/patron_extended_attribute"
68     produces:
69       - application/json
70     responses:
71       "201":
72         description: A successfully created patron extended attribute
73         schema:
74           $ref: "../swagger.yaml#/definitions/patron_extended_attribute"
75       "400":
76         description: Bad parameter
77         schema:
78           $ref: "../swagger.yaml#/definitions/error"
79       "401":
80         description: Authentication required
81         schema:
82           $ref: "../swagger.yaml#/definitions/error"
83       "403":
84         description: Access forbidden
85         schema:
86           $ref: "../swagger.yaml#/definitions/error"
87       "404":
88         description: Patron not found
89         schema:
90           $ref: "../swagger.yaml#/definitions/error"
91       "409":
92         description: Conflict in creating resource
93         schema:
94           $ref: "../swagger.yaml#/definitions/error"
95       "500":
96         description: |
97           Internal server error. Possible `error_code` attribute values:
98
99           * `internal_server_error`
100         schema:
101           $ref: "../swagger.yaml#/definitions/error"
102       "503":
103         description: Under maintenance
104         schema:
105           $ref: "../swagger.yaml#/definitions/error"
106     x-koha-authorization:
107       permissions:
108         borrowers: edit_borrowers
109   put:
110     x-mojo-to: Patrons::Attributes#overwrite
111     operationId: overwritePatronAttributes
112     tags:
113       - patrons
114     summary: Overwrite extended attributes for a patron
115     parameters:
116       - $ref: "../swagger.yaml#/parameters/patron_id_pp"
117       - name: body
118         in: body
119         description: A JSON representation of the patron extended attribute
120         required: true
121         schema:
122           type: array
123           items:
124             $ref: "../swagger.yaml#/definitions/patron_extended_attribute"
125     produces:
126       - application/json
127     responses:
128       "200":
129         description: The successfully created patron extended attributes
130         schema:
131           type: array
132           items:
133             $ref: "../swagger.yaml#/definitions/patron_extended_attribute"
134       "400":
135         description: Bad parameters
136         schema:
137           $ref: "../swagger.yaml#/definitions/error"
138       "401":
139         description: Authentication required
140         schema:
141           $ref: "../swagger.yaml#/definitions/error"
142       "403":
143         description: Access forbidden
144         schema:
145           $ref: "../swagger.yaml#/definitions/error"
146       "404":
147         description: Patron not found
148         schema:
149           $ref: "../swagger.yaml#/definitions/error"
150       "409":
151         description: Conflict in creating resource
152         schema:
153           $ref: "../swagger.yaml#/definitions/error"
154       "500":
155         description: |
156           Internal server error. Possible `error_code` attribute values:
157
158           * `internal_server_error`
159         schema:
160           $ref: "../swagger.yaml#/definitions/error"
161       "503":
162         description: Under maintenance
163         schema:
164           $ref: "../swagger.yaml#/definitions/error"
165     x-koha-authorization:
166       permissions:
167         borrowers: edit_borrowers
168 "/patrons/{patron_id}/extended_attributes/{extended_attribute_id}":
169   patch:
170     x-mojo-to: Patrons::Attributes#update
171     operationId: updatePatronAttribute
172     tags:
173       - patrons
174     summary: Update extended attribute
175     parameters:
176       - $ref: "../swagger.yaml#/parameters/patron_id_pp"
177       - name: extended_attribute_id
178         in: path
179         description: Internal patron extended attribute identifier
180         type: integer
181         required: true
182       - name: body
183         in: body
184         description: An object containing the updated values for the patron extended
185           attribute
186         required: true
187         schema:
188           type: object
189           properties:
190             value:
191               description: Extended attribute value
192               type: string
193           additionalProperties: false
194     produces:
195       - application/json
196     responses:
197       "200":
198         description: A successfully updated patron extended attribute
199         schema:
200           $ref: "../swagger.yaml#/definitions/patron_extended_attribute"
201       "400":
202         description: Bad parameter
203         schema:
204           $ref: "../swagger.yaml#/definitions/error"
205       "401":
206         description: Authentication required
207         schema:
208           $ref: "../swagger.yaml#/definitions/error"
209       "403":
210         description: Access forbidden
211         schema:
212           $ref: "../swagger.yaml#/definitions/error"
213       "404":
214         description: Object not found
215         schema:
216           $ref: "../swagger.yaml#/definitions/error"
217       "409":
218         description: Conflict in updating resource
219         schema:
220           $ref: "../swagger.yaml#/definitions/error"
221       "500":
222         description: |
223           Internal server error. Possible `error_code` attribute values:
224
225           * `internal_server_error`
226         schema:
227           $ref: "../swagger.yaml#/definitions/error"
228       "503":
229         description: Under maintenance
230         schema:
231           $ref: "../swagger.yaml#/definitions/error"
232     x-koha-authorization:
233       permissions:
234         borrowers: edit_borrowers
235   delete:
236     x-mojo-to: Patrons::Attributes#delete
237     operationId: deletePatronAttribute
238     tags:
239       - patrons
240     summary: Delete extended attribute
241     parameters:
242       - $ref: "../swagger.yaml#/parameters/patron_id_pp"
243       - name: extended_attribute_id
244         in: path
245         description: Internal patron extended attribute identifier
246         type: integer
247         required: true
248     produces:
249       - application/json
250     responses:
251       "204":
252         description: Extended patron attribute deleted
253       "401":
254         description: Authentication required
255         schema:
256           $ref: "../swagger.yaml#/definitions/error"
257       "403":
258         description: Access forbidden
259         schema:
260           $ref: "../swagger.yaml#/definitions/error"
261       "404":
262         description: Patron not found
263         schema:
264           $ref: "../swagger.yaml#/definitions/error"
265       "500":
266         description: |
267           Internal server error. Possible `error_code` attribute values:
268
269           * `internal_server_error`
270         schema:
271           $ref: "../swagger.yaml#/definitions/error"
272       "503":
273         description: Under maintenance
274         schema:
275           $ref: "../swagger.yaml#/definitions/error"
276     x-koha-authorization:
277       permissions:
278         borrowers: edit_borrowers