English

Every named schema in the specification, one level deep. A field that points at another schema links to it rather than being expanded — the specification references itself in cycles, so expanding would not terminate.

147 schemas · Generated from search_v0_6_5.yaml Each field is listed as name, then type, then description. A type that names another schema links to it.

AdditionalIdentifier

one of AdditionalIdentifierTypeISBN | AdditionalIdentifierTypeISSN | AdditionalIdentifierTypeEAN | AdditionalIdentifierTypeBibsentBibbi

AdditionalIdentifierTypeBibsentBibbi

typerequired
string enumbibsentBibbi
valuerequired
string

AdditionalIdentifierTypeEAN

digitsrequired
string enum13
typerequired
string enumean
valuerequired
string

AdditionalIdentifierTypeISBN

digitsrequired
string enum10 · 13
typerequired
string enumisbn
valuerequired
string

AdditionalIdentifierTypeISSN

typerequired
string enumissn
valuerequired
string

Agent

one of AgentTypePerson | AgentTypeCollective

AgentPersonActiveLiteral

Date or date range the person was active. This is usually only recorded for historical persons where the birth and death dates are uncertain or unknown. A literal value, meaning there are no expected structure or format.

typerequired
string enumliteral
valuerequired
string

AgentRole

one of AgentRoleMarcRelator

Telling the role of an agent, e.g. author, illustrator, editor.

AgentRoleMarcRelator

