Generate an Alma API key with read/write permissions on the Resource Sharing scope from the Ex Libris Developer Network for your institution
POST /almaws/v1/users/{user_id}/resource-sharing-requests with a JSON body specifying title, format, required_loan_date, and citation metadata fields to create the borrowing request
Note the returned request_id and external_id from the response for tracking
GET /almaws/v1/users/{user_id}/resource-sharing-requests/{request_id} to poll the request status (PENDING_APPROVAL, IN_PROCESS, SHIPPED, RETURNED, etc.)
When the item arrives, Alma updates the request status to SHIPPED; the item is checked out to the patron via the normal Alma fulfillment workflow triggered by the lending library's NCIP message
On return, PUT or POST the request status update endpoint to indicate the item has been returned to the lending library
Known gotchas
Alma imposes a daily API request threshold of 1000 calls per licensed named user; high-volume ILL workflows that poll per-request status can exhaust this quota — use webhooks or batch polling instead of per-request polling
The user_id in the API path must be the Alma primary identifier (not an institution's local ID); resolve it first via GET /almaws/v1/users?q=primary_id~{localId} before creating the request
NCIP-based communication with external ILL systems (ILLiad, OCLC WorldShare) must be configured as a resource sharing partner in Alma's admin UI before API-created requests can be routed to those partners
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp