Bug 28020: (follow-up) Add docs about error_code on the API
[koha.git] / api / v1 / swagger / paths / config_smtp_servers.yaml
1 ---
2 /config/smtp_servers:
3   get:
4     x-mojo-to: Config::SMTP::Servers#list
5     operationId: listSMTPServers
6     tags:
7       - smtp_servers
8     summary: List SMTP servers
9     produces:
10       - application/json
11     parameters:
12       - $ref: ../parameters.yaml#/match
13       - $ref: ../parameters.yaml#/order_by
14       - $ref: ../parameters.yaml#/page
15       - $ref: ../parameters.yaml#/per_page
16       - $ref: ../parameters.yaml#/q_param
17       - $ref: ../parameters.yaml#/q_body
18       - $ref: ../parameters.yaml#/q_header
19     responses:
20       "200":
21         description: A list of SMTP servers
22         schema:
23           type: array
24           items:
25             $ref: ../definitions.yaml#/smtp_server
26       "403":
27         description: Access forbidden
28         schema:
29           $ref: ../definitions.yaml#/error
30       "500":
31         description: |
32           Internal server error. Possible `error_code` attribute values:
33
34           * `internal_server_error`
35         schema:
36           $ref: ../definitions.yaml#/error
37       "503":
38         description: Under maintenance
39         schema:
40           $ref: ../definitions.yaml#/error
41     x-koha-authorization:
42       permissions:
43         parameters: manage_smtp_servers
44   post:
45     x-mojo-to: Config::SMTP::Servers#add
46     operationId: addSMTPServer
47     tags:
48       - smtp_servers
49     summary: Add SMTP server
50     parameters:
51       - name: body
52         in: body
53         description: A JSON object representing a new SMTP server configuration
54         required: true
55         schema:
56           $ref: ../definitions.yaml#/smtp_server
57     produces:
58       - application/json
59     responses:
60       "201":
61         description: An SMTP server object
62         schema:
63           $ref: ../definitions.yaml#/smtp_server
64       "401":
65         description: Authentication required
66         schema:
67           $ref: ../definitions.yaml#/error
68       "403":
69         description: Access forbidden
70         schema:
71           $ref: ../definitions.yaml#/error
72       "409":
73         description: Conflict in creating resource
74         schema:
75           $ref: ../definitions.yaml#/error
76       "500":
77         description: |
78           Internal server error. Possible `error_code` attribute values:
79
80           * `internal_server_error`
81         schema:
82           $ref: ../definitions.yaml#/error
83       "503":
84         description: Under maintenance
85         schema:
86           $ref: ../definitions.yaml#/error
87     x-koha-authorization:
88       permissions:
89         parameters: manage_smtp_servers
90 "/config/smtp_servers/{smtp_server_id}":
91   get:
92     x-mojo-to: Config::SMTP::Servers#get
93     operationId: getSMTPServer
94     tags:
95       - smtp_servers
96     summary: Get SMTP server
97     parameters:
98       - $ref: ../parameters.yaml#/smtp_server_id_pp
99     produces:
100       - application/json
101     responses:
102       "200":
103         description: An SMTP server object
104         schema:
105           $ref: ../definitions.yaml#/smtp_server
106       "404":
107         description: Object not found
108         schema:
109           $ref: ../definitions.yaml#/error
110       "409":
111         description: Conflict updating resource
112         schema:
113           $ref: ../definitions.yaml#/error
114       "500":
115         description: |
116           Internal server error. Possible `error_code` attribute values:
117
118           * `internal_server_error`
119         schema:
120           $ref: ../definitions.yaml#/error
121       "503":
122         description: Under maintenance
123         schema:
124           $ref: ../definitions.yaml#/error
125     x-koha-authorization:
126       permissions:
127         parameters: manage_smtp_servers
128   put:
129     x-mojo-to: Config::SMTP::Servers#update
130     operationId: updateSMTPServer
131     tags:
132       - smtp_servers
133     summary: Update SMTP server
134     parameters:
135       - $ref: ../parameters.yaml#/smtp_server_id_pp
136       - name: body
137         in: body
138         description: An SMTP server object
139         required: true
140         schema:
141           $ref: ../definitions.yaml#/smtp_server
142     produces:
143       - application/json
144     responses:
145       "200":
146         description: An SMTP server object
147         schema:
148           $ref: ../definitions.yaml#/smtp_server
149       "401":
150         description: Authentication required
151         schema:
152           $ref: ../definitions.yaml#/error
153       "403":
154         description: Access forbidden
155         schema:
156           $ref: ../definitions.yaml#/error
157       "404":
158         description: Object not found
159         schema:
160           $ref: ../definitions.yaml#/error
161       "500":
162         description: |
163           Internal server error. Possible `error_code` attribute values:
164
165           * `internal_server_error`
166         schema:
167           $ref: ../definitions.yaml#/error
168       "503":
169         description: Under maintenance
170         schema:
171           $ref: ../definitions.yaml#/error
172     x-koha-authorization:
173       permissions:
174         parameters: manage_smtp_servers
175   delete:
176     x-mojo-to: Config::SMTP::Servers#delete
177     operationId: deleteSMTPServer
178     tags:
179       - smtp_servers
180     summary: Delete SMTP server
181     parameters:
182       - $ref: ../parameters.yaml#/smtp_server_id_pp
183     produces:
184       - application/json
185     responses:
186       "204":
187         description: SMTP server deleted
188       "401":
189         description: Authentication required
190         schema:
191           $ref: ../definitions.yaml#/error
192       "403":
193         description: Access forbidden
194         schema:
195           $ref: ../definitions.yaml#/error
196       "404":
197         description: Object not found
198         schema:
199           $ref: ../definitions.yaml#/error
200       "500":
201         description: |
202           Internal server error. Possible `error_code` attribute values:
203
204           * `internal_server_error`
205         schema:
206           $ref: ../definitions.yaml#/error
207       "503":
208         description: Under maintenance
209         schema:
210           $ref: ../definitions.yaml#/error
211     x-koha-authorization:
212       permissions:
213         parameters: manage_smtp_servers