82c67bf32476d7b7b83b870c934d1b726b4812b4
[srvgit] / api / v1 / swagger / paths / checkouts.yaml
1 ---
2 /checkouts:
3   get:
4     x-mojo-to: Checkouts#list
5     operationId: listCheckouts
6     tags:
7       - checkouts
8     summary: List checkouts
9     parameters:
10       - $ref: "../swagger.yaml#/parameters/patron_id_qp"
11       - $ref: "../swagger.yaml#/parameters/page"
12       - $ref: "../swagger.yaml#/parameters/per_page"
13       - $ref: "../swagger.yaml#/parameters/match"
14       - $ref: "../swagger.yaml#/parameters/order_by"
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       - name: checked_in
20         in: query
21         description: By default, current checkouts are returned, when this is true then
22           checked in checkouts are returned as result.
23         type: boolean
24       - name: x-koha-embed
25         in: header
26         required: false
27         description: Embed list sent as a request header
28         type: array
29         items:
30           type: string
31           enum:
32             - issuer
33             - renewals
34         collectionFormat: csv
35     produces:
36       - application/json
37     responses:
38       "200":
39         description: A list of checkouts
40         schema:
41           $ref: "../swagger.yaml#/definitions/checkouts"
42       "403":
43         description: Access forbidden
44         schema:
45           $ref: "../swagger.yaml#/definitions/error"
46       "404":
47         description: Patron not found
48         schema:
49           $ref: "../swagger.yaml#/definitions/error"
50       "500":
51         description: |
52           Internal server error. Possible `error_code` attribute values:
53
54           * `internal_server_error`
55         schema:
56           $ref: "../swagger.yaml#/definitions/error"
57       "503":
58         description: Under maintenance
59         schema:
60           $ref: "../swagger.yaml#/definitions/error"
61     x-koha-authorization:
62       permissions:
63         circulate: circulate_remaining_permissions
64 "/checkouts/{checkout_id}":
65   get:
66     x-mojo-to: Checkouts#get
67     operationId: getCheckout
68     tags:
69       - checkouts
70     summary: Get checkout
71     parameters:
72       - $ref: "../swagger.yaml#/parameters/checkout_id_pp"
73       - name: x-koha-embed
74         in: header
75         required: false
76         description: Embed list sent as a request header
77         type: array
78         items:
79           type: string
80           enum:
81             - issuer
82             - renewals
83         collectionFormat: csv
84     produces:
85       - application/json
86     responses:
87       "200":
88         description: Updated borrower's checkout
89         schema:
90           $ref: "../swagger.yaml#/definitions/checkout"
91       "403":
92         description: Access forbidden
93         schema:
94           $ref: "../swagger.yaml#/definitions/error"
95       "404":
96         description: Checkout not found
97         schema:
98           $ref: "../swagger.yaml#/definitions/error"
99       "500":
100         description: |
101           Internal server error. Possible `error_code` attribute values:
102
103           * `internal_server_error`
104         schema:
105           $ref: "../swagger.yaml#/definitions/error"
106       "503":
107         description: Under maintenance
108         schema:
109           $ref: "../swagger.yaml#/definitions/error"
110     x-koha-authorization:
111       permissions:
112         circulate: circulate_remaining_permissions
113 "/checkouts/{checkout_id}/renewal":
114   post:
115     x-mojo-to: Checkouts#renew
116     operationId: renewCheckout
117     tags:
118       - checkouts
119     summary: Renew a checkout
120     parameters:
121       - $ref: "../swagger.yaml#/parameters/checkout_id_pp"
122       - $ref: "../swagger.yaml#/parameters/seen_pp"
123     produces:
124       - application/json
125     responses:
126       "201":
127         description: Updated borrower's checkout
128         schema:
129           $ref: "../swagger.yaml#/definitions/checkout"
130       "403":
131         description: Cannot renew checkout
132         schema:
133           $ref: "../swagger.yaml#/definitions/error"
134       "404":
135         description: Checkout not found
136         schema:
137           $ref: "../swagger.yaml#/definitions/error"
138       "500":
139         description: |
140           Internal server error. Possible `error_code` attribute values:
141
142           * `internal_server_error`
143         schema:
144           $ref: "../swagger.yaml#/definitions/error"
145       "503":
146         description: Under maintenance
147         schema:
148           $ref: "../swagger.yaml#/definitions/error"
149     x-koha-authorization:
150       permissions:
151         circulate: circulate_remaining_permissions
152 "/checkouts/{checkout_id}/renewals":
153   post:
154     x-mojo-to: Checkouts#renew
155     operationId: renewsCheckout
156     tags:
157       - checkouts
158     summary: Renew a checkout
159     parameters:
160       - $ref: "../swagger.yaml#/parameters/checkout_id_pp"
161       - $ref: "../swagger.yaml#/parameters/seen_pp"
162     produces:
163       - application/json
164     responses:
165       "201":
166         description: Updated borrower's checkout
167         schema:
168           $ref: "../swagger.yaml#/definitions/checkout"
169       "403":
170         description: Cannot renew checkout
171         schema:
172           $ref: "../swagger.yaml#/definitions/error"
173       "404":
174         description: Checkout not found
175         schema:
176           $ref: "../swagger.yaml#/definitions/error"
177       "500":
178         description: |
179           Internal server error. Possible `error_code` attribute values:
180
181           * `internal_server_error`
182         schema:
183           $ref: "../swagger.yaml#/definitions/error"
184       "503":
185         description: Under maintenance
186         schema:
187           $ref: "../swagger.yaml#/definitions/error"
188     x-koha-authorization:
189       permissions:
190         circulate: circulate_remaining_permissions
191   get:
192     x-mojo-to: Checkouts#get_renewals
193     operationId: getRenewals
194     tags:
195       - checkouts
196     summary: List renewals for a checkout
197     parameters:
198       - $ref: "../swagger.yaml#/parameters/checkout_id_pp"
199       - name: x-koha-embed
200         in: header
201         required: false
202         description: Embed list sent as a request header
203         type: array
204         items:
205           type: string
206           enum:
207             - renewer
208         collectionFormat: csv
209     produces:
210       - application/json
211     responses:
212       "200":
213         description: List of checkouts renewals
214         schema:
215           $ref: "../swagger.yaml#/definitions/renewals"
216       "403":
217         description: Access forbidden
218         schema:
219           $ref: "../swagger.yaml#/definitions/error"
220       "404":
221         description: Checkout not found
222         schema:
223           $ref: "../swagger.yaml#/definitions/error"
224       "500":
225         description: |
226           Internal server error. Possible `error_code` attribute values:
227
228           * `internal_server_error`
229         schema:
230           $ref: "../swagger.yaml#/definitions/error"
231       "503":
232         description: Under maintenance
233         schema:
234           $ref: "../swagger.yaml#/definitions/error"
235     x-koha-authorization:
236       permissions:
237         circulate: circulate_remaining_permissions
238     x-koha-embed:
239         - renewer
240 "/checkouts/{checkout_id}/allows_renewal":
241   get:
242     x-mojo-to: Checkouts#allows_renewal
243     operationId: allows_renewalCheckout
244     tags:
245       - checkouts
246     summary: Get renewability for a checkout
247     parameters:
248       - $ref: "../swagger.yaml#/parameters/checkout_id_pp"
249     produces:
250       - application/json
251     responses:
252       "200":
253         description: Checkout renewability information
254         schema:
255           $ref: "../swagger.yaml#/definitions/allows_renewal"
256       "403":
257         description: Forbidden
258         schema:
259           $ref: "../swagger.yaml#/definitions/error"
260       "404":
261         description: Checkout not found
262         schema:
263           $ref: "../swagger.yaml#/definitions/error"
264       "500":
265         description: |
266           Internal server error. Possible `error_code` attribute values:
267
268           * `internal_server_error`
269         schema:
270           $ref: "../swagger.yaml#/definitions/error"
271       "503":
272         description: Under maintenance
273         schema:
274           $ref: "../swagger.yaml#/definitions/error"
275     x-koha-authorization:
276       permissions:
277         circulate: circulate_remaining_permissions