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