roleCoderequired
stringA contribution role code from the MARC Code List for Relators.
typerequired
string enummarcRelatorIdentifies the role code as being part of [MARC Code List for Relators](https://www.loc.gov/marc/relators/relaterm.html).

AgentTypeCollective

all of BaseAgent + object

AgentTypePerson

all of BaseAgent + object

Audience

one of AudienceTypeLiteral | AudienceTypeAgeRange | AudienceTypeAgeGroup

AudienceTypeAgeGroup

coderequired
AudienceTypeAgeGroupCode
name
stringA displayable (human readable) audience group name.
typerequired
string enumageGroup

AudienceTypeAgeGroupCode

any of AudienceTypeAgeGroupCodeEnum | AudienceTypeAgeGroupCodeLiteral

A code that (if set) can be used with the filter `plas.audience.ageGroup` to search on this age group.

AudienceTypeAgeGroupCodeEnum

string enum child · youngAdult · adult

AudienceTypeAgeGroupCodeLiteral

string

AudienceTypeAgeRange

*from* and *to* isn't required, but a least one of them should be set.

code
stringA code that (if set) can be used with the filter `plas.audience.ageRange` to search on this age range. The formatting is "from:to", "form:*" or "*:to" (replace the `form` and `to` value)
from
integer
to
integer
typerequired
string enumageRange

AudienceTypeLiteral

A literal audience, meaning there are no expected structure or format.

code
stringA code that (if set) can be used with the filter `plas.audience.literal` to search on this audience literal.
typerequired
string enumliteral
valuerequired
stringA displayable (human readable) audience literal.

BaseAgent

description
stringThis is a description of the agent.
fullNamerequired
stringThis is the full name of the agent.
id
stringThis isn't required, but if it's set: - The agent is searchable through the GET /agent endpoint. - Or you can search using the filter `plas.agent` to search on this agent.
images
array of ImageAgentImages of the agent.

BaseSuggestionAgent

fullNamerequired
stringThis is the full name of the agent.
id
stringThis isn't required, but if it's set, the agent is searchable through the GET /agent endpoint.
images
array of ImageAgentImages of the agent.

BasicTitle

language
LanguageThe language of the titles in the object.
mainrequired
stringThis is the main title.
part
objectThis contains the information to distinguish the work.
remainder
stringThis is the remainder of the title.

Binding

one of BindingTypeLiteral

BindingTypeLiteral

A literal binding, meaning there are no expected structure or format.

typerequired
string enumliteral
valuerequired
stringA displayable (human readable) representation of the binding.

Classification

one of ClassificationTypeDewey | ClassificationTypeDK5

ClassificationTypeDewey

name
stringA displayable (human readable) value representation of the dewey number.
numberrequired
stringThe value of the dewey number.
typerequired
string enumdewey

ClassificationTypeDK5

name
stringA displayable (human readable) value representation of the dewey number.
numberrequired
stringThe value of the dk5 number.
typerequired
string enumdk5

ConfigurationSearchExpression

clustering
array of array of ExpressionClusteringFieldThis is the providers preferred clustering of publications. This clustering can be used to group publications together, emulating an expression level.

ConfigurationSearchResponseBody

expression
ConfigurationSearchExpression
suggestions
ConfigurationSearchSuggestions
uiLanguages
objectThis contains the ui language settings. All ui language codes should be on this list https://www.loc.gov/marc/languages/
workSearch
object

ConfigurationSearchSuggestions

available
array of ConfigurationSearchSuggestionsFilterAvailableThis tells which filters are available for the `/suggestions` endpoint.
disabled
booleanThis tells the Vendor if the `/suggestions` endpoint is disabled or not. (Default `false`). If this is set to `true`, the Vendor should not make request to the `/suggestions` endpoint.

ConfigurationSearchSuggestionsFilterAvailable

description
stringThis is a description of what type of filter this is.
typerequired
SuggestionsFilterType

ConfigurationWorkSearchFacet

available
array of ConfigurationWorkSearchFacetAvailable

ConfigurationWorkSearchFacetAvailable

description
stringThis is a description of what type of `facet` this is.
typerequired
SearchFacetType

ConfigurationWorkSearchFilter

available
array of ConfigurationWorkSearchFilterAvailable

ConfigurationWorkSearchFilterAvailable

description
stringThis is a description of what type of filter this is.
typerequired
SearchFilterType

ConfigurationWorkSearchSorting

available
array of ConfigurationWorkSearchSortingAvailable

ConfigurationWorkSearchSortingAvailable

This is a description of a sorting type.

description
stringThis is a description of what type of sorting this is.
typerequired
SearchSortingType

Contributor

agentrequired
Agent
roles
array of AgentRoleList of roles (e.g. author, illustrator, editor) that the agent played in the creation of this entity.

Date

one of DateTypeLiteral | DateTypeRFC3339 | DateTypeYear | DateTypeYearRange | DateTypeCentury

DateTypeCentury

The *century* date can be used if we only know which century an event happened.

beforeTheCommonEra
booleanThe default value is *false*, meaning common era, otherwise before the common era.
centuryrequired
integerThe century e.g. 19 century CE (meaning 1801 CE to 1900 CE), 3 century BCE (meaning 300 BCE to 201 BCE)
typerequired
string enumcentury

DateTypeLiteral

A literal date, meaning there are no expected structure or format.

typerequired
string enumliteral
valuerequired
string

DateTypeRFC3339

The *rfc3339* date can be used if we now the date.

daterequired
string (date)RFC3339 _full-date_ format (YYYY-MM-DD).
typerequired
string enumrfc3339

DateTypeYear

The *year* date can be used if we only know which year an event happened.

typerequired
string enumyear
yearrequired
integerEg. 1924

DateTypeYearRange

The *yearRange* date can be used if we only know approx when an event happened. This can also be used give an open ended year range. *from* and *to* isn't required, but a least one of them should be set.

from
integerEg. 1924
to
integerEg. 1979
typerequired
string enumyearRange

Description

one of DescriptionTypeLiteral

DescriptionTypeLiteral

A literal description, meaning there are no expected structure or format.

typerequired
string enumliteral
valuerequired
string

Edition

one of EditionTypeLiteral | EditionTypeNumbering

EditionTypeLiteral

A literal edition, meaning there are no expected structure or format.

typerequired
string enumliteral
valuerequired
stringA displayable (human readable) representation of the edition.

EditionTypeNumbering

display
stringA displayable (human readable) representation of the edition.
numberrequired
integerThe edition number.
printing
integerThe printing number of the edition.
typerequired
string enumnumbering

Error

coderequired
ErrorCode
inforequired
ErrorInfo

ErrorCode

integer enum

A number representing the type of error. List of error codes: - \<error code\>: \<error description\> - 500: System error - 600: Unsupported Open Library API version - 10001: Endpoint disabled - 71001: Consent has not been given for 'loan history' - 100001: Wrong patron username or password - 100023: Patron ID not found - 100211: maxNumberOfEmailAddresses exceeded - 100215: maxNumberOfPhoneNumbers exceeded - 100221: Pickup location cannot contain sections - 100411: Updating patron consent failed - 100611: Updating patron notification settings failed - 101001: Reservation ID not found - 101047: Branch ID cannot be used as pick up branch - 101053: Section ID cannot be used as pick up branch - 102001: Loan ID not found - 102301: Loan not renewable, because it is an interlibrary loan - 102311: Loan not renewable, because it is reserved - 110001: Branch ID not found - 200001: Publication ID not found - 200077: ui language not supported - 200101: missing required query parameter - 200103: invalid/unsupported query parameter value - 300001: Initialize payment should not be used - 300005: Initialize payment should be used - 300009: Payment method not supported - 300013: Payment method does not support partial payment - 300301: Finalized payment can not de changed - 300311: FinalizePaymentRequest.fees contains fees with the same ID - 310001: Loan history ID not found - 310011: Loan history ID already exists - 330001: List ID not found - 330011: List ID already exists - 330101: List item ID not found - 330111: List item ID already exists

500 · 600 · 100001 · 100023 · 100211 · 100215 · 100221 · 100411 · 100611 · 101001 · 101047 · 101053 · 102001 · 102301 · 102311 · 110001 · 200001 · 200077 · 200101 · 200103 · 300001 · 300005 · 300009 · 300013 · 300301 · 300311 · 310001 · 310011 · 330001 · 330011 · 330101 · 330111

ErrorInfo

string

Starts with the text matching the error code field (defined above), and a describing text could be added.

Errors

errorsrequired
array of ErrorThe first error should always be the most relevant.

ExpressionClusteringField

one of ExpressionClusteringFieldNamedCreators | ExpressionClusteringFieldNamedContributors | ExpressionClusteringFieldNamedCreatorsAndContributors | ExpressionClusteringFieldNamedMediaTypes | ExpressionClusteringFieldNamedLanguage

ExpressionClusteringFieldName

object

This is used to tell the providers preferred clustering of publications.

ExpressionClusteringFieldNamedContributors

all of ExpressionClusteringFieldName + object

ExpressionClusteringFieldNamedCreators

all of ExpressionClusteringFieldName + object

ExpressionClusteringFieldNamedCreatorsAndContributors

all of ExpressionClusteringFieldName + object

ExpressionClusteringFieldNamedLanguage

all of ExpressionClusteringFieldName + object

ExpressionClusteringFieldNamedMediaTypes

all of ExpressionClusteringFieldName + object

Extent

one of ExtentTypeLiteral | ExtentTypePages | ExtentTypePlaytime | ExtentTypeUnits

ExtentTypeLiteral

A literal extent, meaning there are no expected structure or format.

typerequired
string enumliteral
valuerequired
stringA displayable (human readable) representation of the extent.

ExtentTypePages

pagesrequired
integerNumber of physical pages.
typerequired
string enumpages

ExtentTypePlaytime

playtimerequired
integerThe total playtime in seconds.
typerequired
string enumplaytime

ExtentTypeUnits

typerequired
string enumunits
unitTyperequired
string enumvolume · dvd · cd · bluRay · cassette · lp
unitsrequired
integerNumber of physical units (volumes, dvd, cd, ...)

Facet

name
stringA displayable (human readable) facet name.
termsrequired
array of FacetTerm
typerequired
SearchFacetType

FacetTerm

namerequired
stringA displayable (human readable) representation of facet term name.
occurrences
integerThe number of occurrences in the search result, based on works.
valuerequired
stringThe facet terms searchable value.

Form

id
stringA id that (if set) can be used with the filter `plas.forms` to search on this form.
labelrequired
stringA displayable (human readable) value of the form.

Genre

id
stringA id that (if set) can be used with the filter `plas.genres` to search on this genre.
labelrequired
stringA displayable (human readable) value of the genre.

GetAgentsResponseBody

agentsrequired
unknown

GetPublicationsResponseBody

publicationsrequired
unknown

GetSuggestionsResponseBody

suggestionsrequired
array of Suggestion

GetVersionResponseBody

versionrequired
VersionThis is recommended (by the provider) version of the Open Library API, that is supported by provider.

GetWorksResponseBody

worksrequired
unknown

ImageAgent

one of ImageTypeAgent

ImagePublication

one of ImageTypeFrontCover | ImageTypeBackCover

ImageTypeAgent

all of ImageUrl + object

ImageTypeBackCover

all of ImageUrl + object

ImageTypeFrontCover

all of ImageUrl + object

ImageUrl

height
integerThe image height in px.
mime
string enumpng · jpeg
urlrequired
string
width
integerThe image width in px.

Language

coderequired
stringA id that (if set) can be used with the filter `plas.language` to search on this genre. Codes can be found at <https://www.loc.gov/marc/languages/>
name
stringA displayable (human readable) value of the language.

MediaType

code
MediaTypeType
namerequired
stringA displayable (human readable) representation of the media type.

MediaTypeEnum

string enum book · eBook · audiobook

MediaTypeLiteral

string

MediaTypeType

any of MediaTypeEnum | MediaTypeLiteral

A code that (if set) can be used with the filter `plas.mediaTypes` to search on this media type.

Publication

additionalIdentifiers
PublicationAdditionalIdentifiers
binding
Binding
contributors
PublicationContributors
creators
PublicationCreators
edition
Edition
extent
PublicationExtent
identifierrequired
PublicationIdentifier
images
PublicationImages
language
PublicationLanguage
mediaTypes
PublicationMediaTypes
publicationDate
DateDate of publication.
publishers
array of PublisherAndPlacesList of publishers and associated place(s) of publication.
titlesrequired
PublicationTitles
worksrequired
array of PublicationWork

PublicationAdditionalIdentifiers

array of AdditionalIdentifier

Other identifiers, like: ISBN, ISSN, ...

PublicationContributors

array of Contributor

The contributor(s) to the publication.

PublicationCreators

array of Contributor

The creator(s) of the publication.

PublicationExtent

array of Extent

Together all the Extents in the array describes the total extent of the publication.

PublicationIdentifier

string

Publication identifier. This is searchable through the GET /publication endpoint.

PublicationImages

array of ImagePublication

Images to use with the publication.

PublicationLanguage

array of Language

This is the language(s) of the this publication. If the publication uses multi languages this will also contain them.

PublicationMediaTypes

array of MediaType

PublicationTitles

array of Title

Title of the publication.

PublicationWork

identifierrequired
PublicationWorkIdentifier
relation
PublicationWorkRelation

PublicationWorkIdentifier

string

Work identifier of this publication. This is searchable through the GET /work endpoint.

PublicationWorkRelation

string enum

Describes the publications relation to a work. - contains: The publication contains this work, meaning the work is part of the publication. - embodies: The publication embodies this work, meaning the publication is the entire work.

contains · embodies

Publisher

id
stringThe unique identifier of the publisher. It can be used to search for the other entries by the publisher
namerequired
stringThe publisher's name.

PublisherAndPlaces

places
array of PublisherPlacePlace of publication. Usually one place, but can be multiple.
publisherrequired
Publisher

PublisherPlace

placerequired
string

SearchAgentsResponseBody

resultsrequired
array of Agent
totalrequired
integerThe total number of results in the whole search result.

SearchFacetType

any of SearchFacetTypeEnum | SearchFacetTypeLiteral

Facet type, this is the value given to the search facet parameter. The SearchFacetType should always exists in SearchFilterType

SearchFacetTypeEnum

string enum plas.audience.literal · plas.audience.ageRange · plas.audience.ageGroup · plas.mediaTypes · plas.language · plas.subjects · plas.genres · plas.forms

SearchFacetTypeLiteral

string

SearchFilterType

any of SearchFilterTypeEnum | SearchFilterTypeLiteral

Filter type, this is the value given to the search `filter` parameter.

SearchFilterTypeEnum

string enum plas.audience.literal · plas.audience.ageRange · plas.audience.ageGroup · plas.mediaTypes · plas.language · plas.subjects · plas.genres · plas.forms

SearchFilterTypeLiteral

string

SearchResultEntry

This search entry, represents one entry in a search result. It's partial build with data from a work, with additional data from the works underlying publications.

workrequired
SearchResultEntryWork

SearchResultEntryPublication

identifierrequired
PublicationIdentifier
language
PublicationLanguage
mediaTypes
PublicationMediaTypes

SearchResultEntryWork

creationDate
Date
creators
WorkCreators
forms
WorkForms
identifierrequired
WorkIdentifier
images
array of ImagePublicationImages to use with the work.
publicationsrequired
array of SearchResultEntryPublicationThis contain only the underlying publications from the work, that matches the search criteria.
titlesrequired
WorkTitles

SearchSortingType

any of SearchSortingTypeEnum | SearchSortingTypeLiteral

Sorting type, this is the value given to the search facet parameter. The default sorting is `plas.relevance.desc`.

SearchSortingTypeEnum

string enum plas.relevance.asc · plas.relevance.desc · plas.titles.asc · plas.titles.desc · plas.publicationDate.asc · plas.publicationDate.desc

SearchSortingTypeLiteral

string

SearchWorksResponseBody

endOfResultsrequired
booleanIf this is false, we haven't reached the end of the search result yet, if it's false we have, and if it's missing or null we don't know.
facets
array of FacetThis array contains the requested facets, and their terms. Each facet type should only appear once in the array.
resultsrequired
array of SearchResultEntryIt's important to be aware that, the result size doesn't always match the given page size, the result set can be both small and greater.
total
integerThe total number of results in the whole search result.

Subject

id
stringA id that (if set) can be used with the filter `plas.subjects` to search on this subject.
labelrequired
stringA displayable (human readable) value of the subject.

Suggestion

one of SuggestionTypeQuery | SuggestionTypeContributor | SuggestionTypeWork | SuggestionTypeSubject

SuggestionAgent

one of SuggestionAgentTypePerson | SuggestionAgentTypeCollective

SuggestionAgentTypeCollective

all of BaseSuggestionAgent + object

SuggestionAgentTypePerson

all of BaseSuggestionAgent + object

SuggestionParameterTypeEnum

string enum query · contributor · work · subject

SuggestionsFilterType

any of SuggestionsFilterTypeEnum | SuggestionsFilterTypeLiteral

Filter type, this is the value given to the suggestions `filter` parameter.

SuggestionsFilterTypeEnum

string enum plas.audience.literal · plas.audience.ageRange · plas.audience.ageGroup · plas.mediaTypes · plas.language · plas.subjects · plas.genres · plas.forms

SuggestionsFilterTypeLiteral

string

SuggestionTypeContributor

contributorrequired
object
typerequired
string enumcontributor

SuggestionTypeQuery

queryrequired
string
typerequired
string enumquery

SuggestionTypeSubject

subjectrequired
Subject
typerequired
string enumsubject

SuggestionTypeWork

typerequired
string enumwork
workrequired
object

Title

one of TitleTypePreferred | TitleTypeVariant | TitleTypeParallel | TitleTypeOriginal

TitleTypeOriginal

all of BasicTitle + object

TitleTypeParallel

all of BasicTitle + object

TitleTypePreferred

all of BasicTitle + object

TitleTypeVariant

all of BasicTitle + object

Version

string

Open Library API version.

Work

audience
WorkAudience
classification
WorkClassification
contributors
WorkContributors
creationDate
Date
creators
WorkCreators
description
WorkDescription
forms
WorkForms
genres
WorkGenres
identifierrequired
WorkIdentifier
images
WorkImages
language
WorkLanguage
publicationIds
WorkPublicationIds
subjects
WorkSubjects
titlesrequired
WorkTitles

WorkAudience

array of Audience

Intended audience, target audience or intellectual level of the work.

WorkClassification

array of Classification

Classification of the work.

WorkContributors

array of Contributor

The contributor(s) to the work.

WorkCreators

array of Contributor

The creator(s) of the work.

WorkDescription

array of Description

Help readers understand what the work is about and whether they might be interested in lending/reserving it.

WorkForms

array of Form

Form is a more specific type of metadata that describes the physical structure or organization of a work.

WorkGenres

array of Genre

Genre is a broad category of works that share similar characteristics, such as style, tone, or subject matter.

WorkIdentifier

string

Work identifier. This is searchable through the GET /work endpoint.

WorkImages

array of ImagePublication

Images to use with the work.

WorkLanguage

array of Language

This is the original language of the work. If the original version of the work uses multi languages this will also contain them.

WorkPublicationIds

array of string

All publication identifiers from the works underlying publications. These are searchable through the GET /publication endpoint.

WorkSubjects

array of Subject

Subject is a topic or theme that is covered in a work.

WorkTitles

array of Title

Title of the work.