Search API v0.6.6
- Implemented by
- The library system — the API can also be implemented on its own
- Called by
- Services that show the catalogue — apps, websites, self-service
- Profile of Provider API
- 8 of the 57 operations in Provider API
The Search API is the read side of the catalogue: eight GET operations —
works (work), publications (publication), agents (agent), suggestions
(suggestions), the search configuration and the version.
None of them write, and search can be implemented on its own, without patrons, loans and holdings.
How to integrate
Authentication, base URL and the version parameter are the same as in the
Provider API — the same token endpoint, the same Bearer token. Here the
specification also declares two scopes, read and write; the Provider API
declares none.
Start with Get (GET /configuration/search). It tells you
which filters and sort orders the provider supports.
How it relates to the Provider API
The Search API is a profile of the Provider API: all eight operations are
also there, with the same operation, method and path. The difference is
scope — search can be implemented on its own.
If the library system has the whole Provider API, the service calls the same operations there. This reference is the shorter read when only search is involved.
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.