swagger: "2.0"
host: api.europeana.eu
basePath: /
info:
  contact:
    name: https://pro.europeana.eu/page/intro#general
  description: This Swagger API console provides an overview of the Europeana Search & Record API. You can build and test anything from the simplest search to a complex query using facetList such as dates, geotags and permissions. For more help and information, head to our comprehensive <a href="https://pro.europeana.eu/page/intro">online documentation</a>.
  license:
    name: API terms of use
    url: https://www.europeana.eu/en/rights/api-terms-of-use
  termsOfService: https://www.europeana.eu/en/rights/api-terms-of-use
  title: Europeana Search & Record API
  version: version unknown
  x-apisguru-categories:
    - open_data
  x-logo:
    url: https://twitter.com/Europeanaeu/profile_image?size=original
  x-origin:
    - format: swagger
      url: http://www.europeana.eu/api/api-docs
      version: "2.0"
  x-providerName: europeana.eu
tags:
  - name: Record
  - name: Search
paths:
  /record/v2/opensearch.rss:
    get:
      deprecated: false
      operationId: openSearch
      parameters:
        - default: 12
          description: count
          format: int32
          in: query
          name: count
          required: false
          type: integer
        - description: searchTerms
          in: query
          name: searchTerms
          required: true
          type: string
        - default: 1
          description: startIndex
          format: int32
          in: query
          name: startIndex
          required: false
          type: integer
      produces:
        - application/xml
        - application/rss+xml
        - application/xhtml+xml
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ModelAndView"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: basic search function following the OpenSearch specification
      tags:
        - Search
  /record/v2/search.json:
    get:
      deprecated: false
      operationId: searchRecords
      parameters:
        - description: boost
          in: query
          name: boost
          required: false
          type: string
        - description: callback
          in: query
          name: callback
          required: false
          type: string
        - collectionFormat: multi
          description: colourpalette
          in: query
          items:
            type: string
          name: colourpalette
          required: false
          type: array
        - description: cursor
          in: query
          name: cursor
          required: false
          type: string
        - collectionFormat: multi
          description: facet
          in: query
          items:
            type: string
          name: facet
          required: false
          type: array
        - description: hit.fl
          in: query
          name: hit.fl
          required: false
          type: string
        - description: hit.selectors
          in: query
          name: hit.selectors
          required: false
          type: string
        - description: landingpage
          in: query
          name: landingpage
          required: false
          type: boolean
        - description: lang
          in: query
          name: lang
          required: false
          type: string
        - description: media
          in: query
          name: media
          required: false
          type: boolean
        - default: standard
          description: profile
          in: query
          name: profile
          required: false
          type: string
        - description: q.source
          in: query
          name: q.source
          required: false
          type: string
        - description: q.target
          in: query
          name: q.target
          required: false
          type: string
        - collectionFormat: multi
          description: qf
          in: query
          items:
            type: string
          name: qf
          required: false
          type: array
        - description: query
          in: query
          name: query
          required: true
          type: string
        - collectionFormat: multi
          description: reusability
          in: query
          items:
            type: string
          name: reusability
          required: false
          type: array
        - default: 12
          description: rows
          format: int32
          in: query
          name: rows
          required: false
          type: integer
        - description: sort
          in: query
          name: sort
          required: false
          type: string
        - default: 1
          description: start
          format: int32
          in: query
          name: start
          required: false
          type: integer
        - description: text_fulltext
          in: query
          name: text_fulltext
          required: false
          type: boolean
        - description: theme
          in: query
          name: theme
          required: false
          type: string
        - description: thumbnail
          in: query
          name: thumbnail
          required: false
          type: boolean
        - description: wskey
          in: query
          name: wskey
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ModelAndView"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: search for records
      tags:
        - Search
    post:
      consumes:
        - application/json
      deprecated: false
      operationId: searchRecordsPost
      parameters:
        - description: searchRequest
          in: body
          name: searchRequest
          required: true
          schema:
            $ref: "#/definitions/SearchRequest"
        - description: wskey
          in: query
          name: wskey
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ModelAndView"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: search for records post
      tags:
        - Search
  /record/v2/translateQuery.json:
    get:
      deprecated: false
      operationId: translateQueryUsingGET
      parameters:
        - description: callback
          in: query
          name: callback
          required: false
          type: string
        - collectionFormat: multi
          description: languageCodes
          in: query
          items:
            type: string
          name: languageCodes
          required: true
          type: array
        - description: profile
          in: query
          name: profile
          required: false
          type: string
        - description: term
          in: query
          name: term
          required: true
          type: string
        - description: wskey
          in: query
          name: wskey
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ModelAndView"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: translate a term to different languages
      tags:
        - Search
  "/record/v2/{collectionId}/{recordId}.json":
    get:
      deprecated: false
      operationId: getSingleRecordJson
      parameters:
        - description: callback
          in: query
          name: callback
          required: false
          type: string
        - description: collectionId
          in: path
          name: collectionId
          required: true
          type: string
        - description: lang
          in: query
          name: lang
          required: false
          type: string
        - default: standard
          description: profile
          in: query
          name: profile
          required: false
          type: string
        - description: recordId
          in: path
          name: recordId
          required: true
          type: string
        - description: wskey
          in: query
          name: wskey
          required: true
          type: string
      produces:
        - application/json;charset=UTF-8
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ModelAndView"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get a single record in JSON format
      tags:
        - Record
  "/record/v2/{collectionId}/{recordId}.jsonld":
    get:
      deprecated: false
      operationId: getSingleRecordJsonLD
      parameters:
        - description: callback
          in: query
          name: callback
          required: false
          type: string
        - description: collectionId
          in: path
          name: collectionId
          required: true
          type: string
        - description: lang
          in: query
          name: lang
          required: false
          type: string
        - default: standard
          description: profile
          in: query
          name: profile
          required: false
          type: string
        - description: recordId
          in: path
          name: recordId
          required: true
          type: string
        - description: wskey
          in: query
          name: wskey
          required: true
          type: string
      produces:
        - application/json;charset=UTF-8
        - application/ld+json;charset=UTF-8
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ModelAndView"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get single record in JSON LD format
      tags:
        - Record
  "/record/v2/{collectionId}/{recordId}.rdf":
    get:
      deprecated: false
      operationId: getSingleRecordRDF
      parameters:
        - description: collectionId
          in: path
          name: collectionId
          required: true
          type: string
        - description: lang
          in: query
          name: lang
          required: false
          type: string
        - default: standard
          description: profile
          in: query
          name: profile
          required: false
          type: string
        - description: recordId
          in: path
          name: recordId
          required: true
          type: string
        - description: wskey
          in: query
          name: wskey
          required: true
          type: string
      produces:
        - application/rdf+xml;charset=UTF-8
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ModelAndView"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get single record in RDF format)
      tags:
        - Record
  "/record/v2/{collectionId}/{recordId}.schema.jsonld":
    get:
      deprecated: false
      operationId: getSingleRecordSchemaOrg
      parameters:
        - description: callback
          in: query
          name: callback
          required: false
          type: string
        - description: collectionId
          in: path
          name: collectionId
          required: true
          type: string
        - description: lang
          in: query
          name: lang
          required: false
          type: string
        - default: standard
          description: profile
          in: query
          name: profile
          required: false
          type: string
        - description: recordId
          in: path
          name: recordId
          required: true
          type: string
        - description: wskey
          in: query
          name: wskey
          required: true
          type: string
      produces:
        - application/json;charset=UTF-8
        - application/ld+json;charset=UTF-8
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ModelAndView"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get single record in Schema.org JSON LD format
      tags:
        - Record
  "/record/v2/{collectionId}/{recordId}.ttl":
    get:
      deprecated: false
      operationId: getSingleRecordTurtle
      parameters:
        - description: collectionId
          in: path
          name: collectionId
          required: true
          type: string
        - description: lang
          in: query
          name: lang
          required: false
          type: string
        - default: standard
          description: profile
          in: query
          name: profile
          required: false
          type: string
        - description: recordId
          in: path
          name: recordId
          required: true
          type: string
        - description: wskey
          in: query
          name: wskey
          required: true
          type: string
      produces:
        - application/x-turtle
        - text/turtle
        - application/turtle
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ModelAndView"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: get single record in turtle format)
      tags:
        - Record
