Michigan State University Record API

The Record API from Michigan State University — 3 operation(s) for record.

Documentation

Specifications

Other Resources

OpenAPI Specification

michigan-state-university-record-api-openapi.yml Raw ↑
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