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