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