eMuseum API

Documentation of the eMuseum API.

Requests

All requests follow the HTT protocol with the following values and are stateless:

All parameters use percent-encoding.

Authentication

To access content that requires authentication, username and password of an eMuseum user have to be specified in the Authentication Header using the Basic authentication scheme.

Authorization

If authorization is required, there are two options to include the corresponding API key in the request:

  • Query parameter: key

  • Header: X-API-Key

Responses

All responses follow the HTT protocol and include a status code which determines the content of the response.

Formats

The eMuseum API supports the following output formats (specified by the <format> request parameter):

  • xml

  • json

  • rdf

Identifiers

Records are referenced by their identifier (specified by the <identifier> request parameter). Please note that identifiers are strings, not numbers. Even though most of them look like numbers (e. g. “1” or “123”), they can contain alphanumeric characters (e. g. “1-1” or “5-123”).

Endpoints

The eMuseum API does not use a shared base URL but follows the URLs that are used by the UI.

Module Endpoints

The <module> is one of the following module names though some of them might not be enabled:

  • objects

  • people

  • exhibitions

  • media

  • bibliography

  • sites

  • events

  • loans

The following endpoints are provided by all modules:

  • /<module>/<format> List all records of a module.

  • /<module>/<identifier>/<format> Get the details of a record.

The following endpoints are provided by all modules except the Objects module:

  • /<module>/<identifier>/objects/<format> List all related Object records for a record.

Collections

Collections can be accessed by the following endpoints:

  • /collections/<format> List all Collections

  • /collections/<identifier>/<format> Get the details of a Collection

  • /collections/<identifier>/objects/<format> List the Object records within a Collection.

Groups

  • /groups/<url>/results/<format> List all records of a search group.

  • /groups/<url>/category/<value>/<format> List all records of a category group for a category value.

Favorites

  • /favorites/<id>/objects/<format> List all Object records within a Favorite.

  • /search/<query>/<module>/<format> List all search results of a Module-specific search.

  • /advancedsearch/<module>/<query>/<format> List all search results of a Module-specific search.

Common Parameters

All result pages (i. e. pages that list multiple records) support the following common query parameters.

Pagination

Result pages are limited to 100 records by default. Via the query parameter page a page can be requested. The values start at 1.

Sorting

The order of records on result pages can be controlled with the query parameter sort. The value contains the field name and an option suffix to control ascending (-asc) or descending (-desc).

For (quick and advanced) search results the additional sort field “relevance” is supported.

For Collection Objects the additional sort field “collection” is supported.

Examples:

  • sort=relevance

  • sort=title-asc

  • sort=invno-desc

Filters

Result pages can be filtered by applying the query parameter filter.

Multiple filters are concatenated by a semicolon. Each filter requires a field and at least one value, separated by colon. Multiple values for a field are separated by comma.

Examples:

  • filter=field:value

  • filter=field:value1,value2

  • filter=field1:value1;field2:value1,value2

Last updated

Was this helpful?