Koha-clms/api/v1/swagger/paths
Lari Taskula c42848609c
Bug 38365: Make swagger-cli happy
Schema type [array,object] is not valid in OpenAPI version 2.

There are two different CSP reporting directives.

One is the now deprecated "report-uri" directive. Browsers typically send a single
JSON object following the CSP2 specification.

"report-uri" is deprecated in CSP3 in favor of the newer "report-to" directive. It
is expected to contain an array of report objects.

There are browser that do not yet support the "report-to" directive, so both
directives should be supported.

There are also variations among the "report-uri" format. See
https://www.tollmanz.com/content-security-policy-report-samples/

Because of these variations, it becomes quite complex to handle the most common
cases in a single API endpoint.

We could build two separate endpoints for both directives.

Or we can accept any type of input and handle the variations in a single endpoint.
This patch attempts to do that.

Before this patch input parameters were validated by JSON::Validator. That is the
normal and recommended way to build OpenAPI endpoints in Koha. After this patch we
remove all input parameter restrictions from the OpenAPI spec, and simply accept
any type of body.

This means the controller will now always return a HTTP 204 regardless of the type
of data passed to the controller. It instead truncates too long input before
writing them into log files.

As this is not an endpoint that developers will build new Koha clients for, we
do not have to offer a very in-depth input parameter spec for this endpoint.

