2024 Discovery API Improvements

Topics

API ImprovementWhoNotesRelated API/JiraDecisions and Actions
Bulk Renewals
Trying to build up a batch query in CQL doesn’t work because you have to send hundreds of UUIDs in the querystring, which makes the request too large
  • PERF-237, not specifically about bulk renewal but mentions problems that occur when many people try to renew.
  • UXPROD-3651, seems to relate mostly to Bulk edit app, not any api?
  • UXPROD-4805 API endpoint for batch renewal created 4/30/2024 by Demian Katz 


  • communicated 4805 to RA SIG
Tell the Discovery system what item is holdable
Currently the apis do not allow patrons to see if an item is holdable until they place a hold, vendors have been using things like locations, etc to remove that place a hold, but libraries would like to use other fields/logic using the api.
  • UXPROD-3934 RTAC: Add (optional) Applicable Circulation Policy Information for Patron + Item in RTAC Response (all rtacs)
  • UXPROD-4276 Replace Location Details accordion with solution to support discovery integration
  • UXPROD-4240 TLR: customize request type order via discovery
  • UXPROD-3737 Title level request: Future enhancements
  • UXPROD-4057 Create request status: Open – Not on shelf
  • UXPROD-4054 Indicate if a shelving location is open or closed to patrons
  • UXPROD-3981 TLR: Circulation rules on items to be followed by title level request holds
  • UXPROD-3972 TLR: allow request on instance with no item record
  • UXPROD-3930 Allow proxy to make requests on behalf of sponsor(s) via opac/discovery
  • UXPROD-2756 Patron Empowerment | Create GET Pickup Locations API endpoints
  • UXPROD-2689 Enable Request Policy to Determine Allowed Pickup Service Points
  • UXPROD-2422 Discovery Integrations - Expose Circulation Rules Regarding Requests
  • UXPROD-3977 CDL (Controlled Digital Lending)
  • UXPROD-1855 Error message customization

RTAC EDGE API has recently had improvements made by EBSCO in this area, but some of these improvements are done via the ICS.

Tell the Discovery system what item is renewable

  • UXPROD-3934 RTAC: Add (optional) Applicable Circulation Policy Information for Patron + Item in RTAC Response (all rtacs)
  • MODRTAC-95 RTAC results order (edge-rtac)
  • UXPROD-2758 Discovery Integrations - Expose Circulation Rules Regarding Renewal Options
  • UXPROD-1855 Error message customization

Ability to Sort Items in FOLIO so that the Discovery system does not have to sort 10,000+ items on the fly

  • MODRTAC-95 RTAC results order
  • MODRTAC-68 Include all multiple holding statements and holding statement public notes in RTAC response
  • MODRTAC-63 Change what returns in response <<status>> when &fullperiodicals=false
  • UXPROD-2403 Include additional holdings and items data into OAI-PMH feed

Documentation needs to be up-to-date for all APIs

auto-generated API documentation

EDGE API documentation, High level overview of EDGE API, OKAPI documentation (API, guide), New API documentation.

(from Stanford)

  • Some APIs have two or more sets of autogenerated documentation. Some have none at all
  • Sometimes the documentation only includes a JSON schema and doesn’t show an example of what the response actually looks like
  • Often the autogenerated documentation doesn’t give crucial information, like the timestamp format issue mentioned above




Other notes

UXPROD-2423, links out to a bunch, UXPROD-4641 Edge API improvements, very tech/performance based

Display API Issues: UXPROD-4670 Make receiving data available through RTAC for Unbound issues, UXPROD-4054 Indicate if a shelving location is open or closed to patrons (edge-rtac), has parent UXPROD-771 Locations and Service Points, MODRTAC-68 Include all multiple holding statements and holding statement public notes in RTAC response (edge-rtac), UXPROD-3881 RTAC: Support including holdings from child instances in RTAC response (all rtacs), UXPROD-3525 Extend Piece "Receiving history" information from holdings display to public display, UXPROD-2626 mod-rtac | RTAC response should only return requested location(s). UISER-129 Add "Create item" and "Display to public" checkboxes to "Generate in receiving" dialog, UXPROD-4968 Add end points to display Pickup service points (Instance and Item support) - ([edge-patron and mod-patron]) - ECS with mod-tlr, CIRC-2159 Cancelling Paged TLR results in stalled queue and previously paged item becoming "available", UXPROD-4480 Add new end points (edge-patron and mod-patron) - Pickup service points (Instance support), UXPROD-1625 Re-order Item records, MODRTAC-112 Hold count includes completed and cancelled holds, MODINVSTOR-1266 Append bounded items/holdings to reponse of GET /inventory-view/instances endpoint when withBoundedRecords param is true

Other API Issues: UXPROD-4548 Authority records | Discovery Service / OPAC Layer support - Phase 2, MODPATRON-39 Include additional fields into /patron/account/{id} response