APE API documentation

From Archives Portal Europe Wiki
Jump to: navigation, search

The Archives Portal Europe helps people to search for and retrieve archival descriptions harvested from archival institutons throughout Europe. These services are available as an Application Programming Interface (API) as well. Request and response parameters are provided and delivered in JSON. This enables every programmer to create an (online) user interface for searching in and retrieving of archival descriptions.

We expect readers of this documentation to:

  • know how to develop with a RESTful API and JSON
  • understand the hierarchical data structures in archival descriptions
  • have a notion about the XML-data standard Encoded Archival Description (EAD) 2002
  • have a notion about the way data is copied ('harvested') in EAD-format from Collection Management Systems at archival institutions


The services

In the current version (v5.0.0), sixteen services are available. The endpoint of the API is https://api.archivesportaleurope.net/services. You must use an API-Key and a special value for accept in the HTTP-header.

Via https://www.archivesportaleurope.net/ApeApi/ you can access the ApeApi Explorer were you can try the services and see the responses.

Description EAD EAC-CPF
search (POST /GET) Services for searching with a term in the content and filtering on facets
content (GET) Services for getting detailed information about a particular result
hierarchy (GET) Services for getting detailed information about the position of a result in the hierarchy of a finding aid
download (GET) Services for downloading XML-files
institute (POST / GET) Services for getting full lists


Last additions/changes

Version 5.0.0

20170830: currently the production server holds version 5.0.0 of the API, compared to version 4.0.0 two more services have been added:


and the following services have been improved:

  • /search/ead:
    • added the following field to the response: parentId
    • in the response: changed the name of the field: "fondsUnitTitle" into: "findingAidTitle" and the field "fondsUnitId" into: "findingAidNo"
  • /search/ead/docList:
    • in the response: changed the name of the field: "fondsUnitTitle" into: "findingAidTitle" and the field "fondsUnitId" into: "findingAidNo"
  • /search/ead/{id}/descendants:
    • added the following to the request: filters and sortRequest
    • added the following field to the response: parentId
    • in the response: changed the name of the field: "fondsUnitTitle" into: "findingAidTitle" and the field "fondsUnitId" into: "findingAidNo"
    • added the following to the request: filtering (facetting) and sort options
  • /search/ead/{id}/children:
    • added the following field to the response: parentId
    • in the response: changed the name of the field: "fondsUnitTitle" into: "findingAidTitle" and the field "fondsUnitId" into: "findingAidNo"
  • /content/ead/archdesc/{id}
    • in the response: changed the name of the field: "fondsUnitTitle" into: "findingAidTitle" and the field "fondsUnitId" into: "findingAidNo"
  • /content/ead/clevel/{id}
    • in the response: changed the name of the field: "fondsUnitTitle" into: "findingAidTitle"
  • /hierarchy/ead/{id}/children:
    • in the response: changed the name of the field: "fondsUnitTitle" into: "findingAidTitle" and the field "fondsUnitId" into: "findingAidNo"
  • /hierarchy/ead/{id}/ancestors:
    • in the response: changed the name of the field: "fondsUnitTitle" into: "findingAidTitle" and the field "fondsUnitId" into: "findingAidNo"
  • /institute/getDocs:
    • added the following to the request: sortRequest
    • in the response: changed the name of the field: "fondsUnitTitle" into: "findingAidTitle" and the field "fondsUnitId" into: "findingAidNo"


Previous additions/changes

Version 4.0.0

20170531: currently the production server holds version 4.0.0 of the API, compared to version 3.0.0 these services have been improved:

  • /search/ead:
    • added the following fields to the response:
      • numberOfDigitalObjects
      • numberOfDigitalObjectsInDescendents
      • numberOfDescendents
      • numberOfAncestors
  • /search/ead/docList:
    • added the following fields to the response:
      • fondsUnitId
      • unitDate
      • scopeContent
      • numberOfDigitalObjects
      • numberOfDigitalObjectsInDescendents
      • numberOfDescendents
    • added facetDateFields (fromDate and toDate) to the response
  • /search/ead/{id}/descendants:
    • added the following fields to the response:
      • numberOfDigitalObjects
      • numberOfDigitalObjectsInDescendents
      • numberOfDescendents
      • numberOfAncestors
  • /search/ead/{id}/children:
    • added the following fields to the response:
      • numberOfDigitalObjects
      • numberOfDigitalObjectsInDescendents
      • numberOfDescendents
      • numberOfAncestors
  • /hierarchy/ead/{id}/children:
    • added the following fields to the response:
      • numberOfDigitalObjects
      • numberOfDigitalObjectsInDescendents
      • numberOfDescendents
    • in the response: changed the name of the field "treeDepth" into: "ancestorLevel"
  • /hierarchy/ead/{id}/ancestors:
    • added the following fields to the response:
      • numberOfDigitalObjects
      • numberOfDigitalObjectsInDescendents
      • numberOfDescendents
    • in the response: changed the name of the field "treeDepth" into: "ancestorLevel"
  • /institute/getDocs:
    • added the following fields to the response:
      • numberOfDigitalObjects
      • numberOfDigitalObjectsInDescendents
      • numberOfDescendents

Version 3.0.0

20161101: currently the production server holds version 3.0.0 of the API, compared to version 2.0.0 these services/improvements have been added:

  • /search/ead/docList
  • /search/ead/{id}/descendants
  • /search/ead/{id}/children
  • /hierarchy/ead/{id}/children
  • /hierarchy/ead/{id}/ancestors

added request or response parameters:

  • /search/ead -> added request parameter sortFields
  • /content/ead/clevel -> added response parameter fondsUnitTitle


API Key

To enable the Archives Portal Europe team to monitor the use of the API, you need to request an API-key to be able to use the API. The API-key can be requested via the option API on the homepage of the portal, or directly via this url: https://www.archivesportaleurope.net/get-api-key.

Note: you need to be a registered user of the Archives Portal Europe to be able to get an API key, so if you don't have an account for the Archives Portal Europe's My Pages functionality yet, please create one first. You can read more on the My Pages functionality over here.

Using the API you need to add a parameter "APIkey" to the header of your request

eg.

 	'APIkey' : 'put_your_personal_API-key_here'


Versioning

Depending on the version of the API that you want to use, the Content-Type parameter in the header must be set to a specific Content Type. For version 5.0.0 this is: application/vnd.ape-v5+json

eg.

 	'Content-Type' : 'application/vnd.ape-v5+json'