API Documentation

This documentation is intended for developers to access the content of re3data.org.

re3data.org supports the retrievial of its content via API. Currently the platform offers a simple open search implementation as well as a first version of a RESTful interface.

Despite having HATEOAS in focus for the RESTful interface, the different APIs are versioned via URL and not via Accept-Header. This should make it easier to consume the data, since the client can be less smart.

The interfaces can be accessed via
https://www.re3data.org/api/<api identifier>

Feedback and suggestions, especially bug reports and feature requests about the API are highly appreciated. Feel free to send an email to info@re3data.org

  • Version 1

    • /api/v1/repositories

        • GET /api/v1/repositories

          • Returns a index list of repositories

          Documentation

          This function is the entry point for getting the metadata of repositories indexed on re3data.org.

          A GET-Request will return a an XML-Document following the HATEOAS-Principles

          Example:
          <list>
           <repository>
            <id>r3d100000000</id>
            <doi>https://doi.org/10.17616/R3D</doi>
            <link href="/app_dev.php/api/beta/repository/r3d100000000" rel="self"/>
           </repository>
          </list>

          You can parse the content and follow the links related to the repositorios to retrieve a detailed representation.

          Requirements

          Name Requirement Type Description
          none

          Status Codes

          Status Code Description
          200
          • Returned when the list could be successfully generated.
          404
          • Returned when error occured. Please send a bug report in this case.
          500
          • Returned when error occured. Please send a bug report in this case.
    • /api/v1/repository/{id}

        • GET /api/v1/repository/{id}

          • Returns a repository description

          Documentation

          Returns a repository as XML representation according to schema 2.2

          Requirements

          Name Requirement Type Description
          id - string re3data.org-Identifier in the form 'r3d100000000'

          Status Codes

          Status Code Description
          200
          • Returned when the list could be successfully generated.
          404
          • Returned when repository could not be found.
          500
          • Returned when error occured. Please send a bug report in this case.
  • Beta

    • /api/beta/repositories

        • GET /api/beta/repositories unstable in-development

          • Returns a index list of repositories

          Documentation

          This function is the entry point for getting the metadata of repositories indexed on re3data.org.

          A GET-Request will return a an XML-Document following the HATEOAS-Principles

          Example:
          <list>
           <repository>
            <id>r3d100000000</id>
            <doi>https://doi.org/10.17616/R3D</doi>
            <link href="/app_dev.php/api/beta/repository/r3d100000000" rel="self"/>
           </repository>
          </list>

          You can parse the list and follow the links pointing to the repositorios to retrieve a detailed representation.

          In addition to that it is possible to filter the list via GET-Parameters. The filter parameters (except the "query") are designed as arrays so you can apply them multiple times.

          Here is an example in which all repositories in Canada within the life and natural sciences providing DOIs are queried Example

          Requirements

          Name Requirement Type Description
          none

          Parameters

          Parameter Type Required? Format Description
          query string false Filter by search term, e.g. 'biosharing'
          aidSystems[] string false Filter by the author identifier systems, e.g. 'ORCID'
          apis[] string false Filter by APIs, e.g. 'SPARQL'
          certificates[] string false Filter by certificates, e.g. 'DSA'
          contentTypes[] string false Filter by content types, e.g. 'Raw data'
          countries[] string false Filter by institution countries, e.g. 'CAN'
          dataAccess[] string false Filter by data access , e.g. 'open'
          dataAccessRestrictions[] string false Filter by data access restrictions, e.g. 'feeRequired'
          databaseAccess[] string false Filter by database access, e.g. 'restricted'
          databaseAccessRestrictions[] string false Filter by database access, e.g. 'registration'
          databaseLicenses[] string false Filter by database licenses, e.g. 'Public Domain'
          dataLicenses[] string false Filter by data licenses, e.g. 'CC0'
          dataUploads[] string false Filter by data upload, e.g. 'open'
          dataUploadRestrictions[] string false Filter by data upload restrictions, e.g. 'institutional membership'
          enhancedPublication[] string false Filter by enhanced publication, e.g. 'yes'
          institutionType[] string false Filter by the institution types, e.g. 'commercial'
          keywords[] string false Filter by keywords, e.g. 'DNA'
          metadataStandards[] string false Filter by metadata standards, e.g. 'DCAT - Data Catalog Vocabulary'
          pidSystems[] string false Filter by persistent identifier systems, e.g. 'DOI'
          providerTypes[] string false Filter by provider type, e.g. 'dataProvider'
          qualityManagement[] string false Filter by quality management, e.g. 'yes'
          repositoryLanguages[] string false Filter by repository languages, e.g. 'deu'
          responsibilityTypes[] string false Filter by institutions responsibility types, e.g. 'funding'
          software[] string false Filter by software, e.g. 'CKAN'
          subjects[] string false Filter by subjects, e.g. '104 Linguistics'
          syndications[] string false Filter by syndications, e.g. 'RSS'
          types[] string false Filter by repository types, e.g. 'disciplinary'
          versioning[] string false Filter by versioning capabilities, e.g. 'yes'

          Status Codes

          Status Code Description
          200
          • Returned when the list could be successfully generated.
          404
          • Returned when error occured. Please send a bug report in this case.
          500
          • Returned when error occured. Please send a bug report in this case.
    • /api/beta/repository/{id}

        • GET /api/beta/repository/{id} unstable in-development

          • Returns a repository description

          Documentation

          Returns a repository as XML representation according to schema 2.2

          Requirements

          Name Requirement Type Description
          id - string re3data.org-Identifier in the form 'r3d100000000'

          Status Codes

          Status Code Description
          200
          • Returned when the list could be successfully generated.
          404
          • Returned when repository could not be found.
          500
          • Returned when error occured. Please send a bug report in this case.
  • OpenSearch

        • ANY /api/opensearch/opensearch.xml

          • Returns open search description

          Documentation

          Returns the open search description as xml file "application/opensearch+xml"

          Requirements

          Name Requirement Type Description
          none
        • ANY /api/opensearch/suggest

          • Returns suggestions for open search

          Documentation

          Handles requests from open search browser implementation

          Requirements

          Name Requirement Type Description
          none

          Filters

          Name Information
          search
          Datatype string
          Required false
          Description Search string