Bug 30708: Add user_train_item_id
[koha.git] / api / v1 / swagger / swagger.yaml
1 ---
2 swagger: "2.0"
3 basePath: /api/v1
4 definitions:
5   account_line:
6     $ref: ./definitions/account_line.yaml
7   advancededitormacro:
8     $ref: ./definitions/advancededitormacro.yaml
9   allows_renewal:
10     $ref: ./definitions/allows_renewal.yaml
11   authorised_value:
12     $ref: ./definitions/authorised_value.yaml
13   authorised_value_category:
14     $ref: ./definitions/authorised_value_category.yaml
15   identity_provider:
16     "$ref": ./definitions/identity_provider.yaml
17   identity_provider_domain:
18     "$ref": ./definitions/identity_provider_domain.yaml
19   basket:
20     $ref: ./definitions/basket.yaml
21   bundle_link:
22     $ref: ./definitions/bundle_link.yaml
23   cashup:
24     $ref: ./definitions/cashup.yaml
25   checkout:
26     $ref: ./definitions/checkout.yaml
27   checkouts:
28     $ref: ./definitions/checkouts.yaml
29   checkout_availability:
30     $ref: ./definitions/checkout_availability.yaml
31   circ-rule-kind:
32     $ref: ./definitions/circ-rule-kind.yaml
33   city:
34     $ref: ./definitions/city.yaml
35   credit:
36     $ref: ./definitions/credit.yaml
37   debit:
38     $ref: ./definitions/debit.yaml
39   erm_config:
40     $ref: ./definitions/erm_config.yaml
41   erm_agreement:
42     $ref: ./definitions/erm_agreement.yaml
43   erm_eholdings_title:
44     $ref: ./definitions/erm_eholdings_title.yaml
45   erm_eholdings_package:
46     $ref: ./definitions/erm_eholdings_package.yaml
47   erm_eholdings_resource:
48     $ref: ./definitions/erm_eholdings_resource.yaml
49   erm_license:
50     $ref: ./definitions/erm_license.yaml
51   error:
52     $ref: ./definitions/error.yaml
53   fund:
54     $ref: ./definitions/fund.yaml
55   hold:
56     $ref: ./definitions/hold.yaml
57   holds:
58     $ref: ./definitions/holds.yaml
59   ill_backend:
60     $ref: ./definitions/ill_backend.yaml
61   ill_backends:
62     $ref: ./definitions/ill_backends.yaml
63   ill_status:
64     $ref: ./definitions/ill_status.yaml
65   ill_request:
66     $ref: ./definitions/ill_request.yaml
67   ill_batch:
68     $ref: ./definitions/ill_batch.yaml
69   ill_batches:
70     $ref: ./definitions/ill_batches.yaml
71   ill_batchstatus:
72     $ref: ./definitions/ill_batchstatus.yaml
73   ill_batchstatuses:
74     $ref: ./definitions/ill_batchstatuses.yaml
75   import_batch_profile:
76     $ref: ./definitions/import_batch_profile.yaml
77   import_batch_profiles:
78     $ref: ./definitions/import_batch_profiles.yaml
79   import_record_match:
80     $ref: ./definitions/import_record_match.yaml
81   invoice:
82     $ref: ./definitions/invoice.yaml
83   item:
84     $ref: ./definitions/item.yaml
85   item_group:
86     $ref: ./definitions/item_group.yaml
87   job:
88     $ref: ./definitions/job.yaml
89   library:
90     $ref: ./definitions/library.yaml
91   order:
92     $ref: ./definitions/order.yaml
93   patron:
94     $ref: ./definitions/patron.yaml
95   patron_account_credit:
96     $ref: ./definitions/patron_account_credit.yaml
97   patron_balance:
98     $ref: ./definitions/patron_balance.yaml
99   patron_extended_attribute:
100     $ref: ./definitions/patron_extended_attribute.yaml
101   preservation_train:
102     $ref: ./definitions/preservation_train.yaml
103   preservation_processing:
104     $ref: ./definitions/preservation_processing.yaml
105   quote:
106     $ref: ./definitions/quote.yaml
107   renewal:
108     $ref: ./definitions/renewal.yaml
109   renewals:
110     $ref: ./definitions/renewals.yaml
111   return_claim:
112     $ref: ./definitions/return_claim.yaml
113   search_filter:
114     $ref: ./definitions/search_filter.yaml
115   smtp_server:
116     $ref: ./definitions/smtp_server.yaml
117   suggestion:
118     $ref: ./definitions/suggestion.yaml
119   ticket:
120     $ref: ./definitions/ticket.yaml
121   ticket_update:
122     $ref: ./definitions/ticket_update.yaml
123   transfer_limit:
124     $ref: ./definitions/transfer_limit.yaml
125   vendor:
126     $ref: ./definitions/vendor.yaml
127   vendor_issue:
128     $ref: ./definitions/vendor_issue.yaml
129 paths:
130   /acquisitions/baskets/managers:
131     $ref: paths/acquisitions_baskets.yaml#/~1acquisitions~1baskets~1managers
132   /acquisitions/funds:
133     $ref: ./paths/acquisitions_funds.yaml#/~1acquisitions~1funds
134   /acquisitions/funds/owners:
135     $ref: paths/acquisitions_funds.yaml#/~1acquisitions~1funds~1owners
136   /acquisitions/funds/users:
137     $ref: paths/acquisitions_funds.yaml#/~1acquisitions~1funds~1users
138   /acquisitions/orders:
139     $ref: ./paths/acquisitions_orders.yaml#/~1acquisitions~1orders
140   "/acquisitions/orders/{order_id}":
141     $ref: "./paths/acquisitions_orders.yaml#/~1acquisitions~1orders~1{order_id}"
142   /acquisitions/vendors:
143     $ref: ./paths/acquisitions_vendors.yaml#/~1acquisitions~1vendors
144   "/acquisitions/vendors/{vendor_id}":
145     $ref: "./paths/acquisitions_vendors.yaml#/~1acquisitions~1vendors~1{vendor_id}"
146   "/acquisitions/vendors/{vendor_id}/issues":
147     $ref: "./paths/acquisitions_vendor_issues.yaml#/~1acquisitions~1vendors~1{vendor_id}~1issues"
148   /advanced_editor/macros:
149     $ref: ./paths/advancededitormacros.yaml#/~1advanced_editor~1macros
150   /advanced_editor/macros/shared:
151     $ref: ./paths/advancededitormacros.yaml#/~1advanced_editor~1macros~1shared
152   /search_filters:
153     $ref: ./paths/search_filters.yaml#/~1search_filters
154   "/search_filters/{search_filter_id}":
155     $ref: "./paths/search_filters.yaml#/~1search_filters~1{search_filter_id}"
156   "/advanced_editor/macros/shared/{advancededitormacro_id}":
157     $ref: "./paths/advancededitormacros.yaml#/~1advanced_editor~1macros~1shared~1{advancededitormacro_id}"
158   "/advanced_editor/macros/{advancededitormacro_id}":
159     $ref: "./paths/advancededitormacros.yaml#/~1advanced_editor~1macros~1{advancededitormacro_id}"
160   "/article_requests/{article_request_id}":
161     $ref: "./paths/article_requests.yaml#/~1article_requests~1{article_request_id}"
162   /auth/otp/token_delivery:
163     $ref: paths/auth.yaml#/~1auth~1otp~1token_delivery
164   "/auth/password/validation":
165     $ref: "./paths/auth.yaml#/~1auth~1password~1validation"
166   /auth/two-factor/registration:
167     $ref: paths/auth.yaml#/~1auth~1two-factor~1registration
168   /auth/two-factor/registration/verification:
169     $ref: paths/auth.yaml#/~1auth~1two-factor~1registration~1verification
170   /auth/identity_providers:
171     $ref: paths/auth.yaml#/~1auth~1identity_providers
172   "/auth/identity_providers/{identity_provider_id}":
173     $ref: paths/auth.yaml#/~1auth~1identity_providers~1{identity_provider_id}
174   "/auth/identity_providers/{identity_provider_id}/domains":
175     $ref: paths/auth.yaml#/~1auth~1identity_providers~1{identity_provider_id}~1domains
176   "/auth/identity_providers/{identity_provider_id}/domains/{identity_provider_domain_id}":
177     $ref: paths/auth.yaml#/~1auth~1identity_providers~1{identity_provider_id}~1domains~1{identity_provider_domain_id}
178   /authorised_value_categories:
179     $ref: paths/authorised_value_categories.yaml#/~1authorised_value_categories
180   "/authorised_value_categories/{authorised_value_category_name}/authorised_values":
181     $ref: "./paths/authorised_values.yaml#/~1authorised_value_categories~1{authorised_value_category_name}~1authorised_values"
182   "/authorities":
183     $ref: paths/authorities.yaml#/~1authorities
184   "/authorities/{authority_id}":
185     $ref: paths/authorities.yaml#/~1authorities~1{authority_id}
186   "/biblios":
187     $ref: "./paths/biblios.yaml#/~1biblios"
188   "/biblios/{biblio_id}":
189     $ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}"
190   "/biblios/{biblio_id}/checkouts":
191     $ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1checkouts"
192   "/biblios/{biblio_id}/items":
193     $ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1items"
194   "/biblios/{biblio_id}/items/{item_id}":
195     $ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1items~1{item_id}"
196   "/biblios/{biblio_id}/pickup_locations":
197     $ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1pickup_locations"
198   "/biblios/{biblio_id}/item_groups":
199     $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups"
200   "/biblios/{biblio_id}/item_groups/{item_group_id}":
201     $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}"
202   "/biblios/{biblio_id}/item_groups/{item_group_id}/items":
203     $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}~1items"
204   "/biblios/{biblio_id}/item_groups/{item_group_id}/items/{item_id}":
205     $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}~1items~1{item_id}"
206   "/cash_registers/{cash_register_id}/cashups":
207     $ref: "./paths/cash_registers.yaml#/~1cash_registers~1{cash_register_id}~1cashups"
208   "/cashups/{cashup_id}":
209     $ref: "./paths/cash_registers.yaml#/~1cashups~1{cashup_id}"
210   /checkouts:
211     $ref: ./paths/checkouts.yaml#/~1checkouts
212   "/checkouts/{checkout_id}":
213     $ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}"
214   "/checkouts/{checkout_id}/allows_renewal":
215     $ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}~1allows_renewal"
216   "/checkouts/{checkout_id}/renewals":
217     $ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}~1renewals"
218   "/checkouts/{checkout_id}/renewal":
219     $ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}~1renewal"
220   "/checkouts/availability":
221     $ref: "./paths/checkouts.yaml#/~1checkouts~1availability"
222   /circulation-rules/kinds:
223     $ref: ./paths/circulation-rules.yaml#/~1circulation-rules~1kinds
224   /cities:
225     $ref: ./paths/cities.yaml#/~1cities
226   "/cities/{city_id}":
227     $ref: "./paths/cities.yaml#/~1cities~1{city_id}"
228   "/clubs/{club_id}/holds":
229     $ref: "./paths/clubs.yaml#/~1clubs~1{club_id}~1holds"
230   /config/smtp_servers:
231     $ref: ./paths/config_smtp_servers.yaml#/~1config~1smtp_servers
232   "/config/smtp_servers/{smtp_server_id}":
233     $ref: "./paths/config_smtp_servers.yaml#/~1config~1smtp_servers~1{smtp_server_id}"
234   /erm/config:
235     $ref: ./paths/erm_config.yaml#/~1erm~1config
236   /erm/agreements:
237     $ref: ./paths/erm_agreements.yaml#/~1erm~1agreements
238   "/erm/agreements/{agreement_id}":
239     $ref: "./paths/erm_agreements.yaml#/~1erm~1agreements~1{agreement_id}"
240   "/erm/documents/{document_id}/file/content":
241     $ref: "./paths/erm_documents.yaml#/~1erm~1documents~1{document_id}~1file~1content"
242   "/erm/eholdings/{provider}/titles":
243     $ref: "./paths/erm_eholdings_titles.yaml#/~1erm~1eholdings~1{provider}~1titles"
244   /erm/eholdings/local/titles/import:
245     $ref: ./paths/erm_eholdings_titles.yaml#/~1erm~1eholdings~1local~1titles~1import
246   "/erm/eholdings/{provider}/titles/{title_id}":
247     $ref: "./paths/erm_eholdings_titles.yaml#/~1erm~1eholdings~1{provider}~1titles~1{title_id}"
248   "/erm/eholdings/{provider}/titles/{title_id}/resources":
249     $ref: "./paths/erm_eholdings_titles_resources.yaml#/~1erm~1eholdings~1{provider}~1titles~1{title_id}~1resources"
250   "/erm/eholdings/{provider}/packages":
251     $ref: "./paths/erm_eholdings_packages.yaml#/~1erm~1eholdings~1{provider}~1packages"
252   "/erm/eholdings/{provider}/resources":
253     $ref: "./paths/erm_eholdings_resources.yaml#/~1erm~1eholdings~1{provider}~1resources"
254   "/erm/eholdings/{provider}/resources/{resource_id}":
255     $ref: "./paths/erm_eholdings_resources.yaml#/~1erm~1eholdings~1{provider}~1resources~1{resource_id}"
256   "/erm/eholdings/{provider}/packages/{package_id}":
257     $ref: "./paths/erm_eholdings_packages.yaml#/~1erm~1eholdings~1{provider}~1packages~1{package_id}"
258   "/erm/eholdings/{provider}/packages/{package_id}/resources":
259     $ref: "./paths/erm_eholdings_packages_resources.yaml#/~1erm~1eholdings~1{provider}~1packages~1{package_id}~1resources"
260   /erm/licenses:
261     $ref: ./paths/erm_licenses.yaml#/~1erm~1licenses
262   "/erm/licenses/{license_id}":
263     $ref: "./paths/erm_licenses.yaml#/~1erm~1licenses~1{license_id}"
264   /erm/users:
265     $ref: ./paths/erm_users.yaml#/~1erm~1users
266   /holds:
267     $ref: ./paths/holds.yaml#/~1holds
268   "/holds/{hold_id}":
269     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}"
270   "/holds/{hold_id}/pickup_location":
271     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1pickup_location"
272   "/holds/{hold_id}/pickup_locations":
273     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1pickup_locations"
274   "/holds/{hold_id}/priority":
275     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1priority"
276   "/holds/{hold_id}/suspension":
277     $ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1suspension"
278   /ill/backends:
279     $ref: ./paths/ill_backends.yaml#/~1ill~1backends
280   "/ill/backends/{ill_backend_id}":
281     $ref: "./paths/ill_backends.yaml#/~1ill~1backends~1{ill_backend_id}"
282   /ill/requests:
283     $ref: ./paths/ill_requests.yaml#/~1ill~1requests
284   /ill/batches:
285     $ref: ./paths/ill_batches.yaml#/~1ill~1batches
286   "/ill/batches/{ill_batch_id}":
287     $ref: "./paths/ill_batches.yaml#/~1ill~1batches~1{ill_batch_id}"
288   /ill/batchstatuses:
289     $ref: ./paths/ill_batchstatuses.yaml#/~1ill~1batchstatuses
290   "/ill/batchstatuses/{ill_batchstatus_code}":
291     $ref: "./paths/ill_batchstatuses.yaml#/~1ill~1batchstatuses~1{ill_batchstatus_code}"
292   "/import_batches/{import_batch_id}/records/{import_record_id}/matches/chosen":
293     $ref: "./paths/import_batches.yaml#/~1import_batches~1{import_batch_id}~1records~1{import_record_id}~1matches~1chosen"
294   /import_batch_profiles:
295     $ref: ./paths/import_batch_profiles.yaml#/~1import_batch_profiles
296   "/import_batch_profiles/{import_batch_profile_id}":
297     $ref: "./paths/import_batch_profiles.yaml#/~1import_batch_profiles~1{import_batch_profile_id}"
298   /items:
299     $ref: ./paths/items.yaml#/~1items
300   "/items/{item_id}":
301     $ref: "./paths/items.yaml#/~1items~1{item_id}"
302   "/items/{item_id}/bundled_items":
303     $ref: ./paths/items.yaml#/~1items~1{item_id}~1bundled_items
304   "/items/{item_id}/bundled_items/{bundled_item_id}":
305     $ref: ./paths/items.yaml#/~1items~1{item_id}~1bundled_items~1{bundled_item_id}
306   "/items/{item_id}/pickup_locations":
307     $ref: "./paths/items.yaml#/~1items~1{item_id}~1pickup_locations"
308   /jobs:
309     $ref: ./paths/jobs.yaml#/~1jobs
310   "/jobs/{job_id}":
311     $ref: "./paths/jobs.yaml#/~1jobs~1{job_id}"
312   /libraries:
313     $ref: ./paths/libraries.yaml#/~1libraries
314   "/libraries/{library_id}":
315     $ref: "./paths/libraries.yaml#/~1libraries~1{library_id}"
316   "/oauth/login/{provider_code}/{interface}":
317     $ref: ./paths/oauth.yaml#/~1oauth~1login~1{provider_code}~1{interface}
318   /oauth/token:
319     $ref: ./paths/oauth.yaml#/~1oauth~1token
320   /patrons:
321     $ref: ./paths/patrons.yaml#/~1patrons
322   "/patrons/{patron_id}":
323     $ref: "./paths/patrons.yaml#/~1patrons~1{patron_id}"
324   "/patrons/{patron_id}/account":
325     $ref: "./paths/patrons_account.yaml#/~1patrons~1{patron_id}~1account"
326   "/patrons/{patron_id}/account/credits":
327     $ref: "./paths/patrons_account.yaml#/~1patrons~1{patron_id}~1account~1credits"
328   "/patrons/{patron_id}/account/debits":
329     $ref: "./paths/patrons_account.yaml#/~1patrons~1{patron_id}~1account~1debits"
330   "/patrons/{patron_id}/extended_attributes":
331     $ref: "./paths/patrons_extended_attributes.yaml#/~1patrons~1{patron_id}~1extended_attributes"
332   "/patrons/{patron_id}/extended_attributes/{extended_attribute_id}":
333     $ref: "./paths/patrons_extended_attributes.yaml#/~1patrons~1{patron_id}~1extended_attributes~1{extended_attribute_id}"
334   "/patrons/{patron_id}/holds":
335     $ref: "./paths/patrons_holds.yaml#/~1patrons~1{patron_id}~1holds"
336   "/patrons/{patron_id}/password":
337     $ref: "./paths/patrons_password.yaml#/~1patrons~1{patron_id}~1password"
338   "/patrons/{patron_id}/password/expiration_date":
339     $ref: "./paths/patrons_password.yaml#/~1patrons~1{patron_id}~1password~1expiration_date"
340   /preservation/trains:
341     $ref: ./paths/preservation_trains.yaml#/~1preservation~1trains
342   "/preservation/trains/{train_id}":
343     $ref: "./paths/preservation_trains.yaml#/~1preservation~1trains~1{train_id}"
344   "/preservation/trains/{train_id}/items":
345     $ref: "./paths/preservation_trains.yaml#/~1preservation~1trains~1{train_id}~1items"
346   "/preservation/trains/{train_id}/items/batch":
347     $ref: "./paths/preservation_trains.yaml#/~1preservation~1trains~1{train_id}~1items~1batch"
348   "/preservation/trains/{train_id}/items/{train_item_id}":
349     $ref: "./paths/preservation_trains.yaml#/~1preservation~1trains~1{train_id}~1items~1{train_item_id}"
350   /preservation/processings:
351     $ref: ./paths/preservation_processings.yaml#/~1preservation~1processings
352   "/preservation/processings/{processing_id}":
353     $ref: "./paths/preservation_processings.yaml#/~1preservation~1processings~1{processing_id}"
354   /preservation/waiting-list/items:
355     $ref: ./paths/preservation_waiting_list.yaml#/~1preservation~1waiting-list~1items
356   "/preservation/waiting-list/items/{item_id}":
357     $ref: "./paths/preservation_waiting_list.yaml#/~1preservation~1waiting-list~1items~1{item_id}"
358   "/public/biblios/{biblio_id}":
359     $ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}"
360   "/public/checkouts/availability":
361     $ref: ./paths/checkouts.yaml#/~1public~1checkouts~1availability
362   "/public/items":
363     $ref: "./paths/items.yaml#/~1public~1items"
364   "/public/biblios/{biblio_id}/items":
365     $ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}~1items"
366   "/public/biblios/{biblio_id}/ratings":
367     $ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}~1ratings"
368   /public/libraries:
369     $ref: ./paths/libraries.yaml#/~1public~1libraries
370   "/public/libraries/{library_id}":
371     $ref: "./paths/libraries.yaml#/~1public~1libraries~1{library_id}"
372   "/public/oauth/login/{provider_code}/{interface}":
373     $ref: ./paths/public_oauth.yaml#/~1public~1oauth~1login~1{provider_code}~1{interface}
374   "/public/patrons/{patron_id}/article_requests/{article_request_id}":
375     $ref: "./paths/article_requests.yaml#/~1public~1patrons~1{patron_id}~1article_requests~1{article_request_id}"
376   "/public/patrons/{patron_id}/checkouts":
377     $ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1checkouts"
378   "/public/patrons/{patron_id}/guarantors/can_see_charges":
379     $ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1guarantors~1can_see_charges"
380   "/public/patrons/{patron_id}/guarantors/can_see_checkouts":
381     $ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1guarantors~1can_see_checkouts"
382   "/public/patrons/{patron_id}/holds/{hold_id}":
383     $ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1holds~1{hold_id}"
384   "/public/patrons/{patron_id}/password":
385     $ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1password"
386   "/public/tickets":
387     $ref: "./paths/tickets.yaml#/~1public~1tickets"
388   /quotes:
389     $ref: ./paths/quotes.yaml#/~1quotes
390   "/quotes/{quote_id}":
391     $ref: "./paths/quotes.yaml#/~1quotes~1{quote_id}"
392   /return_claims:
393     $ref: ./paths/return_claims.yaml#/~1return_claims
394   "/return_claims/{claim_id}":
395     $ref: "./paths/return_claims.yaml#/~1return_claims~1{claim_id}"
396   "/return_claims/{claim_id}/notes":
397     $ref: "./paths/return_claims.yaml#/~1return_claims~1{claim_id}~1notes"
398   "/return_claims/{claim_id}/resolve":
399     $ref: "./paths/return_claims.yaml#/~1return_claims~1{claim_id}~1resolve"
400   "/rotas/{rota_id}/stages/{stage_id}/position":
401     $ref: "./paths/rotas.yaml#/~1rotas~1{rota_id}~1stages~1{stage_id}~1position"
402   /suggestions:
403     $ref: ./paths/suggestions.yaml#/~1suggestions
404   "/suggestions/{suggestion_id}":
405     $ref: "./paths/suggestions.yaml#/~1suggestions~1{suggestion_id}"
406   /suggestions/managers:
407     $ref: paths/suggestions.yaml#/~1suggestions~1managers
408   "/tickets":
409     $ref: "./paths/tickets.yaml#/~1tickets"
410   "/tickets/{ticket_id}":
411     $ref: "./paths/tickets.yaml#/~1tickets~1{ticket_id}"
412   "/tickets/{ticket_id}/updates":
413     $ref: "./paths/tickets.yaml#/~1tickets~1{ticket_id}~1updates"
414   /transfer_limits:
415     $ref: ./paths/transfer_limits.yaml#/~1transfer_limits
416   /transfer_limits/batch:
417     $ref: ./paths/transfer_limits.yaml#/~1transfer_limits~1batch
418   "/transfer_limits/{limit_id}":
419     $ref: "./paths/transfer_limits.yaml#/~1transfer_limits~1{limit_id}"
420 parameters:
421   advancededitormacro_id_pp:
422     description: Advanced editor macro internal identifier
423     in: path
424     name: advancededitormacro_id
425     required: true
426     type: integer
427   agreement_id_pp:
428     description: Agreement internal identifier
429     in: path
430     name: agreement_id
431     required: true
432     type: integer
433   agreement_period_id_pp:
434     description: Agreement period internal identifier
435     in: path
436     name: agreement_period_id
437     required: true
438     type: integer
439   authorised_value_id_pp:
440     description: Authorised value internal identifier
441     in: path
442     name: authorised_value_id
443     required: true
444     type: integer
445   authority_id_pp:
446     description: Authority identifier
447     in: path
448     name: authority_id
449     required: true
450     type: integer
451   authority_type_header:
452     description: Authority type code. Use when content type is not application/json
453     name: x-authority-type
454     in: header
455     required: false
456     type: string
457   framework_id_header:
458     description: Framework id. Use when content type is not application/json
459     name: x-framework-id
460     in: header
461     required: false
462     type: string
463   marc_schema_header:
464     description: March schema. One of MARC21 or UNIMARC
465     name: x-record-schema
466     in: header
467     required: false
468     type: string
469     enum:
470       - MARC21
471       - UNIMARC
472   confirm_not_duplicate_header:
473     description: Confirm the posted element is not a duplicate
474     name: x-confirm-not-duplicate
475     in: header
476     required: false
477     type: integer
478   identity_provider_id_pp:
479     description: Identity provider internal identifier
480     in: path
481     name: identity_provider_id
482     required: true
483     type: integer
484   identity_provider_domain_id_pp:
485     description: Identity provider domain internal identifier
486     in: path
487     name: identity_provider_domain_id
488     required: true
489     type: integer
490   biblio_id_pp:
491     description: Record internal identifier
492     in: path
493     name: biblio_id
494     required: true
495     type: integer
496   candidate_match_id_pp:
497     description: Internal import record match identifier
498     in: path
499     name: candidate_match_id
500     required: true
501     type: integer
502   cash_register_id_pp:
503     description: Cash register internal identifier
504     in: path
505     name: cash_register_id
506     required: true
507     type: integer
508   cashup_id_pp:
509     description: Cashup internal identifier
510     in: path
511     name: cashup_id
512     required: true
513     type: integer
514   checkout_id_pp:
515     description: Internal checkout identifier
516     in: path
517     name: checkout_id
518     required: true
519     type: integer
520   city_id_pp:
521     description: City internal identifier
522     in: path
523     name: city_id
524     required: true
525     type: integer
526   club_id_pp:
527     description: Internal club identifier
528     in: path
529     name: club_id
530     required: true
531     type: integer
532   eholdings_title_id_pp:
533     description: Title internal identifier
534     in: path
535     name: title_id
536     required: true
537     type: integer
538   eholdings_package_id_pp:
539     description: Package internal identifier
540     in: path
541     name: package_id
542     required: true
543     type: string
544   eholdings_resource_id_pp:
545     description: Resource internal identifier
546     in: path
547     name: resource_id
548     required: true
549     type: string
550   fund_id_pp:
551     description: Fund id
552     in: path
553     name: fund_id
554     required: true
555     type: integer
556   hold_id_pp:
557     description: Internal hold identifier
558     in: path
559     name: hold_id
560     required: true
561     type: integer
562   ill_batch_id_pp:
563     description: Internal ILL batch identifier
564     in: path
565     name: ill_batch_id
566     required: true
567     type: integer
568   ill_batchstatus_code_pp:
569     description: Internal ILL batch status identifier
570     in: path
571     name: ill_batchstatus_code
572     required: true
573     type: string
574   import_batch_profile_id_pp:
575     description: Internal profile identifier
576     in: path
577     name: import_batch_profile_id
578     required: true
579     type: integer
580   import_record_id_pp:
581     description: Internal import record identifier
582     in: path
583     name: import_record_id
584     required: true
585     type: integer
586   item_id_pp:
587     description: Internal item identifier
588     in: path
589     name: item_id
590     required: true
591     type: integer
592   item_id_qp:
593     description: Internal item identifier
594     in: query
595     name: item_id
596     type: integer
597   job_id_pp:
598     description: Job internal identifier
599     in: path
600     name: job_id
601     required: true
602     type: integer
603   library_id_pp:
604     description: Internal library identifier
605     in: path
606     name: library_id
607     required: true
608     type: string
609   license_id_pp:
610     description: License internal identifier
611     in: path
612     name: license_id
613     required: true
614     type: integer
615   match:
616     description: Matching criteria
617     enum:
618       - contains
619       - exact
620       - starts_with
621       - ends_with
622     in: query
623     name: _match
624     required: false
625     type: string
626   order_by:
627     collectionFormat: csv
628     description: Sorting criteria
629     in: query
630     items:
631       type: string
632     name: _order_by
633     required: false
634     type: array
635   order_id_pp:
636     description: Internal order identifier
637     in: path
638     name: order_id
639     required: true
640     type: integer
641   page:
642     description: "Page number, for paginated object listing"
643     in: query
644     name: _page
645     required: false
646     type: integer
647   patron_id_pp:
648     description: Internal patron identifier
649     in: path
650     name: patron_id
651     required: true
652     type: integer
653   patron_id_qp:
654     description: Internal patron identifier
655     in: query
656     name: patron_id
657     type: integer
658   per_page:
659     description: "Page size, for paginated object listing"
660     in: query
661     name: _per_page
662     required: false
663     type: integer
664   preservation_processing_id_pp:
665     description: processing internal identifier
666     in: path
667     name: processing_id
668     required: true
669     type: integer
670   preservation_train_id_pp:
671     description: train internal identifier
672     in: path
673     name: train_id
674     required: true
675     type: integer
676   preservation_train_item_id_pp:
677     description: train item internal identifier
678     in: path
679     name: train_item_id
680     required: true
681     type: integer
682   q_body:
683     description: Query filter sent through request"s body
684     in: body
685     name: query
686     required: false
687     schema:
688       type: object
689   q_param:
690     description: Query filter sent as a request parameter
691     in: query
692     name: q
693     required: false
694     type: array
695     items:
696       type: string
697     collectionFormat: multi
698   quote_id_pp:
699     description: Quote internal identifier
700     in: path
701     name: quote_id
702     required: true
703     type: integer
704   request_id_header:
705     description: Request id header
706     in: header
707     name: x-koha-request-id
708     required: false
709     type: integer
710   search_filter_id_pp:
711     name: search_filter_id
712     in: path
713     description: Search filter internal identifier
714     required: true
715     type: integer
716   seen_pp:
717     description: Item was seen flag
718     in: query
719     name: seen
720     required: false
721     type: integer
722   smtp_server_id_pp:
723     description: SMTP server internal identifier
724     in: path
725     name: smtp_server_id
726     required: true
727     type: integer
728   suggestion_id_pp:
729     description: Internal suggestion identifier
730     in: path
731     name: suggestion_id
732     required: true
733     type: integer
734   ticket_id_pp:
735     description: Internal ticket identifier
736     in: path
737     name: ticket_id
738     required: true
739     type: integer
740   transfer_limit_id_pp:
741     description: Internal transfer limit identifier
742     in: path
743     name: limit_id
744     required: true
745     type: string
746   vendor_id_pp:
747     description: Vendor id
748     in: path
749     name: vendor_id
750     required: true
751     type: integer
752 info:
753   title: Koha REST API
754   version: "1"
755   license:
756     name: "GPL v3,"
757     url: http://www.gnu.org/licenses/gpl.txt
758   contact:
759     name: Koha Development Team
760     url: https://koha-community.org/
761   description: |
762     ## Introduction
763
764     This API is documented in **OpenAPI format**.
765
766     ## Authentication
767
768     The API supports the following authentication mechanisms
769
770     * HTTP Basic authentication
771     * OAuth2 (client credentials grant)
772     * Cookie-based
773
774     Both _Basic authentication_ and the _OAuth2_ flow, need to be enabled
775     by system preferences.
776
777     ## Errors
778
779     The API uses standard HTTP status codes to indicate the success or failure
780     of the API call. The body of the response will be JSON in the following format:
781
782     ```
783     {
784       "error": "Current settings prevent the passed due date to be applied",
785       "error_code": "invalid_due_date"
786     }
787     ```
788
789     Note: Some routes might offer additional attributes in their error responses but that"s
790     subject to change and thus not documented.
791
792     ## Filtering responses
793
794     The API allows for some advanced response filtering using a JSON based query syntax. The
795     query can be added to the requests:
796
797     * as a query parameter `q=`
798     * in the request body
799
800     For simple field equality matches we can use `{ "fieldname": "value" }` where the fieldname
801     matches one of the fields as described in the particular endpoints response object.
802
803     We can refine that with more complex matching clauses by nesting a the clause into the
804     object; `{ "fieldname": { "clause": "value" } }`.
805
806     Available matching clauses include `>`, `<`, `>=`, `<=`, `-like`, and `-not_like`.
807
808     We can filter on multiple fields by adding them to the JSON respresentation. Adding at `HASH`
809     level will result in an "AND" query, whilst combinding them in an `ARRAY` will result in an
810     "OR" query: `{ "field1": "value2", "field2": "value2" }` will filter the response to only those
811     results with both field1 containing value2 AND field2 containing value2 for example.
812
813     Additionally, if you are requesting related data be embedded into the response one can query
814     on the related data using dot notation in the field names.
815
816     ### Examples
817
818     The following request would return any patron with firstname "Henry" and lastname "Acevedo";
819
820     `curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw '{ "surname": "Acevedo", "firstname": "Henry" }'`
821
822     The following request would return any patron whose lastname begins with "Ace";
823
824     `curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw '{ "surname": { "-like": "Ace%" }'`
825
826     The following request would return any patron whose lastname is "Acevedo" OR "Bernardo"
827
828     `curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw '{ "surname": [ "Acevedo", "Bernardo" ] }'`
829
830     The following request embeds the related patron extended attributes data and filters on it.
831
832     `curl -u koha:koha =--request GET 'http://127.0.0.1:8081/api/v1/patrons/' --header 'x-koha-embed: extended_attributes' --data-raw '{ "extended_attributes.code": "internet", "extended_attributes.attribute": "1" }'`
833
834     ## Special headers
835
836     ### x-koha-embed
837
838     This optional header allows the api consumer to request additional related data
839     to be returned in the api response.  It also allows for cross referencing in the
840     queries as described above. It accepts a comma delimited list of relation names.
841
842     Relations may on occasion also support dot delimited nesting to allow traversal.
843
844     ### x-koha-library
845
846     This optional header should be passed to give your api request a library
847     context; If it is not included in the request, then the request context
848     will default to using your api comsumer"s assigned home library.
849 tags:
850   - description: "Manage article requests\n"
851     name: article_requests
852     x-displayName: Article requests
853   - description: "Manage authorised value categories\n"
854     name: authorised_value_categories
855     x-displayName: Authorised value categories
856   - description: "Manage authorised values\n"
857     name: authorised_values
858     x-displayName: Authorised values
859   - description: "Manage batch import profiles\n"
860     name: batch_import_profiles
861     x-displayName: Batch import profiles
862   - description: "Manage baskets for the acquisitions module\n"
863     name: baskets
864     x-displayName: Baskets
865   - description: "Manage Authority records\n"
866     name: authorities
867     x-displayName: Authorities
868   - description: "Manage bibliographic records\n"
869     name: biblios
870     x-displayName: Biblios
871   - description: "Manage cash register cashups\n"
872     name: cashups
873     x-displayName: Cashups
874   - description: "Manage checkouts\n"
875     name: checkouts
876     x-displayName: Checkouts
877   - description: "Manage circulation rules\n"
878     name: circulation_rules
879     x-displayName: Circulation rules
880   - description: "Manage cities\n"
881     name: cities
882     x-displayName: Cities
883   - description: "Manage patron clubs\n"
884     name: clubs
885     x-displayName: Clubs
886   - description: "Manage ERM agreements\n"
887     name: erm_agreements
888     x-displayName: ERM agreements
889   - description: "Manage ERM configuration\n"
890     name: erm_config
891     x-displayName: ERM configuration
892   - description: "Manage ERM docuemnts\n"
893     name: erm_documents
894     x-displayName: ERM documents
895   - description: "Manage ERM eHoldings packages\n"
896     name: erm_eholdings_packages
897     x-displayName: ERM eHoldings packages
898   - description: "Manage ERM eHoldings resources\n"
899     name: erm_eholdings_resources
900     x-displayName: ERM eHoldings resources
901   - description: "Manage ERM eHoldings titles\n"
902     name: erm_eholdings_titles
903     x-displayName: ERM eHoldings titles
904   - description: "Manage ERM licences\n"
905     name: erm_licences
906     x-displayName: ERM licences
907   - description: "Manage ERM users\n"
908     name: erm_users
909     x-displayName: ERM users
910   - description: "Manage funds for the acquisitions module\n"
911     name: funds
912     x-displayName: Funds
913   - description: "Manage holds\n"
914     name: holds
915     x-displayName: Holds
916   - description: "Manage identity providers\n"
917     name: identity_providers
918     x-displayName: Identity providers
919   - description: "Manage ILL module backends\n"
920     name: ill_backends
921     x-displayName: ILL backends
922   - description: "Manage ILL module batches\n"
923     name: ill_batches
924     x-displayName: ILL batches
925   - description: "Manage ILL module batch statuses\n"
926     name: ill_batchstatuses
927     x-displayName: ILL batch statuses
928   - description: "Manage ILL requests\n"
929     name: ill_requests
930     x-displayName: ILL requests
931   - description: "Manage import batches\n"
932     name: import_batches
933     x-displayName: Import batches
934   - description: "Manage item groups\n"
935     name: item_groups
936     x-displayName: Item groups
937   - description: "Manage items\n"
938     name: items
939     x-displayName: Items
940   - description: "Manage jobs\n"
941     name: jobs
942     x-displayName: Jobs
943   - description: "Manage libraries\n"
944     name: libraries
945     x-displayName: Libraries
946   - description: "Manage macros\n"
947     name: macros
948     x-displayName: Macros
949   - description: "Manage acquisition orders\n"
950     name: orders
951     x-displayName: Orders
952   - description: "Handle OAuth flows\n"
953     name: oauth
954     x-displayName: OAuth
955   - description: "Manage patrons\n"
956     name: patrons
957     x-displayName: Patrons
958   - description: "Manage purchase suggestions\n"
959     name: suggestions
960     x-displayName: Purchase suggestions
961   - description: "Manage quotes\n"
962     name: quotes
963     x-displayName: Quotes
964   - description: "Manage return claims\n"
965     name: return_claims
966     x-displayName: Return claims
967   - description: "Manage rotas\n"
968     name: rotas
969     x-displayName: Rotas
970   - description: "Manage search filters"
971     name: search_filters
972     x-displayName: Search filters
973   - description: "Manage SMTP servers configurations\n"
974     name: smtp_servers
975     x-displayName: SMTP servers
976   - description: "Manage tickets\n"
977     name: tickets
978     x-displayName: Tickets
979   - description: "Manage transfer limits\n"
980     name: transfer
981     x-displayName: Transfer limits
982   - description: "Handle two factor authentication flows\n"
983     name: 2fa
984     x-displayName: Two factor authentication
985   - description: "Manage vendors for the acquisitions module\n"
986     name: vendors
987     x-displayName: Vendors