Overview: Starting with the Lotus release, the /circulation/requests POST endpoint seems to require more fields than it used to, which breaks some pre-existing API integrations (e.g. VuFind). Previously, you could omit "requestLevel" and provide just an "itemId" value, and the request would be placed. Now, "requestLevel", "holdingsRecordId" and "instanceId" are mandatory. Can't the holdings and instance IDs be inferred from the item ID? Can't requestLevel default to "Item" if omitted?
Steps to Reproduce:
If I try to place a hold in VuFind 8.0 against FOLIO Lotus, I get the error:
requestLevel must be one of the following: "Item"
If I modify the code to add requestLevel = Item, I get the error:
Cannot create a request with no instance ID
If I add the instance ID, I next get the error:
Cannot create a request with item ID but no holdings record ID
If I add the holdings ID, everything works... but are all these extra values really necessary?
See this VuFind pull request, which works around the problem – I'm happy to merge this if it is actually necessary, but if this is indeed a FOLIO bug, it would be helpful to know that: https://github.com/vufind-org/vufind/pull/2464