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