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