Martin Renvoize
f7aabc532a
This patch clarifies the list of operators both in the validate routine and in the swagger descrption block where we document this feature for the end user. JD amended patch: tidy Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
1279 lines
47 KiB
YAML
1279 lines
47 KiB
YAML
---
|
|
swagger: "2.0"
|
|
basePath: /api/v1
|
|
definitions:
|
|
account_line:
|
|
$ref: ./definitions/account_line.yaml
|
|
advancededitormacro:
|
|
$ref: ./definitions/advancededitormacro.yaml
|
|
allows_renewal:
|
|
$ref: ./definitions/allows_renewal.yaml
|
|
authorised_value:
|
|
$ref: ./definitions/authorised_value.yaml
|
|
authorised_value_category:
|
|
$ref: ./definitions/authorised_value_category.yaml
|
|
identity_provider:
|
|
$ref: ./definitions/identity_provider.yaml
|
|
identity_provider_domain:
|
|
$ref: ./definitions/identity_provider_domain.yaml
|
|
basket:
|
|
$ref: ./definitions/basket.yaml
|
|
booking:
|
|
$ref: ./definitions/booking.yaml
|
|
bundle_link:
|
|
$ref: ./definitions/bundle_link.yaml
|
|
cash_register:
|
|
$ref: ./definitions/cash_register.yaml
|
|
cashup:
|
|
$ref: ./definitions/cashup.yaml
|
|
checkout:
|
|
$ref: ./definitions/checkout.yaml
|
|
checkouts:
|
|
$ref: ./definitions/checkouts.yaml
|
|
checkout_availability:
|
|
$ref: ./definitions/checkout_availability.yaml
|
|
circ-rule-kind:
|
|
$ref: ./definitions/circ-rule-kind.yaml
|
|
city:
|
|
$ref: ./definitions/city.yaml
|
|
credit:
|
|
$ref: ./definitions/credit.yaml
|
|
debit:
|
|
$ref: ./definitions/debit.yaml
|
|
desk:
|
|
$ref: ./definitions/desk.yaml
|
|
edifact_file:
|
|
$ref: ./definitions/edifact_file.yaml
|
|
erm_config:
|
|
$ref: ./definitions/erm_config.yaml
|
|
erm_agreement:
|
|
$ref: ./definitions/erm_agreement.yaml
|
|
erm_counter_file:
|
|
$ref: ./definitions/erm_counter_file.yaml
|
|
erm_counter_registry:
|
|
$ref: ./definitions/erm_counter_registry.yaml
|
|
erm_counter_log:
|
|
$ref: ./definitions/erm_counter_log.yaml
|
|
erm_custom_report:
|
|
$ref: ./definitions/erm_custom_report.yaml
|
|
erm_default_usage_report:
|
|
$ref: ./definitions/erm_default_usage_report.yaml
|
|
erm_eholdings_title:
|
|
$ref: ./definitions/erm_eholdings_title.yaml
|
|
erm_eholdings_package:
|
|
$ref: ./definitions/erm_eholdings_package.yaml
|
|
erm_eholdings_resource:
|
|
$ref: ./definitions/erm_eholdings_resource.yaml
|
|
erm_license:
|
|
$ref: ./definitions/erm_license.yaml
|
|
erm_sushi_service:
|
|
$ref: ./definitions/erm_sushi_service.yaml
|
|
erm_usage_data_provider:
|
|
$ref: ./definitions/erm_usage_data_provider.yaml
|
|
erm_usage_database:
|
|
$ref: ./definitions/erm_usage_database.yaml
|
|
erm_usage_item:
|
|
$ref: ./definitions/erm_usage_item.yaml
|
|
erm_usage_mus:
|
|
$ref: ./definitions/erm_usage_mus.yaml
|
|
erm_usage_platform:
|
|
$ref: ./definitions/erm_usage_platform.yaml
|
|
erm_usage_title:
|
|
$ref: ./definitions/erm_usage_title.yaml
|
|
erm_usage_yus:
|
|
$ref: ./definitions/erm_usage_yus.yaml
|
|
error:
|
|
$ref: ./definitions/error.yaml
|
|
extended_attribute_type:
|
|
$ref: ./definitions/extended_attribute_type.yaml
|
|
fund:
|
|
$ref: ./definitions/fund.yaml
|
|
hold:
|
|
$ref: ./definitions/hold.yaml
|
|
holds:
|
|
$ref: ./definitions/holds.yaml
|
|
ill_backend:
|
|
$ref: ./definitions/ill_backend.yaml
|
|
ill_backends:
|
|
$ref: ./definitions/ill_backends.yaml
|
|
ill_status:
|
|
$ref: ./definitions/ill_status.yaml
|
|
ill_request:
|
|
$ref: ./definitions/ill_request.yaml
|
|
ill_batch:
|
|
$ref: ./definitions/ill_batch.yaml
|
|
ill_batches:
|
|
$ref: ./definitions/ill_batches.yaml
|
|
ill_batchstatus:
|
|
$ref: ./definitions/ill_batchstatus.yaml
|
|
ill_batchstatuses:
|
|
$ref: ./definitions/ill_batchstatuses.yaml
|
|
import_batch_profile:
|
|
$ref: ./definitions/import_batch_profile.yaml
|
|
import_batch_profiles:
|
|
$ref: ./definitions/import_batch_profiles.yaml
|
|
import_record_match:
|
|
$ref: ./definitions/import_record_match.yaml
|
|
record_source:
|
|
$ref: ./definitions/record_source.yaml
|
|
invoice:
|
|
$ref: ./definitions/invoice.yaml
|
|
item:
|
|
$ref: ./definitions/item.yaml
|
|
item_group:
|
|
$ref: ./definitions/item_group.yaml
|
|
item_type:
|
|
$ref: ./definitions/item_type.yaml
|
|
job:
|
|
$ref: ./definitions/job.yaml
|
|
library:
|
|
$ref: ./definitions/library.yaml
|
|
merge_biblios:
|
|
$ref: ./definitions/merge_biblios.yaml
|
|
order:
|
|
$ref: ./definitions/order.yaml
|
|
patron:
|
|
$ref: ./definitions/patron.yaml
|
|
patron_account_credit:
|
|
$ref: ./definitions/patron_account_credit.yaml
|
|
patron_balance:
|
|
$ref: ./definitions/patron_balance.yaml
|
|
patron_category:
|
|
$ref: ./definitions/patron_category.yaml
|
|
patron_extended_attribute:
|
|
$ref: ./definitions/patron_extended_attribute.yaml
|
|
preservation_config:
|
|
$ref: ./definitions/preservation_config.yaml
|
|
preservation_train:
|
|
$ref: ./definitions/preservation_train.yaml
|
|
preservation_train_item:
|
|
$ref: ./definitions/preservation_train_item.yaml
|
|
preservation_processing:
|
|
$ref: ./definitions/preservation_processing.yaml
|
|
quote:
|
|
$ref: ./definitions/quote.yaml
|
|
recall:
|
|
$ref: ./definitions/recall.yaml
|
|
recalls:
|
|
$ref: ./definitions/recalls.yaml
|
|
renewal:
|
|
$ref: ./definitions/renewal.yaml
|
|
renewals:
|
|
$ref: ./definitions/renewals.yaml
|
|
return_claim:
|
|
$ref: ./definitions/return_claim.yaml
|
|
rota:
|
|
$ref: ./definitions/rota.yaml
|
|
search_filter:
|
|
$ref: ./definitions/search_filter.yaml
|
|
smtp_server:
|
|
$ref: ./definitions/smtp_server.yaml
|
|
suggestion:
|
|
$ref: ./definitions/suggestion.yaml
|
|
ticket:
|
|
$ref: ./definitions/ticket.yaml
|
|
ticket_update:
|
|
$ref: ./definitions/ticket_update.yaml
|
|
transfer_limit:
|
|
$ref: ./definitions/transfer_limit.yaml
|
|
vendor:
|
|
$ref: ./definitions/vendor.yaml
|
|
vendor_issue:
|
|
$ref: ./definitions/vendor_issue.yaml
|
|
paths:
|
|
/acquisitions/baskets/managers:
|
|
$ref: ./paths/acquisitions_baskets.yaml#/~1acquisitions~1baskets~1managers
|
|
/acquisitions/edifiles:
|
|
$ref: ./paths/acquisitions_edifiles.yaml#/~1acquisitions~1edifiles
|
|
/acquisitions/funds:
|
|
$ref: ./paths/acquisitions_funds.yaml#/~1acquisitions~1funds
|
|
/acquisitions/funds/owners:
|
|
$ref: ./paths/acquisitions_funds.yaml#/~1acquisitions~1funds~1owners
|
|
/acquisitions/funds/users:
|
|
$ref: ./paths/acquisitions_funds.yaml#/~1acquisitions~1funds~1users
|
|
/acquisitions/orders:
|
|
$ref: ./paths/acquisitions_orders.yaml#/~1acquisitions~1orders
|
|
"/acquisitions/orders/{order_id}":
|
|
$ref: "./paths/acquisitions_orders.yaml#/~1acquisitions~1orders~1{order_id}"
|
|
/acquisitions/vendors:
|
|
$ref: ./paths/acquisitions_vendors.yaml#/~1acquisitions~1vendors
|
|
"/acquisitions/vendors/{vendor_id}":
|
|
$ref: "./paths/acquisitions_vendors.yaml#/~1acquisitions~1vendors~1{vendor_id}"
|
|
"/acquisitions/vendors/{vendor_id}/issues":
|
|
$ref: "./paths/acquisitions_vendor_issues.yaml#/~1acquisitions~1vendors~1{vendor_id}~1issues"
|
|
/advanced_editor/macros:
|
|
$ref: ./paths/advancededitormacros.yaml#/~1advanced_editor~1macros
|
|
/advanced_editor/macros/shared:
|
|
$ref: ./paths/advancededitormacros.yaml#/~1advanced_editor~1macros~1shared
|
|
/bookings:
|
|
$ref: ./paths/bookings.yaml#/~1bookings
|
|
"/bookings/{booking_id}":
|
|
$ref: ./paths/bookings.yaml#/~1bookings~1{booking_id}
|
|
/search_filters:
|
|
$ref: ./paths/search_filters.yaml#/~1search_filters
|
|
"/search_filters/{search_filter_id}":
|
|
$ref: "./paths/search_filters.yaml#/~1search_filters~1{search_filter_id}"
|
|
"/advanced_editor/macros/shared/{advancededitormacro_id}":
|
|
$ref: "./paths/advancededitormacros.yaml#/~1advanced_editor~1macros~1shared~1{advancededitormacro_id}"
|
|
"/advanced_editor/macros/{advancededitormacro_id}":
|
|
$ref: "./paths/advancededitormacros.yaml#/~1advanced_editor~1macros~1{advancededitormacro_id}"
|
|
"/article_requests/{article_request_id}":
|
|
$ref: "./paths/article_requests.yaml#/~1article_requests~1{article_request_id}"
|
|
/auth/otp/token_delivery:
|
|
$ref: "./paths/auth.yaml#/~1auth~1otp~1token_delivery"
|
|
"/auth/password/validation":
|
|
$ref: "./paths/auth.yaml#/~1auth~1password~1validation"
|
|
/auth/two-factor/registration:
|
|
$ref: ./paths/auth.yaml#/~1auth~1two-factor~1registration
|
|
/auth/two-factor/registration/verification:
|
|
$ref: ./paths/auth.yaml#/~1auth~1two-factor~1registration~1verification
|
|
/auth/identity_providers:
|
|
$ref: ./paths/auth.yaml#/~1auth~1identity_providers
|
|
"/auth/identity_providers/{identity_provider_id}":
|
|
$ref: ./paths/auth.yaml#/~1auth~1identity_providers~1{identity_provider_id}
|
|
"/auth/identity_providers/{identity_provider_id}/domains":
|
|
$ref: ./paths/auth.yaml#/~1auth~1identity_providers~1{identity_provider_id}~1domains
|
|
"/auth/identity_providers/{identity_provider_id}/domains/{identity_provider_domain_id}":
|
|
$ref: ./paths/auth.yaml#/~1auth~1identity_providers~1{identity_provider_id}~1domains~1{identity_provider_domain_id}
|
|
/authorised_value_categories:
|
|
$ref: ./paths/authorised_value_categories.yaml#/~1authorised_value_categories
|
|
"/authorised_value_categories/{authorised_value_category_name}/authorised_values":
|
|
$ref: "./paths/authorised_values.yaml#/~1authorised_value_categories~1{authorised_value_category_name}~1authorised_values"
|
|
"/authorities":
|
|
$ref: paths/authorities.yaml#/~1authorities
|
|
"/authorities/{authority_id}":
|
|
$ref: "./paths/authorities.yaml#/~1authorities~1{authority_id}"
|
|
"/biblios":
|
|
$ref: "./paths/biblios.yaml#/~1biblios"
|
|
"/biblios/{biblio_id}":
|
|
$ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}"
|
|
"/biblios/{biblio_id}/bookings":
|
|
$ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1bookings"
|
|
"/biblios/{biblio_id}/checkouts":
|
|
$ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1checkouts"
|
|
"/biblios/{biblio_id}/items":
|
|
$ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1items"
|
|
"/biblios/{biblio_id}/items/{item_id}":
|
|
$ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1items~1{item_id}"
|
|
"/biblios/{biblio_id}/pickup_locations":
|
|
$ref: "./paths/biblios.yaml#/~1biblios~1{biblio_id}~1pickup_locations"
|
|
"/biblios/{biblio_id}/item_groups":
|
|
$ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups"
|
|
"/biblios/{biblio_id}/item_groups/{item_group_id}":
|
|
$ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}"
|
|
"/biblios/{biblio_id}/item_groups/{item_group_id}/items":
|
|
$ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}~1items"
|
|
"/biblios/{biblio_id}/item_groups/{item_group_id}/items/{item_id}":
|
|
$ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}~1items~1{item_id}"
|
|
"/biblios/{biblio_id}/merge":
|
|
$ref: "./paths/biblios_merge.yaml#/~1biblios~1{biblio_id}~1merge"
|
|
"/cash_registers/{cash_register_id}/cashups":
|
|
$ref: "./paths/cash_registers.yaml#/~1cash_registers~1{cash_register_id}~1cashups"
|
|
"/cashups/{cashup_id}":
|
|
$ref: "./paths/cash_registers.yaml#/~1cashups~1{cashup_id}"
|
|
/checkouts:
|
|
$ref: ./paths/checkouts.yaml#/~1checkouts
|
|
"/checkouts/{checkout_id}":
|
|
$ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}"
|
|
"/checkouts/{checkout_id}/allows_renewal":
|
|
$ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}~1allows_renewal"
|
|
"/checkouts/{checkout_id}/renewals":
|
|
$ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}~1renewals"
|
|
"/checkouts/{checkout_id}/renewal":
|
|
$ref: "./paths/checkouts.yaml#/~1checkouts~1{checkout_id}~1renewal"
|
|
"/checkouts/availability":
|
|
$ref: "./paths/checkouts.yaml#/~1checkouts~1availability"
|
|
/circulation_rules:
|
|
$ref: ./paths/circulation_rules.yaml#/~1circulation_rules
|
|
/circulation_rules/kinds:
|
|
$ref: ./paths/circulation_rules.yaml#/~1circulation_rules~1kinds
|
|
/cities:
|
|
$ref: ./paths/cities.yaml#/~1cities
|
|
"/cities/{city_id}":
|
|
$ref: "./paths/cities.yaml#/~1cities~1{city_id}"
|
|
"/clubs/{club_id}/holds":
|
|
$ref: "./paths/clubs.yaml#/~1clubs~1{club_id}~1holds"
|
|
/config/smtp_servers:
|
|
$ref: ./paths/config_smtp_servers.yaml#/~1config~1smtp_servers
|
|
"/config/smtp_servers/{smtp_server_id}":
|
|
$ref: "./paths/config_smtp_servers.yaml#/~1config~1smtp_servers~1{smtp_server_id}"
|
|
"/deleted/biblios":
|
|
$ref: "./paths/deleted_biblios.yaml#/~1deleted~1biblios"
|
|
"/deleted/biblios/{biblio_id}":
|
|
$ref: "./paths/deleted_biblios.yaml#/~1deleted~1biblios~1{biblio_id}"
|
|
/erm/config:
|
|
$ref: ./paths/erm_config.yaml#/~1erm~1config
|
|
/erm/agreements:
|
|
$ref: ./paths/erm_agreements.yaml#/~1erm~1agreements
|
|
"/erm/agreements/{agreement_id}":
|
|
$ref: "./paths/erm_agreements.yaml#/~1erm~1agreements~1{agreement_id}"
|
|
"/erm/documents/{document_id}/file/content":
|
|
$ref: "./paths/erm_documents.yaml#/~1erm~1documents~1{document_id}~1file~1content"
|
|
/erm/counter_files:
|
|
$ref: ./paths/erm_counter_files.yaml#/~1erm~1counter_files
|
|
"/erm/counter_files/{erm_counter_files_id}":
|
|
$ref: "./paths/erm_counter_files.yaml#/~1erm~1counter_files~1{erm_counter_files_id}"
|
|
"/erm/counter_files/{erm_counter_files_id}/file/content":
|
|
$ref: "./paths/erm_counter_files.yaml#/~1erm~1counter_files~1{erm_counter_files_id}~1file~1content"
|
|
/erm/counter_logs:
|
|
$ref: ./paths/erm_counter_logs.yaml#/~1erm~1counter_logs
|
|
/erm/counter_registry:
|
|
$ref: ./paths/erm_counter_registries.yaml#/~1erm~1counter_registry
|
|
/erm/default_usage_reports:
|
|
$ref: ./paths/erm_default_usage_reports.yaml#/~1erm~1default_usage_reports
|
|
"/erm/default_usage_reports/{erm_default_usage_report_id}":
|
|
$ref: "./paths/erm_default_usage_reports.yaml#/~1erm~1default_usage_reports~1{erm_default_usage_report_id}"
|
|
"/erm/eholdings/{provider}/titles":
|
|
$ref: "./paths/erm_eholdings_titles.yaml#/~1erm~1eholdings~1{provider}~1titles"
|
|
/erm/eholdings/local/titles/import:
|
|
$ref: ./paths/erm_eholdings_titles.yaml#/~1erm~1eholdings~1local~1titles~1import
|
|
/erm/eholdings/local/titles/import_kbart:
|
|
$ref: ./paths/erm_eholdings_titles.yaml#/~1erm~1eholdings~1local~1titles~1import_kbart
|
|
"/erm/eholdings/{provider}/titles/{title_id}":
|
|
$ref: "./paths/erm_eholdings_titles.yaml#/~1erm~1eholdings~1{provider}~1titles~1{title_id}"
|
|
"/erm/eholdings/{provider}/titles/{title_id}/resources":
|
|
$ref: "./paths/erm_eholdings_titles_resources.yaml#/~1erm~1eholdings~1{provider}~1titles~1{title_id}~1resources"
|
|
"/erm/eholdings/{provider}/packages":
|
|
$ref: "./paths/erm_eholdings_packages.yaml#/~1erm~1eholdings~1{provider}~1packages"
|
|
"/erm/eholdings/{provider}/resources":
|
|
$ref: "./paths/erm_eholdings_resources.yaml#/~1erm~1eholdings~1{provider}~1resources"
|
|
"/erm/eholdings/{provider}/resources/{resource_id}":
|
|
$ref: "./paths/erm_eholdings_resources.yaml#/~1erm~1eholdings~1{provider}~1resources~1{resource_id}"
|
|
"/erm/eholdings/{provider}/packages/{package_id}":
|
|
$ref: "./paths/erm_eholdings_packages.yaml#/~1erm~1eholdings~1{provider}~1packages~1{package_id}"
|
|
"/erm/eholdings/{provider}/packages/{package_id}/resources":
|
|
$ref: "./paths/erm_eholdings_packages_resources.yaml#/~1erm~1eholdings~1{provider}~1packages~1{package_id}~1resources"
|
|
"/erm/eUsage/monthly_report/{data_type}":
|
|
$ref: "./paths/erm_custom_reports.yaml#/~1erm~1eUsage~1monthly_report~1{data_type}"
|
|
"/erm/eUsage/yearly_report/{data_type}":
|
|
$ref: "./paths/erm_custom_reports.yaml#/~1erm~1eUsage~1yearly_report~1{data_type}"
|
|
"/erm/eUsage/metric_types_report/{data_type}":
|
|
$ref: "./paths/erm_custom_reports.yaml#/~1erm~1eUsage~1metric_types_report~1{data_type}"
|
|
"/erm/eUsage/provider_rollup_report/{data_type}":
|
|
$ref: "./paths/erm_custom_reports.yaml#/~1erm~1eUsage~1provider_rollup_report~1{data_type}"
|
|
/erm/licenses:
|
|
$ref: ./paths/erm_licenses.yaml#/~1erm~1licenses
|
|
"/erm/licenses/{license_id}":
|
|
$ref: "./paths/erm_licenses.yaml#/~1erm~1licenses~1{license_id}"
|
|
/erm/sushi_service:
|
|
$ref: ./paths/erm_sushi_services.yaml#/~1erm~1sushi_service
|
|
/erm/usage_data_providers:
|
|
$ref: ./paths/erm_usage_data_providers.yaml#/~1erm~1usage_data_providers
|
|
"/erm/usage_data_providers/{erm_usage_data_provider_id}":
|
|
$ref: "./paths/erm_usage_data_providers.yaml#/~1erm~1usage_data_providers~1{erm_usage_data_provider_id}"
|
|
"/erm/usage_data_providers/{erm_usage_data_provider_id}/process_SUSHI_response":
|
|
$ref: "./paths/erm_usage_data_providers.yaml#/~1erm~1usage_data_providers~1{erm_usage_data_provider_id}~1process_SUSHI_response"
|
|
"/erm/usage_data_providers/{erm_usage_data_provider_id}/process_COUNTER_file":
|
|
$ref: "./paths/erm_usage_data_providers.yaml#/~1erm~1usage_data_providers~1{erm_usage_data_provider_id}~1process_COUNTER_file"
|
|
"/erm/usage_data_providers/{erm_usage_data_provider_id}/test_connection":
|
|
$ref: "./paths/erm_usage_data_providers.yaml#/~1erm~1usage_data_providers~1{erm_usage_data_provider_id}~1test_connection"
|
|
/erm/usage_databases:
|
|
$ref: ./paths/erm_usage_databases.yaml#/~1erm~1usage_databases
|
|
/erm/usage_items:
|
|
$ref: ./paths/erm_usage_items.yaml#/~1erm~1usage_items
|
|
/erm/usage_platforms:
|
|
$ref: ./paths/erm_usage_platforms.yaml#/~1erm~1usage_platforms
|
|
/erm/usage_titles:
|
|
$ref: ./paths/erm_usage_titles.yaml#/~1erm~1usage_titles
|
|
/erm/users:
|
|
$ref: ./paths/erm_users.yaml#/~1erm~1users
|
|
/extended_attribute_types:
|
|
$ref: ./paths/extended_attribute_types.yaml#/~1extended_attribute_types
|
|
/holds:
|
|
$ref: ./paths/holds.yaml#/~1holds
|
|
"/holds/{hold_id}":
|
|
$ref: "./paths/holds.yaml#/~1holds~1{hold_id}"
|
|
"/holds/{hold_id}/pickup_location":
|
|
$ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1pickup_location"
|
|
"/holds/{hold_id}/pickup_locations":
|
|
$ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1pickup_locations"
|
|
"/holds/{hold_id}/priority":
|
|
$ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1priority"
|
|
"/holds/{hold_id}/suspension":
|
|
$ref: "./paths/holds.yaml#/~1holds~1{hold_id}~1suspension"
|
|
/ill/backends:
|
|
$ref: ./paths/ill_backends.yaml#/~1ill~1backends
|
|
"/ill/backends/{ill_backend_id}":
|
|
$ref: "./paths/ill_backends.yaml#/~1ill~1backends~1{ill_backend_id}"
|
|
/ill/requests:
|
|
$ref: ./paths/ill_requests.yaml#/~1ill~1requests
|
|
/ill/batches:
|
|
$ref: ./paths/ill_batches.yaml#/~1ill~1batches
|
|
"/ill/batches/{ill_batch_id}":
|
|
$ref: "./paths/ill_batches.yaml#/~1ill~1batches~1{ill_batch_id}"
|
|
/ill/batchstatuses:
|
|
$ref: ./paths/ill_batchstatuses.yaml#/~1ill~1batchstatuses
|
|
"/ill/batchstatuses/{ill_batchstatus_code}":
|
|
$ref: "./paths/ill_batchstatuses.yaml#/~1ill~1batchstatuses~1{ill_batchstatus_code}"
|
|
"/import_batches/{import_batch_id}/records/{import_record_id}/matches/chosen":
|
|
$ref: "./paths/import_batches.yaml#/~1import_batches~1{import_batch_id}~1records~1{import_record_id}~1matches~1chosen"
|
|
/import_batch_profiles:
|
|
$ref: ./paths/import_batch_profiles.yaml#/~1import_batch_profiles
|
|
"/import_batch_profiles/{import_batch_profile_id}":
|
|
$ref: "./paths/import_batch_profiles.yaml#/~1import_batch_profiles~1{import_batch_profile_id}"
|
|
/item_types:
|
|
$ref: ./paths/item_types.yaml#/~1item_types
|
|
/items:
|
|
$ref: ./paths/items.yaml#/~1items
|
|
"/items/{item_id}":
|
|
$ref: "./paths/items.yaml#/~1items~1{item_id}"
|
|
"/items/{item_id}/bookings":
|
|
$ref: "./paths/items.yaml#/~1items~1{item_id}~1bookings"
|
|
"/items/{item_id}/bundled_items":
|
|
$ref: ./paths/items.yaml#/~1items~1{item_id}~1bundled_items
|
|
"/items/{item_id}/bundled_items/{bundled_item_id}":
|
|
$ref: ./paths/items.yaml#/~1items~1{item_id}~1bundled_items~1{bundled_item_id}
|
|
"/items/{item_id}/pickup_locations":
|
|
$ref: "./paths/items.yaml#/~1items~1{item_id}~1pickup_locations"
|
|
/jobs:
|
|
$ref: ./paths/jobs.yaml#/~1jobs
|
|
"/jobs/{job_id}":
|
|
$ref: "./paths/jobs.yaml#/~1jobs~1{job_id}"
|
|
/libraries:
|
|
$ref: ./paths/libraries.yaml#/~1libraries
|
|
"/libraries/{library_id}":
|
|
$ref: "./paths/libraries.yaml#/~1libraries~1{library_id}"
|
|
"/libraries/{library_id}/cash_registers":
|
|
$ref: "./paths/libraries.yaml#/~1libraries~1{library_id}~1cash_registers"
|
|
"/libraries/{library_id}/desks":
|
|
$ref: "./paths/libraries.yaml#/~1libraries~1{library_id}~1desks"
|
|
"/oauth/login/{provider_code}/{interface}":
|
|
$ref: ./paths/oauth.yaml#/~1oauth~1login~1{provider_code}~1{interface}
|
|
/oauth/token:
|
|
$ref: ./paths/oauth.yaml#/~1oauth~1token
|
|
/patrons:
|
|
$ref: ./paths/patrons.yaml#/~1patrons
|
|
"/patrons/{patron_id}":
|
|
$ref: "./paths/patrons.yaml#/~1patrons~1{patron_id}"
|
|
"/patrons/{patron_id}/account":
|
|
$ref: "./paths/patrons_account.yaml#/~1patrons~1{patron_id}~1account"
|
|
"/patrons/{patron_id}/account/credits":
|
|
$ref: "./paths/patrons_account.yaml#/~1patrons~1{patron_id}~1account~1credits"
|
|
"/patrons/{patron_id}/account/debits":
|
|
$ref: "./paths/patrons_account.yaml#/~1patrons~1{patron_id}~1account~1debits"
|
|
"/patrons/{patron_id}/extended_attributes":
|
|
$ref: "./paths/patrons_extended_attributes.yaml#/~1patrons~1{patron_id}~1extended_attributes"
|
|
"/patrons/{patron_id}/extended_attributes/{extended_attribute_id}":
|
|
$ref: "./paths/patrons_extended_attributes.yaml#/~1patrons~1{patron_id}~1extended_attributes~1{extended_attribute_id}"
|
|
"/patrons/{patron_id}/holds":
|
|
$ref: "./paths/patrons_holds.yaml#/~1patrons~1{patron_id}~1holds"
|
|
"/patrons/{patron_id}/checkouts":
|
|
$ref: "./paths/patrons_checkouts.yaml#/~1patrons~1{patron_id}~1checkouts"
|
|
"/patrons/{patron_id}/password":
|
|
$ref: "./paths/patrons_password.yaml#/~1patrons~1{patron_id}~1password"
|
|
"/patrons/{patron_id}/password/expiration_date":
|
|
$ref: "./paths/patrons_password.yaml#/~1patrons~1{patron_id}~1password~1expiration_date"
|
|
"/patrons/{patron_id}/recalls":
|
|
$ref: "./paths/patrons_recalls.yaml#/~1patrons~1{patron_id}~1recalls"
|
|
/patron_categories:
|
|
$ref: ./paths/patron_categories.yaml#/~1patron_categories
|
|
/preservation/config:
|
|
$ref: ./paths/preservation_config.yaml#/~1preservation~1config
|
|
/preservation/trains:
|
|
$ref: ./paths/preservation_trains.yaml#/~1preservation~1trains
|
|
"/preservation/trains/{train_id}":
|
|
$ref: "./paths/preservation_trains.yaml#/~1preservation~1trains~1{train_id}"
|
|
"/preservation/trains/{train_id}/items":
|
|
$ref: "./paths/preservation_trains.yaml#/~1preservation~1trains~1{train_id}~1items"
|
|
"/preservation/trains/{train_id}/items/batch":
|
|
$ref: "./paths/preservation_trains.yaml#/~1preservation~1trains~1{train_id}~1items~1batch"
|
|
"/preservation/trains/{train_id}/items/{train_item_id}":
|
|
$ref: "./paths/preservation_trains.yaml#/~1preservation~1trains~1{train_id}~1items~1{train_item_id}"
|
|
"/preservation/trains/{train_id}/items/{train_item_id}/copy":
|
|
$ref: "./paths/preservation_trains.yaml#/~1preservation~1trains~1{train_id}~1items~1{train_item_id}~1copy"
|
|
/preservation/processings:
|
|
$ref: ./paths/preservation_processings.yaml#/~1preservation~1processings
|
|
"/preservation/processings/{processing_id}":
|
|
$ref: "./paths/preservation_processings.yaml#/~1preservation~1processings~1{processing_id}"
|
|
/preservation/waiting-list/items:
|
|
$ref: ./paths/preservation_waiting_list.yaml#/~1preservation~1waiting-list~1items
|
|
"/preservation/waiting-list/items/{item_id}":
|
|
$ref: "./paths/preservation_waiting_list.yaml#/~1preservation~1waiting-list~1items~1{item_id}"
|
|
"/public/biblios/{biblio_id}":
|
|
$ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}"
|
|
"/public/checkouts/availability":
|
|
$ref: ./paths/checkouts.yaml#/~1public~1checkouts~1availability
|
|
"/public/items":
|
|
$ref: "./paths/items.yaml#/~1public~1items"
|
|
"/public/biblios/{biblio_id}/items":
|
|
$ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}~1items"
|
|
"/public/biblios/{biblio_id}/ratings":
|
|
$ref: "./paths/biblios.yaml#/~1public~1biblios~1{biblio_id}~1ratings"
|
|
/public/libraries:
|
|
$ref: ./paths/libraries.yaml#/~1public~1libraries
|
|
"/public/libraries/{library_id}":
|
|
$ref: "./paths/libraries.yaml#/~1public~1libraries~1{library_id}"
|
|
"/public/oauth/login/{provider_code}/{interface}":
|
|
$ref: ./paths/public_oauth.yaml#/~1public~1oauth~1login~1{provider_code}~1{interface}
|
|
"/public/patrons/{patron_id}/article_requests/{article_request_id}":
|
|
$ref: "./paths/article_requests.yaml#/~1public~1patrons~1{patron_id}~1article_requests~1{article_request_id}"
|
|
"/public/patrons/{patron_id}/checkouts":
|
|
$ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1checkouts"
|
|
"/public/patrons/{patron_id}/guarantors/can_see_charges":
|
|
$ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1guarantors~1can_see_charges"
|
|
"/public/patrons/{patron_id}/guarantors/can_see_checkouts":
|
|
$ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1guarantors~1can_see_checkouts"
|
|
"/public/patrons/{patron_id}/holds/{hold_id}":
|
|
$ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1holds~1{hold_id}"
|
|
"/public/patrons/{patron_id}/password":
|
|
$ref: "./paths/public_patrons.yaml#/~1public~1patrons~1{patron_id}~1password"
|
|
"/public/tickets":
|
|
$ref: "./paths/tickets.yaml#/~1public~1tickets"
|
|
/quotes:
|
|
$ref: ./paths/quotes.yaml#/~1quotes
|
|
"/quotes/{quote_id}":
|
|
$ref: "./paths/quotes.yaml#/~1quotes~1{quote_id}"
|
|
/record_sources:
|
|
$ref: ./paths/record_sources.yaml#/~1record_sources
|
|
"/record_sources/{record_source_id}":
|
|
$ref: ./paths/record_sources.yaml#/~1record_sources~1{record_source_id}
|
|
/return_claims:
|
|
$ref: ./paths/return_claims.yaml#/~1return_claims
|
|
"/return_claims/{claim_id}":
|
|
$ref: "./paths/return_claims.yaml#/~1return_claims~1{claim_id}"
|
|
"/return_claims/{claim_id}/notes":
|
|
$ref: "./paths/return_claims.yaml#/~1return_claims~1{claim_id}~1notes"
|
|
"/return_claims/{claim_id}/resolve":
|
|
$ref: "./paths/return_claims.yaml#/~1return_claims~1{claim_id}~1resolve"
|
|
"/rotas":
|
|
$ref: "./paths/rotas.yaml#/~1rotas"
|
|
"/rotas/{rota_id}":
|
|
$ref: "./paths/rotas.yaml#/~1rotas~1{rota_id}"
|
|
"/rotas/{rota_id}/stages/{stage_id}/position":
|
|
$ref: "./paths/rotas.yaml#/~1rotas~1{rota_id}~1stages~1{stage_id}~1position"
|
|
/suggestions:
|
|
$ref: ./paths/suggestions.yaml#/~1suggestions
|
|
"/suggestions/{suggestion_id}":
|
|
$ref: "./paths/suggestions.yaml#/~1suggestions~1{suggestion_id}"
|
|
/suggestions/managers:
|
|
$ref: "./paths/suggestions.yaml#/~1suggestions~1managers"
|
|
"/tickets":
|
|
$ref: "./paths/tickets.yaml#/~1tickets"
|
|
"/tickets/{ticket_id}":
|
|
$ref: "./paths/tickets.yaml#/~1tickets~1{ticket_id}"
|
|
"/tickets/{ticket_id}/updates":
|
|
$ref: "./paths/tickets.yaml#/~1tickets~1{ticket_id}~1updates"
|
|
/transfer_limits:
|
|
$ref: ./paths/transfer_limits.yaml#/~1transfer_limits
|
|
/transfer_limits/batch:
|
|
$ref: ./paths/transfer_limits.yaml#/~1transfer_limits~1batch
|
|
"/transfer_limits/{limit_id}":
|
|
$ref: "./paths/transfer_limits.yaml#/~1transfer_limits~1{limit_id}"
|
|
parameters:
|
|
advancededitormacro_id_pp:
|
|
description: Advanced editor macro internal identifier
|
|
in: path
|
|
name: advancededitormacro_id
|
|
required: true
|
|
type: integer
|
|
agreement_id_pp:
|
|
description: Agreement internal identifier
|
|
in: path
|
|
name: agreement_id
|
|
required: true
|
|
type: integer
|
|
agreement_period_id_pp:
|
|
description: Agreement period internal identifier
|
|
in: path
|
|
name: agreement_period_id
|
|
required: true
|
|
type: integer
|
|
authorised_value_id_pp:
|
|
description: Authorised value internal identifier
|
|
in: path
|
|
name: authorised_value_id
|
|
required: true
|
|
type: integer
|
|
authority_id_pp:
|
|
description: Authority identifier
|
|
in: path
|
|
name: authority_id
|
|
required: true
|
|
type: integer
|
|
authority_type_header:
|
|
description: Authority type code. Use when content type is not application/json
|
|
name: x-authority-type
|
|
in: header
|
|
required: false
|
|
type: string
|
|
booking_id_pp:
|
|
description: Booking identifier
|
|
in: path
|
|
name: booking_id
|
|
required: true
|
|
type: integer
|
|
framework_id_header:
|
|
description: Framework id. Use when content type is not application/json
|
|
name: x-framework-id
|
|
in: header
|
|
required: false
|
|
type: string
|
|
marc_schema_header:
|
|
description: March schema. One of MARC21 or UNIMARC
|
|
name: x-record-schema
|
|
in: header
|
|
required: false
|
|
type: string
|
|
enum:
|
|
- MARC21
|
|
- UNIMARC
|
|
confirm_not_duplicate_header:
|
|
description: Confirm the posted element is not a duplicate
|
|
name: x-confirm-not-duplicate
|
|
in: header
|
|
required: false
|
|
type: integer
|
|
identity_provider_id_pp:
|
|
description: Identity provider internal identifier
|
|
in: path
|
|
name: identity_provider_id
|
|
required: true
|
|
type: integer
|
|
identity_provider_domain_id_pp:
|
|
description: Identity provider domain internal identifier
|
|
in: path
|
|
name: identity_provider_domain_id
|
|
required: true
|
|
type: integer
|
|
biblio_id_pp:
|
|
description: Record internal identifier
|
|
in: path
|
|
name: biblio_id
|
|
required: true
|
|
type: integer
|
|
candidate_match_id_pp:
|
|
description: Internal import record match identifier
|
|
in: path
|
|
name: candidate_match_id
|
|
required: true
|
|
type: integer
|
|
cash_register_id_pp:
|
|
description: Cash register internal identifier
|
|
in: path
|
|
name: cash_register_id
|
|
required: true
|
|
type: integer
|
|
cashup_id_pp:
|
|
description: Cashup internal identifier
|
|
in: path
|
|
name: cashup_id
|
|
required: true
|
|
type: integer
|
|
checkout_id_pp:
|
|
description: Internal checkout identifier
|
|
in: path
|
|
name: checkout_id
|
|
required: true
|
|
type: integer
|
|
city_id_pp:
|
|
description: City internal identifier
|
|
in: path
|
|
name: city_id
|
|
required: true
|
|
type: integer
|
|
club_id_pp:
|
|
description: Internal club identifier
|
|
in: path
|
|
name: club_id
|
|
required: true
|
|
type: integer
|
|
eholdings_title_id_pp:
|
|
description: Title internal identifier
|
|
in: path
|
|
name: title_id
|
|
required: true
|
|
type: integer
|
|
eholdings_package_id_pp:
|
|
description: Package internal identifier
|
|
in: path
|
|
name: package_id
|
|
required: true
|
|
type: string
|
|
eholdings_resource_id_pp:
|
|
description: Resource internal identifier
|
|
in: path
|
|
name: resource_id
|
|
required: true
|
|
type: string
|
|
erm_counter_files_id_pp:
|
|
description: ERM counter_files internal identifier
|
|
in: path
|
|
name: erm_counter_files_id
|
|
required: true
|
|
type: integer
|
|
erm_counter_log_id_pp:
|
|
description: ERM counter_log internal identifier
|
|
in: path
|
|
name: erm_counter_log_id
|
|
required: true
|
|
type: integer
|
|
erm_default_usage_report_id_pp:
|
|
description: ERM default_usage_report internal identifier
|
|
in: path
|
|
name: erm_default_usage_report_id
|
|
required: true
|
|
type: integer
|
|
erm_usage_data_provider_id_pp:
|
|
description: ERM usage_data_provider internal identifier
|
|
in: path
|
|
name: erm_usage_data_provider_id
|
|
required: true
|
|
type: integer
|
|
data_type_pp:
|
|
description: ERM custom report data type
|
|
in: path
|
|
name: data_type
|
|
required: true
|
|
type: string
|
|
fund_id_pp:
|
|
description: Fund id
|
|
in: path
|
|
name: fund_id
|
|
required: true
|
|
type: integer
|
|
hold_id_pp:
|
|
description: Internal hold identifier
|
|
in: path
|
|
name: hold_id
|
|
required: true
|
|
type: integer
|
|
ill_batch_id_pp:
|
|
description: Internal ILL batch identifier
|
|
in: path
|
|
name: ill_batch_id
|
|
required: true
|
|
type: integer
|
|
ill_batchstatus_code_pp:
|
|
description: Internal ILL batch status identifier
|
|
in: path
|
|
name: ill_batchstatus_code
|
|
required: true
|
|
type: string
|
|
import_batch_profile_id_pp:
|
|
description: Internal profile identifier
|
|
in: path
|
|
name: import_batch_profile_id
|
|
required: true
|
|
type: integer
|
|
import_record_id_pp:
|
|
description: Internal import record identifier
|
|
in: path
|
|
name: import_record_id
|
|
required: true
|
|
type: integer
|
|
record_source_id_pp:
|
|
description: Internal record source identifier
|
|
in: path
|
|
name: record_source_id
|
|
required: true
|
|
type: integer
|
|
item_id_pp:
|
|
description: Internal item identifier
|
|
in: path
|
|
name: item_id
|
|
required: true
|
|
type: integer
|
|
item_id_qp:
|
|
description: Internal item identifier
|
|
in: query
|
|
name: item_id
|
|
type: integer
|
|
job_id_pp:
|
|
description: Job internal identifier
|
|
in: path
|
|
name: job_id
|
|
required: true
|
|
type: integer
|
|
library_id_pp:
|
|
description: Internal library identifier
|
|
in: path
|
|
name: library_id
|
|
required: true
|
|
type: string
|
|
license_id_pp:
|
|
description: License internal identifier
|
|
in: path
|
|
name: license_id
|
|
required: true
|
|
type: integer
|
|
match:
|
|
description: Matching criteria
|
|
enum:
|
|
- contains
|
|
- exact
|
|
- starts_with
|
|
- ends_with
|
|
in: query
|
|
name: _match
|
|
required: false
|
|
type: string
|
|
order_by:
|
|
collectionFormat: csv
|
|
description: Sorting criteria
|
|
in: query
|
|
items:
|
|
type: string
|
|
name: _order_by
|
|
required: false
|
|
type: array
|
|
order_id_pp:
|
|
description: Internal order identifier
|
|
in: path
|
|
name: order_id
|
|
required: true
|
|
type: integer
|
|
page:
|
|
description: "Page number, for paginated object listing"
|
|
in: query
|
|
name: _page
|
|
required: false
|
|
type: integer
|
|
patron_id_pp:
|
|
description: Internal patron identifier
|
|
in: path
|
|
name: patron_id
|
|
required: true
|
|
type: integer
|
|
patron_id_qp:
|
|
description: Internal patron identifier
|
|
in: query
|
|
name: patron_id
|
|
type: integer
|
|
per_page:
|
|
description: "Page size, for paginated object listing"
|
|
in: query
|
|
name: _per_page
|
|
required: false
|
|
type: integer
|
|
preservation_processing_id_pp:
|
|
description: processing internal identifier
|
|
in: path
|
|
name: processing_id
|
|
required: true
|
|
type: integer
|
|
preservation_train_id_pp:
|
|
description: train internal identifier
|
|
in: path
|
|
name: train_id
|
|
required: true
|
|
type: integer
|
|
preservation_train_item_id_pp:
|
|
description: train item internal identifier
|
|
in: path
|
|
name: train_item_id
|
|
required: true
|
|
type: integer
|
|
q_body:
|
|
description: Query filter sent through request"s body
|
|
in: body
|
|
name: query
|
|
required: false
|
|
schema:
|
|
type: object
|
|
q_param:
|
|
description: Query filter sent as a request parameter
|
|
in: query
|
|
name: q
|
|
required: false
|
|
type: array
|
|
items:
|
|
type: string
|
|
collectionFormat: multi
|
|
quote_id_pp:
|
|
description: Quote internal identifier
|
|
in: path
|
|
name: quote_id
|
|
required: true
|
|
type: integer
|
|
record_source_id_header:
|
|
description: Internal record source identifier.
|
|
name: x-record-source-id
|
|
in: header
|
|
required: false
|
|
type: string
|
|
request_id_header:
|
|
description: Request id header
|
|
in: header
|
|
name: x-koha-request-id
|
|
required: false
|
|
type: integer
|
|
rota_id_pp:
|
|
description: Rota internal identifier
|
|
in: path
|
|
name: rota_id
|
|
required: true
|
|
type: integer
|
|
search_filter_id_pp:
|
|
name: search_filter_id
|
|
in: path
|
|
description: Search filter internal identifier
|
|
required: true
|
|
type: integer
|
|
seen_pp:
|
|
description: Item was seen flag
|
|
in: query
|
|
name: seen
|
|
required: false
|
|
type: integer
|
|
smtp_server_id_pp:
|
|
description: SMTP server internal identifier
|
|
in: path
|
|
name: smtp_server_id
|
|
required: true
|
|
type: integer
|
|
suggestion_id_pp:
|
|
description: Internal suggestion identifier
|
|
in: path
|
|
name: suggestion_id
|
|
required: true
|
|
type: integer
|
|
ticket_id_pp:
|
|
description: Internal ticket identifier
|
|
in: path
|
|
name: ticket_id
|
|
required: true
|
|
type: integer
|
|
transfer_limit_id_pp:
|
|
description: Internal transfer limit identifier
|
|
in: path
|
|
name: limit_id
|
|
required: true
|
|
type: string
|
|
vendor_id_pp:
|
|
description: Vendor id
|
|
in: path
|
|
name: vendor_id
|
|
required: true
|
|
type: integer
|
|
info:
|
|
title: Koha REST API
|
|
version: "1"
|
|
license:
|
|
name: "GPL v3,"
|
|
url: http://www.gnu.org/licenses/gpl.txt
|
|
contact:
|
|
name: Koha Development Team
|
|
url: https://koha-community.org/
|
|
description: |
|
|
## Background
|
|
|
|
The API supports two sets of endpoints, one targetted at library staff and the other at at library users.
|
|
|
|
Those endpoints under the `/public` path are aimed at delivering functionality tailored to library users and offer
|
|
a more restricted set of functions, overrides and data in thier responses for data privacy and library policy
|
|
reasons. Many of these endpoints do not require authentication for fetching public data, though an authenticated
|
|
session will expose additional options and allow users to see more data where it is part of their own record.
|
|
|
|
All other endpoints are targetted at the staff interface level and allow for additional functionality and a more
|
|
unrestricted view of data. These endpoints, however, have a level of redaction built in for resources that the
|
|
api consumer should not have access to. For example, user data for users who do not belong to the same library
|
|
or library group of your api user will be reduced to just minimum neccesary for a valid response. Object keys will
|
|
be consistent for all responses, but their values may be removed depending on access.
|
|
|
|
## Authentication
|
|
|
|
The API supports the following authentication mechanisms
|
|
|
|
* HTTP Basic authentication
|
|
* OAuth2 (client credentials grant)
|
|
* Cookie-based
|
|
|
|
Both _Basic authentication_ and the _OAuth2_ flow, need to be enabled
|
|
by system preferences.
|
|
|
|
## Authorization
|
|
|
|
The API uses existing user profiles to restrict access to resources based on user permissions and the library the
|
|
API user is assigned to. This may result, at times, in resources being returned in a redacted form with all keys
|
|
present but sensative values nulled.
|
|
|
|
We do not yet support OAuth Scopes or the Authorization Code grant flow.
|
|
|
|
## Errors
|
|
|
|
The API uses standard HTTP status codes to indicate the success or failure
|
|
of the API call. The body of the response will be JSON in the following format:
|
|
|
|
```
|
|
{
|
|
"error": "Current settings prevent the passed due date to be applied",
|
|
"error_code": "invalid_due_date"
|
|
}
|
|
```
|
|
|
|
Note: Some routes might offer additional attributes in their error responses but that"s
|
|
subject to change and thus not documented.
|
|
|
|
## Filtering responses
|
|
|
|
The API allows for some advanced response filtering using a JSON based query syntax. The
|
|
query can be added to the requests:
|
|
|
|
* as a query parameter `q=`
|
|
* in the request body
|
|
|
|
For simple field equality matches we can use `{ "fieldname": "value" }` where the fieldname
|
|
matches one of the fields as described in the particular endpoints response object.
|
|
|
|
We can refine that with more complex matching clauses by nesting a the clause into the
|
|
object; `{ "fieldname": { "clause": "value" } }`.
|
|
|
|
Available matching clauses include `=`, `!=`, `<`, `>`, `<=`, `>=` and `-not`. We also support `-like`
|
|
and `-not_like` string comparisons with `%` used to denote wildcards, thus you can pass
|
|
`{ "fieldname": { "-like": "value%" } }` to do a 'starts with' string match for example.
|
|
|
|
We can filter on multiple fields by adding them to the JSON respresentation. Adding at `HASH`
|
|
level will result in an "AND" query, whilst combinding them in an `ARRAY` will result in an
|
|
"OR" query: `{ "field1": "value2", "field2": "value2" }` will filter the response to only those
|
|
results with both field1 containing value2 AND field2 containing value2 for example.
|
|
|
|
There is a collection of special operators also available to you, including:
|
|
|
|
* `-in` - Expects an array of values to perform an OR match against
|
|
* `-not_in` - Expects an array of values to perform a NOR match against
|
|
* `-between` - Expects two values which the value of the field is expected to fall between
|
|
* `-not_between` - Expects two values which the value of the field is expected to fall outside of
|
|
* `-ident` - Expects a second field name to match the two field values against
|
|
* `-regexp` - Expects a perl compatible regular expression for which the value should match
|
|
|
|
Logic and nesting is also supported and you may use `-and` and `-or` to change the logic of an ARRAY
|
|
or HASH as described above.
|
|
|
|
Additionally, if you are requesting related data be embedded into the response one can query
|
|
on the related data using dot notation in the field names.
|
|
|
|
### Examples
|
|
|
|
The following request would return any patron with firstname "Henry" and lastname "Acevedo";
|
|
|
|
`curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw '{ "surname": "Acevedo", "firstname": "Henry" }'`
|
|
|
|
The following request would return any patron whose lastname begins with "Ace";
|
|
|
|
`curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw '{ "surname": { "-like": "Ace%" }'`
|
|
|
|
The following request would return any patron whose lastname is "Acevedo" OR "Bernardo"
|
|
|
|
`curl -u koha:koha --request GET "http://127.0.0.1:8081/api/v1/patrons/" --data-raw '{ "surname": [ "Acevedo", "Bernardo" ] }'`
|
|
|
|
The following request embeds the related patron extended attributes data and filters on it.
|
|
|
|
`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" }'`
|
|
|
|
## Special headers
|
|
|
|
### x-koha-embed
|
|
|
|
This optional header allows the api consumer to request additional related data
|
|
to be returned in the api response. It also allows for cross referencing in the
|
|
queries as described above. It accepts a comma delimited list of relation names.
|
|
|
|
Relations may on occasion also support dot delimited nesting to allow traversal.
|
|
|
|
### x-koha-library
|
|
|
|
This optional header should be passed to give your api request a library
|
|
context; If it is not included in the request, then the request context
|
|
will default to using your api comsumer"s assigned home library.
|
|
tags:
|
|
- description: "Manage additional fields\n"
|
|
name: additional_fields
|
|
x-displayName: Additional fields
|
|
- description: "Manage article requests\n"
|
|
name: article_requests
|
|
x-displayName: Article requests
|
|
- description: "Manage authorised value categories\n"
|
|
name: authorised_value_categories
|
|
x-displayName: Authorised value categories
|
|
- description: "Manage authorised values\n"
|
|
name: authorised_values
|
|
x-displayName: Authorised values
|
|
- description: "Manage batch import profiles\n"
|
|
name: batch_import_profiles
|
|
x-displayName: Batch import profiles
|
|
- description: "Manage baskets for the acquisitions module\n"
|
|
name: baskets
|
|
x-displayName: Baskets
|
|
- description: "Manage Authority records\n"
|
|
name: authorities
|
|
x-displayName: Authorities
|
|
- description: "Manage bibliographic records\n"
|
|
name: biblios
|
|
x-displayName: Biblios
|
|
- description: "Manage bookings\n"
|
|
name: bookings
|
|
x-displayName: Bookings
|
|
- description: "Manage cash registers\n"
|
|
name: cash_registers
|
|
x-displayName: Cash registers
|
|
- description: "Manage cash register cashups\n"
|
|
name: cashups
|
|
x-displayName: Cashups
|
|
- description: "Manage checkouts\n"
|
|
name: checkouts
|
|
x-displayName: Checkouts
|
|
- description: "Manage circulation desks\n"
|
|
name: desks
|
|
x-displayName: Circulation desks
|
|
- description: "Manage circulation rules\n"
|
|
name: circulation_rules
|
|
x-displayName: Circulation rules
|
|
- description: "Manage cities\n"
|
|
name: cities
|
|
x-displayName: Cities
|
|
- description: "Manage patron clubs\n"
|
|
name: clubs
|
|
x-displayName: Clubs
|
|
- description: "Manage EDI files\n"
|
|
name: edi_files
|
|
x-displayName: EDI files
|
|
- description: "Manage ERM agreements\n"
|
|
name: erm_agreements
|
|
x-displayName: ERM agreements
|
|
- description: "Manage ERM configuration\n"
|
|
name: erm_config
|
|
x-displayName: ERM configuration
|
|
- description: "Manage ERM counter files\n"
|
|
name: erm_counter_files
|
|
x-displayName: ERM counter files
|
|
- description: "Manage ERM counter logs\n"
|
|
name: erm_counter_logs
|
|
x-displayName: ERM counter logs
|
|
- description: "Retrieve counter registry data\n"
|
|
name: erm_counter_registry
|
|
x-displayName: ERM counter registry
|
|
- description: "Manage ERM saved reports\n"
|
|
name: erm_default_usage_reports
|
|
x-displayName: ERM saved reports
|
|
- description: "Manage ERM docuemnts\n"
|
|
name: erm_documents
|
|
x-displayName: ERM documents
|
|
- description: "Manage ERM eHoldings packages\n"
|
|
name: erm_eholdings_packages
|
|
x-displayName: ERM eHoldings packages
|
|
- description: "Manage ERM eHoldings resources\n"
|
|
name: erm_eholdings_resources
|
|
x-displayName: ERM eHoldings resources
|
|
- description: "Manage ERM eHoldings titles\n"
|
|
name: erm_eholdings_titles
|
|
x-displayName: ERM eHoldings titles
|
|
- description: "Manage ERM licences\n"
|
|
name: erm_licences
|
|
x-displayName: ERM licences
|
|
- description: "Retrieve SUSHI service data\n"
|
|
name: erm_sushi_service
|
|
x-displayName: ERM SUSHI services
|
|
- description: "Manage ERM usage data providers\n"
|
|
name: erm_usage_data_providers
|
|
x-displayName: ERM usage data providers
|
|
- description: "Manage ERM usage databases\n"
|
|
name: erm_usage_databases
|
|
x-displayName: ERM usage databases
|
|
- description: "Manage ERM usage items\n"
|
|
name: erm_usage_items
|
|
x-displayName: ERM usage items
|
|
- description: "Manage ERM usage platforms\n"
|
|
name: erm_usage_platforms
|
|
x-displayName: ERM usage platforms
|
|
- description: "Manage ERM usage titles\n"
|
|
name: erm_usage_titles
|
|
x-displayName: ERM usage titles
|
|
- description: "Manage ERM usage reports\n"
|
|
name: erm_usage_reports
|
|
x-displayName: ERM usage reports
|
|
- description: "Manage ERM users\n"
|
|
name: erm_users
|
|
x-displayName: ERM users
|
|
- description: "Manage funds for the acquisitions module\n"
|
|
name: funds
|
|
x-displayName: Funds
|
|
- description: "Manage holds\n"
|
|
name: holds
|
|
x-displayName: Holds
|
|
- description: "Manage identity providers\n"
|
|
name: identity_providers
|
|
x-displayName: Identity providers
|
|
- description: "Manage ILL module backends\n"
|
|
name: ill_backends
|
|
x-displayName: ILL backends
|
|
- description: "Manage ILL module batches\n"
|
|
name: ill_batches
|
|
x-displayName: ILL batches
|
|
- description: "Manage ILL module batch statuses\n"
|
|
name: ill_batchstatuses
|
|
x-displayName: ILL batch statuses
|
|
- description: "Manage ILL requests\n"
|
|
name: ill_requests
|
|
x-displayName: ILL requests
|
|
- description: "Manage import batches\n"
|
|
name: import_batches
|
|
x-displayName: Import batches
|
|
- description: "Manage item groups\n"
|
|
name: item_groups
|
|
x-displayName: Item groups
|
|
- description: "Manage record sources\n"
|
|
name: record_sources
|
|
x-displayName: Record source
|
|
- description: "Manage items\n"
|
|
name: items
|
|
x-displayName: Items
|
|
- description: "Manage item types\n"
|
|
name: item_types
|
|
x-displayName: Item Types
|
|
- description: "Manage jobs\n"
|
|
name: jobs
|
|
x-displayName: Jobs
|
|
- description: "Manage libraries\n"
|
|
name: libraries
|
|
x-displayName: Libraries
|
|
- description: "Manage macros\n"
|
|
name: macros
|
|
x-displayName: Macros
|
|
- description: "Manage acquisition orders\n"
|
|
name: orders
|
|
x-displayName: Orders
|
|
- description: "Handle OAuth flows\n"
|
|
name: oauth
|
|
x-displayName: OAuth
|
|
- description: "Manage patron categories\n"
|
|
name: patron_categories
|
|
x-displayName: Patron categories
|
|
- description: "Manage patrons\n"
|
|
name: patrons
|
|
x-displayName: Patrons
|
|
- description: "Manage preservation tasks\n"
|
|
name: preservation
|
|
x-displayName: Preservation
|
|
- description: "Manage purchase suggestions\n"
|
|
name: suggestions
|
|
x-displayName: Purchase suggestions
|
|
- description: "Manage quotes\n"
|
|
name: quotes
|
|
x-displayName: Quotes
|
|
- description: "Manage recalls\n"
|
|
name: recalls
|
|
x-displayName: Recalls
|
|
- description: "Manage return claims\n"
|
|
name: return_claims
|
|
x-displayName: Return claims
|
|
- description: "Manage stock rotation\n"
|
|
name: stockrotation
|
|
x-displayName: Rotas
|
|
- description: "Manage search filters"
|
|
name: search_filters
|
|
x-displayName: Search filters
|
|
- description: "Manage SMTP servers configurations\n"
|
|
name: smtp_servers
|
|
x-displayName: SMTP servers
|
|
- description: "Manage tickets\n"
|
|
name: tickets
|
|
x-displayName: Tickets
|
|
- description: "Manage transfer limits\n"
|
|
name: transfer_limits
|
|
x-displayName: Transfer limits
|
|
- description: "Handle two factor authentication flows\n"
|
|
name: 2fa
|
|
x-displayName: Two factor authentication
|
|
- description: "Manage vendors for the acquisitions module\n"
|
|
name: vendors
|
|
x-displayName: Vendors
|