Ex Libris APIs: An Introduction

This document aims to provide a basic introduction to the API functionality available in the Ex Libris systems, namely Alma, Primo, and Analytics. The hope is to present a mostly non-technical explanation of how APIs work and give examples of the flexibility and power they provide.

Application Programming Interfaces (APIs)

API stands for Application Programming Interface. In simplest terms, it’s a way to retrieve and manipulate data within a system, typically an underlying database, using a programmatic interface rather than a standard user interface.

Typical Uses of APIs

  • Bulk Operations: The ability to perform the same set of functions on multiple records. Alma does provide this functionality for some things but not for every type of record and/or function.
  • Information Output (Reports/Lists): This is the ability to output lists of data in various formats. Again, Alma has some of this functionality but it is limited to the type of data and output format that ExLibris provides. It’s possible through API to pull record data from various sources and format it in a variety of ways.
  • Custom Interfaces: APIs can be used to create a user interface not available in ExLibris’ provided applications. Since APIs allow reading and writing to records in Alma, we can couple them with web application languages like PHP and Javascript to create a user interface with custom functionality.

Ex Libris APIs

Alma: Links to Documentation and Examples

  • Acquisitions (link to Ex Libris documentation)
  • Analytics (link to Ex Libris documentation)
  • Bibliographic Records and Inventory (link to Ex Libris documentation)
    • Examples:
      • Get Call Number from Barcode (DOCX): Use an item’s barcode to get call number information.
      • Bulk Item Delete with Note Update: A staff interface that allows staff to enter multiple barcodes for deletion. The interface also allows staff to enter a note to be added to the item just before deletion. This allows for filtering on said note in Analytics.
  • Configuration and Administration (link to Ex Libris documentation)
  • Courses (link to Ex Libris documentation)
  • Provider Zone (link to Ex Libris documentation)
  • Electronic Resources (link to Ex Libris documentation)
    • Examples:
      • Portfolio Move: This API implementation takes a list of source and destination bibliographic records and moves attached portfolios from the source to the destination.
  • Resource Sharing Partners (link to Ex Libris documentation)
  • Task Lists (link to Ex Libris documentation)
    • Examples:
      • Slip Printer (GitHub): This PHP application uses the Configuration and Task Lists APIs to get pending slips from a printout queue in Alma and print them in a user-entered number of vertical columns.
  • Users and Fulfillment (link to Ex Libris documentation)
    • Examples:
      • Delete User Notes from Patron Records (Google Doc): Currently, Alma will allow you to append user notes to patron records in bulk, but there is no way to delete them in bulk. This API script allows you to delete user notes from patron records in bulk.
      • Switch Patron Record Type between [Contact|Staff|Public] (Google Doc): This sample code reads a csv file of patron record numbers, and switches the Record Type to type “Staff.” Can be used to switch to Contact or Public. This change can’t be made in the Alma interface (except by deleting and recreating the record).
      • New User Registration Form (Google Doc): A web form that new community and Summit visiting patrons can use to create internal accounts in Alma.

Primo: Links to Documentation and Examples