To test:
1. t/db_dependent/api/v1/public/csp_reports.t

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2026-03-16 11:57:37 +01:00
..
acquisitions_baskets.yaml Bug 29668: Add API route to add a basket 2026-01-21 15:28:09 -07:00
acquisitions_edifiles.yaml Bug 40541: Add missing new line at the end of files when missing 2025-07-31 12:42:09 -06:00
acquisitions_funds.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
acquisitions_orders.yaml Bug 39816: (QA follow-up) Rename 'late_since_days' to 'days_late' 2025-10-22 07:42:55 -06:00
acquisitions_vendor_issues.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
acquisitions_vendors.yaml Bug 38262: Add extended attributes support to vendors API specification 2026-01-12 10:53:34 -07:00
acquisitions_vendors_config.yaml Bug 40684: Adjust permissions for vendors 2025-09-24 09:25:04 -06:00
acquisitions_vendors_extended_attribute_types.yaml Bug 38262: (bug 38446 follow-up) Use a dedicated endpoint 2026-01-12 10:53:36 -07:00
additional_contents.yaml Bug 39900: (follow-up) Add a newline to end of additional_contents.yaml 2025-08-15 09:52:29 -06:00
advancededitormacros.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
article_requests.yaml Bug 40541: Add missing new line at the end of files when missing 2025-07-31 12:42:09 -06:00
auth.yaml Bug 36561: Make /auth/password/validation use new permission 2025-07-24 17:04:05 -06:00
authorised_value_categories.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
authorised_values.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
authorities.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
biblios.yaml Bug 40541: Add missing new line at the end of files when missing 2025-07-31 12:42:09 -06:00
biblios_item_groups.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
biblios_merge.yaml Bug 37791: Fix 'Biblio not found' messages on the API 2024-10-11 12:21:29 +02:00
bookings.yaml Bug 33736: (follow-up) Remove top-level embed in bookings.yaml 2024-10-25 11:09:57 +02:00
cash_registers.yaml Bug 39091: Add cash registers list REST API endpoint 2025-07-23 16:36:40 -06:00
checkouts.yaml Bug 40665: API spec changes 2025-09-05 15:10:36 -06:00
circulation_rules.yaml Bug 40541: Add missing new line at the end of files when missing 2025-07-31 12:42:09 -06:00
cities.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
clubs.yaml Bug 25787: Update club holds to only require place_holds permission 2025-05-06 18:48:23 +02:00
config_file_transports.yaml Bug 39190: Rename API from sftp_servers to file_transports 2025-09-19 13:23:25 -06:00
config_smtp_servers.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
deleted_biblios.yaml Bug 37791: Fix 'Biblio not found' messages on the API 2024-10-11 12:21:29 +02:00
erm_agreements.yaml Bug 39438: Add additional fields support to ERM agreement periods 2026-01-30 10:54:10 -07:00
erm_config.yaml Bug 34387: Improve API docs naming consistency 2023-08-15 11:25:35 +03:00
erm_counter_files.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_counter_logs.yaml Bug 36627: Rename embed method to patron 2024-12-23 13:36:14 +01:00
erm_counter_registries.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_custom_reports.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_default_usage_reports.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_documents.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_eholdings_packages.yaml Bug 37577: Add additional fields for ERM packages 2024-11-08 16:09:19 +01:00
erm_eholdings_packages_resources.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_eholdings_resources.yaml Bug 38201: Add missing newlines at end of file 2025-10-02 09:40:32 -06:00
erm_eholdings_titles.yaml Bug 40192: Add additional fields support to ERM titles 2026-01-22 09:25:57 -07:00
erm_eholdings_titles_resources.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_extended_attribute_types.yaml Bug 39438: (bug 38446 follow-up) Add agreement_period to /erm/extended_attribute_types 2026-01-30 10:54:11 -07:00
erm_licenses.yaml Bug 35287: REST API - Add additional fields support to ERM Licenses 2024-10-24 13:38:19 +02:00
erm_sushi_services.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_usage_data_providers.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_usage_databases.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_usage_items.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_usage_platforms.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_usage_titles.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
erm_users.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
extended_attribute_types.yaml Bug 39438: Add additional fields support to ERM agreement periods 2026-01-30 10:54:10 -07:00
holds.yaml Bug 41456: Rename more item_type => item_type_id in hold's api spec 2026-01-06 07:45:36 -07:00
ill_backends.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
ill_batches.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
ill_batchstatuses.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
ill_requests.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
import_batch_profiles.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
import_batches.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
item_types.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
items.yaml Bug 40154: prevent deletion of items with holds 2026-02-10 10:52:04 -07:00
jobs.yaml Revert "Bug 36217: Fix background jobs page's include_last_hour filter" 2024-10-18 14:26:01 +02:00
libraries.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
lists.yaml Bug 28965: Add /public/lists 2024-11-08 16:09:21 +01:00
oauth.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
patron_categories.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
patrons.yaml Bug 28701: Adding primary_contact_method to the REST API 2026-01-13 15:20:07 -07:00
patrons_account.yaml Bug 38931: Add endpoints for individual credits and debits 2025-10-14 14:51:59 -06:00
patrons_checkouts.yaml Bug 32682: Update patrons chekcoput route to allow access with new permission 2026-01-30 10:54:13 -07:00
patrons_extended_attributes.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
patrons_hold_groups.yaml Bug 40613: (QA follow-up): Add hold_group_id param 2025-11-07 10:54:16 -07:00
patrons_holds.yaml Bug 40364: (follow-up) Fix duplicated mapping key issue 2026-01-30 10:54:17 -07:00
patrons_password.yaml Bug 29926: (QA follow-up) Date format missing in spec 2022-05-06 10:33:10 -10:00
patrons_recalls.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
preservation_config.yaml Bug 36565: Preservation module API docs fixes (bug 30708 follow-up) 2024-04-29 09:35:36 +02:00
preservation_processings.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
preservation_trains.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
preservation_waiting_list.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
public_csp_reports.yaml Bug 38365: Make swagger-cli happy 2026-03-16 11:57:37 +01:00
public_oauth.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
public_patrons.yaml Bug 39600: Fix spec to include invalid query handling 2025-04-29 17:19:34 +02:00
quotes.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
record_sources.yaml Bug 37513: Allow embedding usage_count in record sources 2024-08-27 12:14:25 +02:00
return_claims.yaml Bug 33292: Add logic to handle refunding a lost fee 2024-10-24 13:38:15 +02:00
rotas.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
search_filters.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
sip2_accounts.yaml Bug 37893: Add sip2 module permission 2025-11-18 11:21:05 -07:00
sip2_institutions.yaml Bug 37893: Add sip2 module permission 2025-11-18 11:21:05 -07:00
sip2_system_preference_overrides.yaml Bug 37893: Add sip2 module permission 2025-11-18 11:21:05 -07:00
suggestions.yaml Bug 33430: Update API specs to include required embeds 2025-05-19 18:54:20 +02:00
tickets.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00
transfer_limits.yaml Bug 37018: Add 400 response definition to all routes 2024-08-01 17:26:44 +02:00