-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdiscovery-v1.yaml
189 lines (187 loc) · 7.97 KB
/
discovery-v1.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
openapi: 3.0.2
info:
title: Discovery 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.
➜ [OAS 3 Swagger Documentation](https://eth-library.github.io/apiplatform-swagger/discovery/v1/)
➜ [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: [email protected]
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 [email protected].
servers:
- url: https://api.library.ethz.ch/discovery/v1/
description: Production
paths:
/resources:
get:
tags:
- Search Portal resources
description: >-
Returns resources from the [search
portal](https://eth.swisscovery.slsp.ch)
**Examples for large data collections**
[All resources of Hochschularchiv](https://api.library.ethz.ch/discovery/v1/resources?q=any,contains,"*"&limit=100&qInclude=facet_data_source,exact,ETH_Hochschularchiv)
[All resources of Max Frisch Archiv](https://api.library.ethz.ch/discovery/v1/resources?q=any,contains,"*"&limit=100&qInclude=facet_data_source,exact,ETH_MaxFrischArchiv)
[All resources of Graphische Sammlung]( https://api.library.ethz.ch/discovery/v1/resources?q=any,contains,"*"&limit=100&qInclude=facet_library,exact,5503–112050480005503)
[All maps](https://api.library.ethz.ch/discovery/v1/resources?q=any,contains,"*"&limit=100&qInclude=facet_rtype,exact,maps)
[All Open Access archival_materials](https://api.library.ethz.ch/discovery/v1/resources?q=any,contains,"*"&limit=100&qInclude=facet_rtype,exact,archival_materials|,|facet_tlevel,exact,open_access)
parameters:
- name: q
schema:
type: string
in: query
required: true
description: >-
The query string that performs the search. E.g.
'q=any,contains,eth'.
**First part of the value:**:The data field that you want to search
within. The following fields are valid: any (for any field), title,
creator (for author), sub (for subject).
**Second part of the value:** precision: The precision operation
that you want to apply to the field. The following precision
operators are valid: exact (value must match the data in the field
exactly), begins with (the value must be found at the beginning of
the field), and contains (the value must be found anywhere in the
field).
**Third part of the value:** Value: The search terms, which can be a
word, phrase, or exact phrase (group of words enclosed by quotes),
and can include the following logical operators: AND, OR, and NOT.
Multiple fields are delimited by a semicolon. (q=title,contains,pop
music,AND;sub,contains,korean)
For more information regarding search terms, see [Performing Basic
Searches](https://knowledge.exlibrisgroup.com/Primo/Product_Documentation/Primo/New_Primo_User_Interface/End_User_Help_-_New_UI/010Performing_Basic_Searches).
- name: sort
schema:
type: string
in: query
required: false
description: >-
The type of sort to perform on the results, which can be based on
relevance or a specific field: rank, title, author, or date.
Example: sort=rank
- name: library
schema:
type: string
in: query
required: false
description: 'Filter by a library. Example: library=5503–112048630005503'
- name: lang
schema:
type: string
in: query
required: false
description: >-
Language for language dependent strings in Primo and Aleph. Possible
values: de, en
- name: limit
schema:
type: string
in: query
required: false
description: |-
Number of results in one result set
Default:10; Maximal: 100
- name: offset
schema:
type: string
in: query
required: false
description: >-
The offset of the results from which to start displaying the
results.
The following example skips the first bulk and displays the remaining results up to the specified limit: offset=10.
Default:0
- name: qInclude
schema:
type: string
in: query
required: false
description: >-
Filters the results by the facets that you want to include.
The logical AND operation is applied between the facets.
This filter uses the following format:
qInclude=<facet_category_1>,exact,<facet_name_1>|,|<facet_category_n>,exact,<facet_name_n>...
Note: **Multiple categories** are delimited by the following string
of characters: |,| .
**facet_category:** The facet category that you want to include. The
following categories are valid: facet_rtype (Resources Type),
facet_topic (Subject), facet_creator (Author), facet_tlevel
(Availability), facet_data_source (Data source), facet_library
(library name).
**facet_name:** The name of the facet to include (such as
archival_materials if facet_rtype was selected).
Same facet values as in eth.swisscovery.ethz.ch
- name: qExclude
schema:
type: string
in: query
required: false
description: >-
Exclude facets.
If you need more then 1 facet then split it by '|,|'. E.g.
qExclude=facet_rtype,exact,books|,|facet_topic,exact,Law
- name: avail
schema:
type: string
in: query
required: false
description: >-
Include availability informations from delivery (Primo VE), holdings
(Alma) and/or resolver links (Link Resolver Alma-E)? Possible
values: true, false
responses:
'200':
description: Returns a list of resources
content:
application/json: {}
/resources/{mmsid}:
get:
tags:
- Search Portal resources
description: Returns a single resource
parameters:
- name: mmsid
schema:
type: string
in: path
required: true
description: Alma MMS ID
- name: lang
schema:
type: string
in: query
required: false
description: >-
Language for language dependent strings in Primo and Aleph. Possible
values: de, en
- name: avail
schema:
type: string
in: query
required: false
description: >-
Include availability informations from delivery (Primo VE), holdings
(Alma) and/or resolver links (Link Resolver Alma-E)? Possible
values: true, false
responses:
'200':
description: Returns a resource
content:
application/json: {}
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: query
name: apikey
security:
- ApiKeyAuth: []
externalDocs:
description: OAS 3 Swagger Documentation
url: https://apidocs.library.ethz.ch/discovery/v1/