openapi: 3.0.3 info: title: Library Catalog Record API version: 11.0.4 description: The REST API provides access to search functions and records contained in the search index. servers: - url: https://catalog.lib.msu.edu/api/v1 tags: - name: Record paths: /record: get: summary: Fetch records from primary index description: Return a single record or multiple records from primary index. POST method may also be used if sending a long request. parameters: - name: id in: query description: A single record ID required: false schema: type: string - name: id[] in: query description: Multiple record IDs required: false style: form explode: true schema: type: array items: type: string - name: field[] in: query description: 'Fields to return. If not specified, a set of default fields is returned. The default fields are: - authors - formats - id - uuid - languages - series - subjects - title - urls' style: form explode: true schema: type: array items: type: string - name: prettyPrint in: query description: Whether to pretty-print the response. Useful for observing the results in a browser. schema: type: boolean default: false - name: lng in: query description: Language for returned translated strings. schema: type: string enum: - en default: en - name: callback in: query description: A callback that can be used for JSONP. schema: type: string tags: - Record responses: '200': description: Response containing result count and records content: application/json: schema: $ref: '#/components/schemas/SearchResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/Error' /index2/record: get: summary: Fetch records from secondary index description: Return a single record or multiple records from secondary index. POST method may also be used if sending a long request. parameters: - name: id in: query description: A single record ID required: false schema: type: string - name: id[] in: query description: Multiple record IDs required: false style: form explode: true schema: type: array items: type: string - name: field[] in: query description: 'Fields to return. If not specified, a set of default fields is returned. The default fields are: - authors - formats - id - languages - series - subjects - title - urls' style: form explode: true schema: type: array items: type: string - name: prettyPrint in: query description: Whether to pretty-print the response. Useful for observing the results in a browser. schema: type: boolean default: false - name: lng in: query description: Language for returned translated strings. schema: type: string enum: - en default: en - name: callback in: query description: A callback that can be used for JSONP. schema: type: string tags: - Record responses: '200': description: Response containing result count and records content: application/json: schema: $ref: '#/components/schemas/SecondarySearchResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/Error' /web/record: get: summary: Fetch records from website index description: Return a single record or multiple records from website index. POST method may also be used if sending a long request. parameters: - name: id in: query description: A single record ID required: false schema: type: string - name: id[] in: query description: Multiple record IDs required: false style: form explode: true schema: type: array items: type: string - name: field[] in: query description: 'Fields to return. If not specified, a set of default fields is returned. The default fields are: - id - lastModified - title - url' style: form explode: true schema: type: array items: type: string - name: prettyPrint in: query description: Whether to pretty-print the response. Useful for observing the results in a browser. schema: type: boolean default: false - name: lng in: query description: Language for returned translated strings. schema: type: string enum: - en default: en - name: callback in: query description: A callback that can be used for JSONP. schema: type: string tags: - Record responses: '200': description: Response containing result count and records content: application/json: schema: $ref: '#/components/schemas/WebSearchResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: Facet: type: object properties: value: description: Facet value type: string translated: description: Translated facet value type: string count: description: Count of records that can be found if the facet is added to the search as a filter type: integer href: description: The current search with the facet added as a filter type: string isApplied: description: True if if the facet is in use in the filter parameter of the query type: boolean children: description: For hierarchical facets, any child facets type: array items: $ref: '#/components/schemas/Facet' SecondaryRecord: type: object properties: accessRestrictions: description: Access restriction notes type: array items: type: string authors: $ref: '#/components/schemas/Authors' awards: description: Award notes type: array items: type: string bibliographicLevel: description: Bibliographic level type: string enum: - Monograph - Serial - MonographPart - SerialPart - Collection - CollectionPart - Unknown bibliographyNotes: description: Bibliography notes type: array items: type: string buildings: description: Buildings where the record is held type: array items: type: string callNumbers: description: Call numbers type: array items: type: string childRecordCount: description: Number of child records type: integer cleanDoi: description: First valid DOI type: string cleanIsbn: description: First valid ISBN favoring ISBN-10 over ISBN-13 when possible type: string cleanIssn: description: Base portion of the first listed ISSN type: string cleanOclcNumber: description: First OCLC number type: string containerEndPage: description: End page in the containing item type: string containerIssue: description: Issue number of the containing item type: string containerReference: description: Reference to the containing item type: string containerStartPage: description: Start page in the containing item type: string containerTitle: description: Title of the containing item type: string containerVolume: description: Volume of the containing item type: string corporateAuthors: description: Main corporate authors type: array items: type: string dedupIds: description: IDs of all records deduplicated with the current record type: array items: type: string edition: description: Edition type: string findingAids: description: Finding aids type: array items: type: string formats: description: Formats type: array items: type: string fullRecord: description: Full metadata record (typically XML) type: string generalNotes: description: General notes type: array items: type: string geoLocations: description: Geographic locations (e.g. points, bounding boxes) type: array items: type: string hierarchicalPlaceNames: description: Hierarchical place names concatenated for display type: array items: type: string hierarchyParentId: description: Parent record IDs for hierarchical records type: array items: type: string hierarchyParentTitle: description: Parent record titles for hierarchical records type: array items: type: string hierarchyTopId: description: Hierarchy top record IDs for hierarchical records type: array items: type: string hierarchyTopTitle: description: Hierarchy top record titles for hierarchical records type: array items: type: string humanReadablePublicationDates: description: Publication dates in human-readable format type: array items: type: string id: description: Record unique ID (can be used in the record endpoint) type: string institutions: description: Institutions the record belongs to type: array items: type: string isbns: description: ISBNs type: array items: type: string isCollection: description: Whether the record is a collection node in a hierarchy type: boolean issns: description: ISSNs type: array items: type: string languages: description: Languages type: array items: type: string lccn: description: LCCNs type: array items: type: string newerTitles: description: Successor titles type: array items: type: string oclc: description: OCLC numbers type: array items: type: string openUrl: description: OpenURL type: string physicalDescriptions: description: Physical dimensions etc. type: array items: type: string placesOfPublication: description: Places of publication type: array items: type: string playingTimes: description: Playing times (durations) type: array items: type: string previousTitles: description: Predecessor titles type: array items: type: string primaryAuthors: description: Primary authors type: array items: type: string productionCredits: description: Production credits type: array items: type: string publicationDates: description: Publication dates type: array items: type: string publishers: description: Publishers type: array items: type: string rawData: description: All data in the index fields type: string recordLinks: description: Links to other related records type: array items: $ref: '#/components/schemas/RecordLink' recordPage: description: Link to the record page in the UI type: string relationshipNotes: description: Notes describing relationships to other items type: array items: type: string secondaryAuthors: description: Secondary authors type: array items: type: string series: description: Series type: array items: type: string shortTitle: description: Short title (title excluding any subtitle) type: string subjects: description: 'Subject headings as an array from the least specific to the most specific ' type: array items: type: array items: type: string subjectsExtended: description: Subject headings with type and source information type: array items: $ref: '#/components/schemas/Subject' subTitle: description: Subtitle type: string summary: description: Summary type: array items: type: string systemDetails: description: Technical details on the represented item type: array items: type: string targetAudienceNotes: description: Notes about the target audience type: array items: type: string title: description: Title including any subtitle type: string titleSection: description: Part/section portion of the title type: string titleStatement: description: Statement of responsibility that goes with the title type: string toc: description: Table of contents type: array items: type: string urls: description: URLs contained in the record type: array items: $ref: '#/components/schemas/Url' Record: type: object properties: accessRestrictions: description: Access restriction notes type: array items: type: string authors: $ref: '#/components/schemas/Authors' awards: description: Award notes type: array items: type: string bibliographicLevel: description: Bibliographic level type: string enum: - Monograph - Serial - MonographPart - SerialPart - Collection - CollectionPart - Unknown bibliographyNotes: description: Bibliography notes type: array items: type: string buildings: description: Buildings where the record is held type: array items: type: string callNumbers: description: Call numbers type: array items: type: string childRecordCount: description: Number of child records type: integer cleanDoi: description: First valid DOI type: string cleanIsbn: description: First valid ISBN favoring ISBN-10 over ISBN-13 when possible type: string cleanIssn: description: Base portion of the first listed ISSN type: string cleanOclcNumber: description: First OCLC number type: string containerEndPage: description: End page in the containing item type: string containerIssue: description: Issue number of the containing item type: string containerReference: description: Reference to the containing item type: string containerStartPage: description: Start page in the containing item type: string containerTitle: description: Title of the containing item type: string containerVolume: description: Volume of the containing item type: string corporateAuthors: description: Main corporate authors type: array items: type: string dedupIds: description: IDs of all records deduplicated with the current record type: array items: type: string edition: description: Edition type: string findingAids: description: Finding aids type: array items: type: string formats: description: Formats type: array items: type: string fullRecord: description: Full metadata record (typically XML) type: string generalNotes: description: General notes type: array items: type: string geoLocations: description: Geographic locations (e.g. points, bounding boxes) type: array items: type: string hierarchicalPlaceNames: description: Hierarchical place names concatenated for display type: array items: type: string hierarchyParentId: description: Parent record IDs for hierarchical records type: array items: type: string hierarchyParentTitle: description: Parent record titles for hierarchical records type: array items: type: string hierarchyTopId: description: Hierarchy top record IDs for hierarchical records type: array items: type: string hierarchyTopTitle: description: Hierarchy top record titles for hierarchical records type: array items: type: string humanReadablePublicationDates: description: Publication dates in human-readable format type: array items: type: string id: description: Record unique ID (can be used in the record endpoint), Folio hrid (human readable identifer) prefixed with 'folio.' type: string uuid: description: Folio id (universally unique identifer) type: string institutions: description: Institutions the record belongs to type: array items: type: string isbns: description: ISBNs type: array items: type: string isCollection: description: Whether the record is a collection node in a hierarchy type: boolean issns: description: ISSNs type: array items: type: string languages: description: Languages type: array items: type: string lccn: description: LCCNs type: array items: type: string newerTitles: description: Successor titles type: array items: type: string oclc: description: OCLC numbers type: array items: type: string openUrl: description: OpenURL type: string physicalDescriptions: description: Physical dimensions etc. type: array items: type: string placesOfPublication: description: Places of publication type: array items: type: string playingTimes: description: Playing times (durations) type: array items: type: string previousTitles: description: Predecessor titles type: array items: type: string primaryAuthors: description: Primary authors type: array items: type: string productionCredits: description: Production credits type: array items: type: string publicationDates: description: Publication dates type: array items: type: string publishers: description: Publishers type: array items: type: string rawData: description: All data in the index fields type: string recordLinks: description: Links to other related records type: array items: $ref: '#/components/schemas/RecordLink' recordPage: description: Link to the record page in the UI type: string relationshipNotes: description: Notes describing relationships to other items type: array items: type: string secondaryAuthors: description: Secondary authors type: array items: type: string series: description: Series type: array items: type: string shortTitle: description: Short title (title excluding any subtitle) type: string subjects: description: 'Subject headings as an array from the least specific to the most specific ' type: array items: type: array items: type: string subjectsExtended: description: Subject headings with type and source information type: array items: $ref: '#/components/schemas/Subject' subTitle: description: Subtitle type: string summary: description: Summary type: array items: type: string systemDetails: description: Technical details on the represented item type: array items: type: string targetAudienceNotes: description: Notes about the target audience type: array items: type: string title: description: Title including any subtitle type: string titleSection: description: Part/section portion of the title type: string titleStatement: description: Statement of responsibility that goes with the title type: string toc: description: Table of contents type: array items: type: string urls: description: URLs contained in the record type: array items: $ref: '#/components/schemas/Url' bibnum: description: Sierra Bibnumber type: string Url: type: object properties: url: description: URL type: string desc: description: URL Description type: string Link: type: object properties: type: description: Link type (e.g. id, isn or title) type: string value: description: Link value (e.g. record ID, ISBN or title) type: string exclude: description: Record IDs that need to be excluded from the results type: array items: type: string RecordLink: type: object properties: title: description: Link title type: string value: description: Link value type: string link: $ref: '#/components/schemas/Link' Subject: type: object properties: heading: description: Subject heading parts as an array from the least specific to the most specific type: array items: type: string type: description: Subject type type: string enum: - '' - personal name - corporate name - meeting name - uniform title - chronological - topic - geographic - genre/form - occupation - keyword source: description: Subject source/thesaurus (e.g. lcsh, mesh) type: string WebRecord: type: object properties: id: description: Record unique ID (can be used in the record endpoint) type: string lastModified: description: Last modification date type: string title: description: Title including any subtitle type: string url: description: URL for resource type: string AuthorWithRoles: type: object properties: Author name: type: array description: Author's roles items: type: string SearchResponse: type: object properties: resultCount: description: Number of results type: integer records: description: Records type: array items: $ref: '#/components/schemas/Record' facets: description: Facets type: array items: $ref: '#/components/schemas/Facet' resumptionToken: $ref: '#/components/schemas/ResumptionToken' status: description: Status code type: string enum: - OK required: - resultCount - status Authors: type: object description: Deduplicated author information including primary, corporate and secondary authors properties: primary: description: Primary authors type: object additionalProperties: $ref: '#/components/schemas/AuthorWithRoles' secondary: description: Secondary authors type: object additionalProperties: $ref: '#/components/schemas/AuthorWithRoles' corporate: description: Corporate authors type: object additionalProperties: $ref: '#/components/schemas/AuthorWithRoles' ResumptionToken: type: object properties: token: description: Token to use for the next request type: string expires: description: Time when the token expires type: string format: date-time WebSearchResponse: type: object properties: resultCount: description: Number of results type: integer records: description: Records type: array items: $ref: '#/components/schemas/WebRecord' facets: description: Facets type: array items: $ref: '#/components/schemas/Facet' resumptionToken: $ref: '#/components/schemas/ResumptionToken' status: description: Status code type: string enum: - OK required: - resultCount - status SecondarySearchResponse: type: object properties: resultCount: description: Number of results type: integer records: description: Records type: array items: $ref: '#/components/schemas/SecondaryRecord' facets: description: Facets type: array items: $ref: '#/components/schemas/Facet' resumptionToken: $ref: '#/components/schemas/ResumptionToken' status: description: Status code type: string enum: - OK required: - resultCount - status Error: type: object properties: status: description: Status code type: string enum: - ERROR statusMessage: description: A descriptive error message type: string required: - status - statusMessage