canonical: https://jentic.com/apis/exlibrisgroup.com/exlibrisgroup

# Exlibrisgroup Ex Libris APIs

Jentic publishes the only available OpenAPI specification for Ex Libris APIs, keeping it validated and agent-ready. Ex Libris (a ProQuest company) provides Alma, the cloud library services platform used by academic and research libraries worldwide. This subset of the Alma REST APIs covers task-list workflows: managing printouts, requested resources, and resource-sharing lending requests. Authentication is by API key passed as a query parameter under the `/almaws/v1/task-lists`/ path family.

## For AI agents

Manage Alma task-list workflows for academic libraries: list and act on printouts, requested resources, and resource-sharing lending requests through the Alma REST API.

## Scope

Does not handle bibliographic record creation, user management, acquisitions, or analytics - use for Alma task-list workflows (printouts, requested resources, lending requests) only.

## Capabilities

- Retrieve queued printouts waiting at a circulation desk for batch action
- Act on a specific Alma printout by ID to mark it printed or reprint it
- List requested resources awaiting fulfilment in a given library or location
- Bulk-act on requested resources to fulfil, decline, or transit them
- Pull lending requests in the resource-sharing inbox for review
- Bulk-act on lending requests to ship, reject, or update their status

## Use cases

### Circulation Desk Printout Automation

Retrieve queued printouts from Alma and process them in batch from a desk client. The `/almaws/v1/task-lists/printouts` endpoints let staff list pending printouts and POST actions to mark them printed, reprinted, or cancelled. Useful for libraries that want to attach a label printer or kiosk to the Alma queue without operating the Alma staff UI.

Example prompt: Call GET `/almaws/v1/task-lists/printouts` to list pending printouts, then POST `/almaws/v1/task-lists/printouts/{printout_id}` with action=printed for each one returned.

### Requested-Resources Fulfilment Workflow

Pull the requested-resources task list and bulk-act on items as they are pulled from the shelf. GET `/almaws/v1/task-lists/requested-resources` returns items awaiting fulfilment and the corresponding POST endpoint accepts bulk actions to update their state. This supports custom shelf-pulling workflows or dashboards that sit alongside Alma rather than replacing it.

Example prompt: Call GET `/almaws/v1/task-lists/requested-resources` for library_code=MAIN, then POST the same path with a list of item IDs and action=fulfilled.

### Resource-Sharing Lending Inbox

Resource-sharing librarians can use `/almaws/v1/task-lists/rs/lending-requests` to retrieve the lending inbox and POST actions to ship, reject, or update requests. Combined with the requested-resources endpoint this lets a library run interlibrary loan triage from a custom dashboard or scheduled agent.

Example prompt: Call GET `/almaws/v1/task-lists/rs/lending-requests` filtered to status=Created, then POST the same path to ship the first ten requests.

### AI Library-Operations Agent via Jentic

An AI assistant embedded in a library staff portal uses Jentic to call Alma task-list endpoints based on natural-language requests like "clear today's printouts" or "reject all expired lending requests." Jentic resolves the intent to the correct Alma operation and supplies the API key from the vault rather than the agent's context.

Example prompt: Through Jentic, search 'list alma requested resources', load the GET `/almaws/v1/task-lists/requested-resources` operation, and execute it with library_code=MAIN.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/almaws/v1/task-lists/printouts` | Retrieve queued printouts |
| POST | `/almaws/v1/task-lists/printouts` | Bulk-act on printouts |
| POST | `/almaws/v1/task-lists/printouts/{printout_id}` | Act on a specific printout |
| GET | `/almaws/v1/task-lists/requested-resources` | List requested resources |
| POST | `/almaws/v1/task-lists/requested-resources` | Act on requested resources |
| GET | `/almaws/v1/task-lists/rs/lending-requests` | List lending requests |
| POST | `/almaws/v1/task-lists/rs/lending-requests` | Act on lending requests |

## Key resources

- **Printouts** — Print jobs queued by Alma fulfilment workflows
- **Requested Resources** — Items awaiting pull from the shelf for patrons
- **Lending Requests** — Resource-sharing inbox for interlibrary loans
- **Test** — Diagnostic endpoint for verifying API key access

## Why Jentic

- **Setup:** Wiring the Ex Libris Alma API by hand means passing its apikey on every query, choosing the right regional host among eu, na, ap, cn, and ca, and tracking the task-list endpoints yourself. Through Jentic you install once, import Ex Libris from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** Alma exposes task-list actions such as printouts, requested resources, and lending requests, so scope the agent to the operations it needs. You choose which of these it may call, so posting changes to a task list is not included unless you add it alongside the read operations.
- **Credential handling:** Your Ex Libris API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list alma printouts' or 'act on lending requests', and Jentic returns the matching Alma operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Google Books API** — Google Books supplies bibliographic metadata that can enrich Alma records
- **Zoho API** — Zoho covers helpdesk and CRM workflows for library staff queries that Alma task lists do not cover
- **Sage API** — Sage handles institutional accounting workflows separate from Alma

## FAQ

### Why is there no official OpenAPI spec for Ex Libris APIs?

Ex Libris does not publish an OpenAPI specification for its Alma REST APIs. Jentic generates and maintains this spec so that AI agents and developers can call Ex Libris APIs via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Ex Libris API use?

Authentication is by API key passed as a query parameter named apikey. Keys are issued from the Ex Libris Developer Network and scoped to specific Alma areas (Bibs, Users, Tasks, etc.). Through Jentic the apikey is held in the encrypted vault and injected at request time so it never appears in agent prompts or logs.

### Which Alma areas are covered by this spec?

This spec covers the Tasks area only - printouts, requested resources, and resource-sharing lending requests under `/almaws/v1/task-lists/.` Other Alma APIs (Bibs, Users, Acquisitions, Configuration) are separate and not included in these 10 endpoints.

### Can I bulk-act on requested resources?

Yes. POST `/almaws/v1/task-lists/requested-resources` accepts a body describing the action and the items to apply it to, returning a per-item result. Use it to fulfil or decline multiple requests in a single call rather than iterating.

### How do I clear today's printout queue through Jentic?

Run pip install jentic, then search 'list alma printouts', load the GET `/almaws/v1/task-lists/printouts` operation, execute it, and for each returned printout call POST `/almaws/v1/task-lists/printouts/{printout_id}` with the appropriate action. Jentic supplies the apikey at execution time.

### Which region's base URL should I use?

This spec targets api-eu.hosted.exlibrisgroup.com. Ex Libris also operates api-na.hosted.exlibrisgroup.com (North America), api-ap.hosted.exlibrisgroup.com (Asia-Pacific), and api-cn.hosted.exlibrisgroup.com. Use the host that matches the institution's Alma data centre.

### Can I limit what my agent is allowed to do with the Ex Libris API?

Yes. Because you run Jentic One yourself, your own rules decide which Alma task-list operations the agent may call, so you can grant it read access to printouts, requested resources, and lending requests while withholding the POST actions that ship, fulfil, or reject them. Posting changes to a task list is not included unless you add those write operations alongside the read ones. Your Ex Libris API key stays with your own instance and is injected at request time, so it never appears in the agent's prompt or logs.
