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: 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 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=,exact,|,|,exact,... 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/