Ready to Learn?Ex Libris products all provide open APIs


The InterLibrary Loan Protocol (ISO ILL 10160/10161) was developed to provide uniform procedures for handling  peer-to-peer interlibrary loan operation between two ILL systems. The standard defines a number of messages that can be sent between the requesting site and the supplying site in order for the requester to have access to different services and material that might be offered by the supplying organization.
When a request is sent to a library this starts a new transaction. The transaction continues until the item is satisfactorily supplied and, if a loan item, satisfactorily returned, or the supplying library notifies that it cannot supply the item. Transactions may last for a few seconds or minutes, if the supplying library has electronic access to its catalogues and is supplying documents held electronically over the network, or may last for months, for example where a loaned item is renewed.
In general a transaction goes through several stages: request; failure or notification of shipping of the item; acknowledgement of receipt of the item; reminders to return loaned items; return of item or notification of lost item; acknowledgement of receipt of returned item. The standard formally divides these stages into two phases, namely the processing phase which lasts from request until either shipped notification or notification of failure to supply, followed, for loan items only, by the tracking phase.
The following diagram illustrates the workflow:


The following table summaries the technical details of the ISO ILL support in Alma:

Status of ISO ILL ImplementationIn Production
Protocol Version2
transaction typesSimple
RoleBorrower, Lender
Transport Protocol(s) UsedMessage format: APDU
Character Set: Unicode/UTF-8
Transport Layer: TCP
Messages supported as Borrower

General Messages

Messages supported as Lender

Answer – Unfilled
Cancel Reply
Renew Answer
General Messages

Third Party Tools UsedNA

Events Table

Triggering Event InitiatorServiceBehavior in the receiving application
Patron requests material that does not exist locallyBorrowerILL RequestRequest is created. Lender checks if material is available.
Material exists. Library is willing to supply it, and send it to the requesting libraryLenderShipped 
Material does not exist, or library is not willing to supply it.LenderAnswer unfilledRequesting library will pass the request to a different potential supplier.
Material has received in the library.BorrowerReceived 
Material was returned by the borrowing patron.BorrowerReturned 
Material is back in the lending library.LenderChecked-intransaction is closed.
Patron cancels the request.BorrowerCanceltransaction is closed. Cancel reply message should be sent.
Patron asks to renew the request.BorrowerRenewRenew Answer message should be sent, indicating whether the lending library agrees to renew.
Staff sends a general message manuallyBorrower or LenderGeneral messagestaff should review and handle manually.

Required and Optional Services

The following table lists required and optional services. ISO services not listed are not used by this profile. In order to communicate with Alma using ISO ILL communication, the required services must be supported:
ServiceRoleRequired (R) or Optional (O)
ILL RequestBorrowerR
Answer – UnfilledLenderR
Cancel ReplyLenderO
Renew AnswerLenderO
General MessagesBorrower and LenderO


The following table describes the fields which are relevant for each service:

ServiceFieldRequired (R) or Optional (O)Description
 Transaction-IdRUnique id of the transaction and the message
 service-date-timeRDate and time of the service.
 Aliases-Not supported
 APDUDeliveryInfo extensionOMessages from Alma includes this extension.
Messages to Alma are not forced to include this extension, however if possible it is recommend to include it. Alma uses it in order to identify the sender and receiver.
 transaction-typeR1 (Simple)
ILL-Requestdelivery-addressRAddress for delivering the material.
This is usually the library's address.
Alma might put the requesting patron's address if the partner supports this option (configured on the partner).
BillingAddressOAddress for sending bills
 IllServiceTypeR(1) "loan", (2) "copy/nonreturnable"
for Electronic send 2.
 expiry-flagODefault: 3 (no expiry)
 item-idRInformation regarding the requested item (including bibliographic information).
Alma match logic is as following: NationalBibliographyNo - if supplied.
If not supplied - match will be done according to the partner's configuration. Default is ISBN and Title.
 forward-flag-Not supported
 retry-flag-Not supported
 requester-noteOFree text note
Shippedshipped-service-typeR(1) "loan" and (2), "copy/nonreturnable"
 date-shippedODate of shipment
 date-dueODue date of the item. Relevant in case of loan.
Note that it is possible to configure Alma to ignore this and use the library's terms of use.
 responder-noteOFree text note
ILL-Answertransaction-resultsR3 (unfilled) - currently, this is the only supported option
 UnfilledResultsRThe reason for not filling the ILL request
 responder-noteOFree text note
Cancelrequester-noteOFree text note
Cancel-ReplyanswerRTrue/False. Usually this should be TRUE.
 responder-noteOFree text note
RenewDesiredDueDateOIf not supplied, the lending library will renew according its policy.
 noteOFree text note
 noteOFree text note
 DateDueORequired if answer=True
Receiveddate-receivedRDate of recieval
 shipped-service-typeR(1) "loan" and (2), "copy/nonreturnable".
 requester-noteOFree text note
Returneddate-returnedRDate of return
 requester-noteOFree text note
Checked-indate-checked-inRDate of check-in
 responder-noteOFree text note
MessagenoteRFree text note

Security and Privacy

User authentication and authorization is out of scope of this profile. It is assumed that the ILL and Alma applications whose interactions are described in this profile trust each other.
Required Configuration in Alma
An ILL partner of 'ISO ILL' type should be defined, representing the institution with which a communication should be enabled. Refer to Alma online help for more information.
Required Configuration in the ILL system integrating with Alma
  • The ISO messages should include the relevant fields and information, as described above.
  • The URL for which ISO messages should be sent to Alma is [Alma domain]/view/iso-ill.