definitions:
  Hit:
    properties:
      fl:
        type: string
      selectors:
        type: string
    title: Hit
    type: object
  ModelAndView:
    properties:
      empty:
        type: boolean
      model:
        type: object
      modelMap:
        additionalProperties:
          type: object
        type: object
      reference:
        type: boolean
      status:
        enum:
          - "100"
          - "101"
          - "102"
          - "103"
          - "200"
          - "201"
          - "202"
          - "203"
          - "204"
          - "205"
          - "206"
          - "207"
          - "208"
          - "226"
          - "300"
          - "301"
          - "302"
          - "303"
          - "304"
          - "305"
          - "307"
          - "308"
          - "400"
          - "401"
          - "402"
          - "403"
          - "404"
          - "405"
          - "406"
          - "407"
          - "408"
          - "409"
          - "410"
          - "411"
          - "412"
          - "413"
          - "414"
          - "415"
          - "416"
          - "417"
          - "418"
          - "419"
          - "420"
          - "421"
          - "422"
          - "423"
          - "424"
          - "426"
          - "428"
          - "429"
          - "431"
          - "451"
          - "500"
          - "501"
          - "502"
          - "503"
          - "504"
          - "505"
          - "506"
          - "507"
          - "508"
          - "509"
          - "510"
          - "511"
        type: string
      view:
        $ref: "#/definitions/View"
      viewName:
        type: string
    title: ModelAndView
    type: object
  SearchRequest:
    properties:
      boost:
        type: string
      callback:
        type: string
      colourPalette:
        items:
          type: string
        type: array
      cursor:
        type: string
      facet:
        items:
          type: string
        type: array
      hit:
        $ref: "#/definitions/Hit"
      landingPage:
        type: boolean
      media:
        type: boolean
      profile:
        items:
          type: string
        type: array
      qf:
        items:
          type: string
        type: array
      query:
        type: string
      reusability:
        items:
          type: string
        type: array
      rows:
        format: int32
        type: integer
      sort:
        items:
          type: string
        type: array
      start:
        format: int32
        type: integer
      textFulltext:
        type: boolean
      theme:
        type: string
      thumbnail:
        type: boolean
    required:
      - query
    title: SearchRequest
    type: object
  View:
    properties:
      contentType:
        type: string
    title: View
    type: object
