Provider API v0.6.3
- Implemented by
- The library system
- Called by
- The services — apps, websites, self-service and staff tools
The Provider API is the main entry point to PLAS. When a library system implements it, a service that speaks PLAS can work with the library without knowing the system underneath.
It covers what a library does every day: the patron and the patron’s consents, loans and renewals, reservations, fees and payment, holdings and locations, checkout and checkin, searching works and publications, and the library’s events. Each part has its own group in the menu.
How to integrate
Three things need to be in place, in the order you meet them:
- The base URL. The specification has no
serversblock, so the address belongs to the provider and is agreed with it. Don’t assume it is the same from library to library, even with the same provider. - A token.
POST /authentication/oauth2/tokenwithclient_,id client_andsecret grant_returns atype=client_ credentials Bearertoken, which is sent with the calls that follow. OnlyGet,Version AuthenticateandClient Revokework without one.Token - The version. The client can send the version it expects in the
versionquery parameter. If the provider doesn’t support it, it responds with error code600.
The way to the first call, with examples, is in Get started.
How it relates to the other APIs
The Search API and the Content API are profiles of the Provider API: each
of their operations is also here, with the same operation, method and path.
They can be implemented on their own, so a system can offer search or events
without the whole Provider API. If you implement the Provider API, you already
have both.
The Vendor API runs the other way: it is what the service itself exposes, so the library system can send events and send the patron back after a login.
Shared across operations
These definitions are shared by the API’s operations. They are documented once here; an operation lists only what is specific to it, plus the codes it can return.
Authentication
BearerAuth · oauth2 · Flow: clientCredentials · Token URL: /authentication/oauth2/token
Parameters
-
versionThe version of Open Library the vendor expects to receive, if this version isn't supported by the provider an error code 600 (Unsupported Open Library API version) is returned. -
ui_languageThe UI language the provider will return the content in. All ui language codes should be on this list https://www.loc.gov/marc/languages/
Error responses
-
HttpCode400The list of errors. -
HttpCode401BearerBearer token invalid, missing, or expired. -
HttpCode404Resource not found. -
HttpCode401UnauthorizedOAuthLoginUnauthorized login.