ETH Zurich – Swiss Federal Institute of Technology Discover API
The Discover API from ETH Zurich – Swiss Federal Institute of Technology — 7 operation(s) for discover.
The Discover API from ETH Zurich – Swiss Federal Institute of Technology — 7 operation(s) for discover.
openapi: 3.0.2
info:
title: Discovery bitstreams Discover API
description: "The Discovery REST API provides access to over 30 million books, images, series, journals, and other materials from the ETH Library's Discovery Portal. \n\n➜ [OAS 3 Swagger Documentation](https://eth-library.github.io/apiplatform-swagger/discovery/v1/)\n\n➜ [ETH Library @ swisscovery Application](https://eth.swisscovery.slsp.ch/)"
version: 1.0.2
termsOfService: https://developer.library.ethz.ch/terms
contact:
name: API Management ETH Library
email: api@library.ethz.ch
url: https://library.ethz.ch
license:
url: https://developer.library.ethz.ch/terms
name: Bibliographic metadata that are not specifically marked are free for general use (Public Domain). Documents, images or other digital objects linked in metadata may be subject to other copyright restrictions. Whenever possible, the licence of the referenced digital objects is indicated in the metadata. In case of doubt, the licence can be inquired at api@library.ethz.ch.
servers:
- url: https://api.library.ethz.ch/discovery/v1/
description: Production
security:
- ApiKeyAuth: []
tags:
- name: Discover
paths:
/discover/facets:
get:
summary: Retrieve available facets
description: Returns a list of available facets for filtering search results.
responses:
'200':
description: Successful response with available facets
content:
application/json:
schema:
type: object
properties:
type:
type: string
_embedded:
type: object
properties:
facets:
type: array
items:
type: object
properties:
name:
type: string
description: Name of the facet (e.g., author, itemtype).
facetType:
type: string
description: Type of the facet (text or date).
facetLimit:
type: integer
description: Maximum number of facet values.
_links:
type: object
properties:
self:
type: object
properties:
href:
type: string
'400':
description: Bad request (invalid parameters)
'500':
description: Internal server error
tags:
- Discover
/discover/facets/author:
get:
summary: Retrieve author facets
description: Returns author facets based on the query parameter.
parameters:
- name: query
in: query
description: Search term for author facets.
required: false
schema:
type: string
- name: page
in: query
description: Page number for pagination.
required: false
schema:
type: integer
default: 0
- name: size
in: query
description: Number of facet values to return per page.
required: false
schema:
type: integer
default: 5
responses:
'200':
description: Successful response with author facets
content:
application/json:
schema:
type: object
properties:
name:
type: string
facetType:
type: string
facetLimit:
type: integer
page:
type: object
properties:
number:
type: integer
size:
type: integer
_embedded:
type: object
properties:
values:
type: array
items:
type: object
properties:
label:
type: string
count:
type: integer
_links:
type: object
properties:
search:
type: object
properties:
href:
type: string
'400':
description: Bad request (invalid parameters)
'500':
description: Internal server error
tags:
- Discover
/discover/facets/dateIssued:
get:
summary: Retrieve date issued facets
description: Returns date issued facets based on the query parameter.
parameters:
- name: query
in: query
description: Search term for date issued facets.
required: false
schema:
type: string
- name: page
in: query
description: Page number for pagination.
required: false
schema:
type: integer
default: 0
- name: size
in: query
description: Number of facet values to return per page.
required: false
schema:
type: integer
default: 5
responses:
'200':
description: Successful response with date issued facets
content:
application/json:
schema:
type: object
properties:
name:
type: string
facetType:
type: string
facetLimit:
type: integer
page:
type: object
properties:
number:
type: integer
size:
type: integer
_embedded:
type: object
properties:
values:
type: array
items:
type: object
properties:
label:
type: string
count:
type: integer
_links:
type: object
properties:
search:
type: object
properties:
href:
type: string
'400':
description: Bad request (invalid parameters)
'500':
description: Internal server error
tags:
- Discover
/discover/facets/ethzAvailability:
get:
summary: Retrieve ETH Zurich availability facets
description: Returns ETH Zurich availability facets based on the query parameter.
parameters:
- name: query
in: query
description: Search term for ETH Zurich availability facets.
required: false
schema:
type: string
- name: page
in: query
description: Page number for pagination.
required: false
schema:
type: integer
default: 0
- name: size
in: query
description: Number of facet values to return per page.
required: false
schema:
type: integer
default: 10
responses:
'200':
description: Successful response with ETH Zurich availability facets
content:
application/json:
schema:
type: object
properties:
name:
type: string
facetType:
type: string
facetLimit:
type: integer
page:
type: object
properties:
number:
type: integer
size:
type: integer
_embedded:
type: object
properties:
values:
type: array
items:
type: object
properties:
label:
type: string
count:
type: integer
_links:
type: object
properties:
search:
type: object
properties:
href:
type: string
'400':
description: Bad request (invalid parameters)
'500':
description: Internal server error
tags:
- Discover
/discover/facets/ethzETHPublication:
get:
summary: Retrieve ETH Zurich publication facets
description: Returns ETH Zurich publication facets based on the query parameter.
parameters:
- name: query
in: query
description: Search term for ETH Zurich publication facets.
required: false
schema:
type: string
- name: page
in: query
description: Page number for pagination.
required: false
schema:
type: integer
default: 0
- name: size
in: query
description: Number of facet values to return per page.
required: false
schema:
type: integer
default: 10
responses:
'200':
description: Successful response with ETH Zurich publication facets
content:
application/json:
schema:
type: object
properties:
name:
type: string
facetType:
type: string
facetLimit:
type: integer
page:
type: object
properties:
number:
type: integer
size:
type: integer
_embedded:
type: object
properties:
values:
type: array
items:
type: object
properties:
label:
type: string
count:
type: integer
_links:
type: object
properties:
search:
type: object
properties:
href:
type: string
'400':
description: Bad request (invalid parameters)
'500':
description: Internal server error
tags:
- Discover
/discover/facets/itemtype:
get:
summary: Retrieve item type facets
description: Returns item type facets based on the query parameter.
parameters:
- name: query
in: query
description: Search term for item type facets.
required: false
schema:
type: string
- name: page
in: query
description: Page number for pagination.
required: false
schema:
type: integer
default: 0
- name: size
in: query
description: Number of facet values to return per page.
required: false
schema:
type: integer
default: 10
responses:
'200':
description: Successful response with item type facets
content:
application/json:
schema:
type: object
properties:
name:
type: string
facetType:
type: string
facetLimit:
type: integer
page:
type: object
properties:
number:
type: integer
size:
type: integer
_embedded:
type: object
properties:
values:
type: array
items:
type: object
properties:
label:
type: string
count:
type: integer
_links:
type: object
properties:
search:
type: object
properties:
href:
type: string
'400':
description: Bad request (invalid parameters)
'500':
description: Internal server error
tags:
- Discover
/discover/search/objects:
get:
summary: Search objects in the research collection
description: Retrieves objects matching the search query with optional sorting and embedding options.
parameters:
- name: query
in: query
description: Search term to query objects.
required: true
schema:
type: string
- name: sort
in: query
description: Sorting order (e.g., "score,DESC").
required: false
schema:
type: string
- name: page
in: query
description: Page number for pagination.
required: false
schema:
type: integer
default: 0
- name: size
in: query
description: Number of results per page.
required: false
schema:
type: integer
default: 10
- name: embed
in: query
description: Fields to embed in the response.
required: false
schema:
type: string
responses:
'200':
description: Successful response with search results
content:
application/json:
schema:
type: object
properties:
query:
type: string
description: The search query used.
page:
type: object
properties:
number:
type: integer
size:
type: integer
totalPages:
type: integer
totalElements:
type: integer
_embedded:
type: object
properties:
searchResult:
type: object
properties:
_embedded:
type: object
properties:
objects:
type: array
items:
type: object
properties:
name:
type: string
description: Title of the object.
id:
type: string
handle:
type: string
metadata:
type: object
properties:
dc.title:
type: array
items:
type: object
properties:
value:
type: string
dc.contributor.author:
type: array
items:
type: object
properties:
value:
type: string
dc.date.issued:
type: array
items:
type: object
properties:
value:
type: string
format: date
dc.identifier.uri:
type: array
items:
type: object
properties:
value:
type: string
_links:
type: object
properties:
self:
type: object
properties:
href:
type: string
next:
type: object
properties:
href:
type: string
last:
type: object
properties:
href:
type: string
'400':
description: Bad request (invalid parameters)
'500':
description: Internal server error
tags:
- Discover
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: query
name: apikey
externalDocs:
description: OAS 3 Swagger Documentation
url: https://apidocs.library.ethz.ch/discovery/v1/