All Downloads are FREE. Search and download functionalities are using the official Maven repository.

swagger.swagger.yaml Maven / Gradle / Ivy

openapi: 3.0.3
info:
  title: LOCKSS Metadata Service REST API
  description: REST API of the LOCKSS Metadata Service
  contact:
    name: LOCKSS Support
    url: http://www.lockss.org/
    email: [email protected]
  license:
    name: BSD-3-Clause
    url: https://opensource.org/licenses/BSD-3-Clause
  version: 2.0.0
servers:
- url: https://laaws.lockss.org:443/
security:
- basicAuth: []
tags:
- name: Default
  description: Default section
- name: metadata
  description: Operations related to metadata
- name: urls
  description: Operations that return URLs
paths:
  /metadata/aus/{auid}:
    get:
      tags:
      - metadata
      summary: Get the metadata stored for an AU
      description: Get the full metadata stored for an AU given the AU identifier
        or a pageful of the metadata defined by the continuation token and size
      operationId: getMetadataAusAuid
      parameters:
      - name: auid
        in: path
        description: The identifier of the AU for which the metadata is requested
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: The number of items per page
        schema:
          type: integer
          default: 50
      - name: continuationToken
        in: query
        description: The continuation token of the next page of metadata to be returned
        schema:
          type: string
      responses:
        200:
          description: The metadata of the specified AU
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auMetadataPageInfo'
        default:
          description: The resulting error payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResult'
  /urls/openurl:
    get:
      tags:
      - urls
      summary: Performs an OpenURL query
      description: Provides the URL that results from performing an OpenURL query.
        With query parameters inline
      operationId: getUrlsOpenUrl
      parameters:
      - name: params
        in: query
        description: The OpenURL parameters
        required: true
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      responses:
        200:
          description: The data related to the performed OpenURL query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/urlInfo'
        default:
          description: The resulting error payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResult'
  /urls/doi:
    get:
      tags:
      - urls
      summary: Gets the URL for a DOI
      description: Provides the URL for a DOI given the DOI
      operationId: getUrlsDoi
      parameters:
      - name: doi
        in: query
        description: The DOI for which the URL is requested
        required: true
        schema:
          type: string
      responses:
        200:
          description: The URL for the specified DOI
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/urlInfo'
        default:
          description: The resulting error payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResult'
  /status:
    get:
      tags:
      - status
      summary: Get the status of the service
      description: Get the status of the service
      operationId: getStatus
      responses:
        200:
          description: The status of the service
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiStatus'
        default:
          description: The resulting error payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResult'
components:
  schemas:
    errorResult:
      type: object
      required:
      - message
      - code
      properties:
        message:
          type: string
        code:
          type: integer
        rootCause:
          type: string
    auMetadataPageInfo:
      required:
      - items
      - pageInfo
      type: object
      properties:
        items:
          type: array
          description: The metadata for the AU items in the page
          items:
            $ref: '#/components/schemas/itemMetadata'
        pageInfo:
          $ref: '#/components/schemas/pageInfo'
      description: The display page of AU metadata
    itemMetadata:
      type: object
      properties:
        scalarMap:
          type: object
          additionalProperties:
            type: string
            description: The scalar value of the metadata for the key
          description: The map of scalar metadata elements for this item
        setMap:
          type: object
          additionalProperties:
            type: array
            description: The set value of the metadata for the key
            items:
              type: string
          description: The map of set-bound metadata elements for this item
        listMap:
          type: object
          additionalProperties:
            type: array
            description: The list value of the metadata for the key
            items:
              type: string
          description: The map of listed metadata elements for this item
        mapMap:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
            description: The map value of the metadata for the key
          description: The map of mapped metadata elements for this item
      description: The metadata generated for a single item
    pageInfo:
      required:
      - continuationToken
      - curLink
      - resultsPerPage
      - totalCount
      type: object
      properties:
        totalCount:
          type: integer
          description: The total number of elements to be paginated
          format: int32
        resultsPerPage:
          type: integer
          description: The number of results per page
          format: int32
        continuationToken:
          type: string
          description: The continuation token
        curLink:
          type: string
          description: The link to the current page
        nextLink:
          type: string
          description: The link to the next page
      description: The information related to pagination of content
    urlInfo:
      required:
      - params
      - urls
      type: object
      properties:
        params:
          type: object
          additionalProperties:
            type: string
            description: The value of the parameter for the parameter name
          description: The parameters that define the resulting URLs
        urls:
          type: array
          description: The URLs
          items:
            type: string
      description: The information related to a resulting list of URLs
    apiStatus:
      required:
      - apiVersion
      - ready
      type: object
      properties:
        apiVersion:
          type: string
          description: The version of the API
        componentName:
          type: string
          description: The name of the component
        componentVersion:
          type: string
          description: The version of the component software
        lockssVersion:
          type: string
          description: The version of the LOCKSS system
        ready:
          type: boolean
          description: The indication of whether the service is available
        serviceName:
          type: string
          description: The name of the service
        readyTime:
          type: integer
          description: The time the service last became ready.
          format: int64
        reason:
          type: string
          description: The reason the service isn't ready.
        startupStatus:
          type: string
          description: Enum indicating progress of plugin/AU processing at startup.
          enum:
          - NONE
          - PLUGINS_CRAWLING
          - PLUGINS_COLLECTED
          - PLUGINS_LOADING
          - PLUGINS_LOADED
          - AUS_STARTING
          - AUS_STARTED
      description: The status information of the service
  securitySchemes:
    basicAuth:
      type: http
      description: HTTP Basic Authentication. Works over `HTTP` and `HTTPS`
      scheme: basic




© 2015 - 2024 Weber Informatics LLC | Privacy Policy