ZFDM Research Data Repository API

Read API of the ZFDM Repository (Forschungsdatenrepositorium), operated by Universität Hamburg's Zentrum für nachhaltiges Forschungsdatenmanagement on the institution's own host. Returns records, communities, licenses and file buckets as unauthenticated JSON with Access-Control-Allow-Origin *, RFC 8288 Link pagination and X-RateLimit-* headers (limit 5000). Deposit paths return 401. Records carry DataCite DOIs under the institutional prefix 10.25592 and ORCID iDs on creators. The repository runs Invenio, so the contract SHAPE originates upstream; the deployment, host, identifiers and data are the institution's, and the OpenAPI below was derived by API Evangelist from live probes because the institution publishes none.

Operations 6

GET /records/ Search published records #
GET /records/{id} Retrieve one record #
GET /communities List communities #
GET /communities/{communityId} Retrieve one community #
GET /licenses/ List the license vocabulary #
GET /files/{bucketId} List the files in a record's bucket #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zfdm-repository-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

universitat-hamburg-zfdm-repository-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Universität Hamburg ZFDM Research Data Repository API
  version: '2026-09-01'
  description: >-
    Read API of the ZFDM Repository (Forschungsdatenrepositorium) operated by
    Universität Hamburg's Zentrum für nachhaltiges Forschungsdatenmanagement on
    the institution's own host, www.fdr.uni-hamburg.de. The repository publishes
    research data, publications and teaching materials of Universität Hamburg and
    mints DataCite DOIs under the institutional prefix 10.25592 (DataCite
    registrant tib.fdmuh, "Universität Hamburg").

    OPERATOR NOTE — this document was DERIVED BY API EVANGELIST from live,
    unauthenticated probes of this host on 2026-09-01; it is not a vendor
    document and Universität Hamburg does not publish an OpenAPI for this
    service. The repository runs Invenio (the Zenodo-derived record/deposit API
    shape upstream of this deployment), so the CONTRACT SHAPE originates with the
    Invenio project while the DEPLOYMENT, the host, the identifiers and the data
    are operated by Universität Hamburg. Only paths and responses observed live
    on this host are described here. Nothing was copied from Invenio or Zenodo
    documentation and nothing was inferred.
  contact:
    name: ZFDM Repository, Universität Hamburg
    email: repository.fdm@uni-hamburg.de
    url: https://www.fdr.uni-hamburg.de/
  license:
    name: Per-record; see the `metadata.license` field of each record
    url: https://www.fdr.uni-hamburg.de/
servers:
  - url: https://www.fdr.uni-hamburg.de/api
    description: Production — Universität Hamburg ZFDM Repository
tags:
  - name: Records
    description: Published research-data records and their metadata.
  - name: Communities
    description: Curated collections within the repository.
  - name: Licenses
    description: Controlled license vocabulary used by records.
  - name: Files
    description: File buckets attached to a record.
paths:
  /records/:
    get:
      tags: [ Records ]
      summary: Search published records
      description: >-
        Returns a page of published records. Verified live 2026-09-01 returning
        200 application/json with an RFC 8288 `Link` header carrying `rel="self"`
        and `rel="next"`, and `X-RateLimit-Limit` / `X-RateLimit-Remaining` /
        `X-RateLimit-Reset` headers. `Access-Control-Allow-Origin: *` is set.
      operationId: searchRecords
      parameters:
        - name: q
          in: query
          description: Free-text query. Verified with `q=climate`.
          required: false
          schema: { type: string }
        - name: size
          in: query
          description: Records per page. Verified with `size=1` and `size=2`.
          required: false
          schema: { type: integer, minimum: 1 }
        - name: page
          in: query
          description: 1-based page number, as emitted in the `Link` header.
          required: false
          schema: { type: integer, minimum: 1 }
        - name: sort
          in: query
          description: Sort order. Verified with `sort=mostrecent`.
          required: false
          schema: { type: string }
        - name: communities
          in: query
          description: Restrict to a community identifier. Verified with `communities=uhh`.
          required: false
          schema: { type: string }
      responses:
        '200':
          description: A page of records.
          headers:
            Link:
              description: RFC 8288 pagination links (`self`, `next`).
              schema: { type: string }
            X-RateLimit-Limit:
              description: Observed live as 5000.
              schema: { type: integer }
            X-RateLimit-Remaining:
              schema: { type: integer }
            X-RateLimit-Reset:
              description: Unix epoch seconds at which the window resets.
              schema: { type: integer }
          content:
            application/json:
              schema:
                type: object
                properties:
                  aggregations: { type: object }
                  hits:
                    type: object
                    properties:
                      hits:
                        type: array
                        items: { $ref: '#/components/schemas/Record' }
                      total: { type: integer }
                  links: { type: object, additionalProperties: { type: string } }
  /records/{id}:
    get:
      tags: [ Records ]
      summary: Retrieve one record
      description: Verified live 2026-09-01 with id 19607 (DOI 10.25592/uhhfdm.19607).
      operationId: getRecord
      parameters:
        - name: id
          in: path
          required: true
          description: Numeric record id.
          schema: { type: integer }
      responses:
        '200':
          description: The record.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Record' }
        '404':
          description: >-
            No such persistent identifier. Verified live returning
            `{"status": 404, "message": "PID does not exist."}`.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Error' }
  /communities:
    get:
      tags: [ Communities ]
      summary: List communities
      description: Verified live 2026-09-01 returning 200 application/json.
      operationId: listCommunities
      parameters:
        - name: q
          in: query
          required: false
          schema: { type: string }
      responses:
        '200':
          description: A page of communities.
          content:
            application/json:
              schema:
                type: object
                properties:
                  hits:
                    type: object
                    properties:
                      hits:
                        type: array
                        items: { $ref: '#/components/schemas/Community' }
  /communities/{communityId}:
    get:
      tags: [ Communities ]
      summary: Retrieve one community
      description: Verified live 2026-09-01 with communityId `uhh`.
      operationId: getCommunity
      parameters:
        - name: communityId
          in: path
          required: true
          schema: { type: string }
      responses:
        '200':
          description: The community.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Community' }
  /licenses/:
    get:
      tags: [ Licenses ]
      summary: List the license vocabulary
      description: Verified live 2026-09-01 returning 200 application/json.
      operationId: listLicenses
      parameters:
        - name: size
          in: query
          required: false
          schema: { type: integer }
      responses:
        '200':
          description: A page of license terms.
          content:
            application/json:
              schema:
                type: object
                properties:
                  hits:
                    type: object
                    properties:
                      hits:
                        type: array
                        items: { type: object }
  /files/{bucketId}:
    get:
      tags: [ Files ]
      summary: List the files in a record's bucket
      description: >-
        Verified live 2026-09-01 with the bucket id published in a record's
        `links.bucket`.
      operationId: listBucketFiles
      parameters:
        - name: bucketId
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        '200':
          description: The bucket contents.
          content:
            application/json:
              schema: { type: object }
components:
  schemas:
    Record:
      type: object
      description: Fields observed in live responses on this host.
      properties:
        id: { type: integer }
        doi: { type: string, example: 10.25592/uhhfdm.19607 }
        doi_url: { type: string, format: uri }
        conceptdoi: { type: string }
        conceptrecid: { type: string }
        created: { type: string, format: date-time }
        updated: { type: string, format: date-time }
        links:
          type: object
          additionalProperties: { type: string, format: uri }
        metadata:
          type: object
          properties:
            title: { type: string }
            description: { type: string }
            doi: { type: string }
            access_right: { type: string }
            language: { type: string }
            license: { type: string }
            keywords: { type: array, items: { type: string } }
            communities:
              type: array
              items:
                type: object
                properties:
                  identifier: { type: string }
            creators:
              type: array
              items:
                type: object
                properties:
                  name: { type: string }
                  affiliation: { type: string }
                  orcid:
                    type: string
                    description: ORCID iD of the creator, as published in live responses.
    Community:
      type: object
      properties:
        id: { type: string }
        title: { type: string }
        description: { type: string }
        curation_policy: { type: string }
        created: { type: string, format: date-time }
        updated: { type: string, format: date-time }
        logo_url: { type: string, format: uri }
        links:
          type: object
          additionalProperties: { type: string, format: uri }
    Error:
      type: object
      properties:
        status: { type: integer }
        message: { type: string }
x-provenance:
  generated: '2026-09-01'
  method: derived
  source:
    - https://www.fdr.uni-hamburg.de/api/records/?size=1&sort=mostrecent
    - https://www.fdr.uni-hamburg.de/api/records/?q=climate&size=2
    - https://www.fdr.uni-hamburg.de/api/records/?communities=uhh&size=1
    - https://www.fdr.uni-hamburg.de/api/records/19607
    - https://www.fdr.uni-hamburg.de/api/records/999999999
    - https://www.fdr.uni-hamburg.de/api/communities
    - https://www.fdr.uni-hamburg.de/api/communities/uhh
    - https://www.fdr.uni-hamburg.de/api/licenses/?size=2
    - https://www.fdr.uni-hamburg.de/api/files/de21a6b6-468b-4bdb-8fc7-1e0a07562382
  note: >-
    Derived from live unauthenticated probes of www.fdr.uni-hamburg.de on
    2026-09-01. No vendor or upstream-project documentation was copied. The
    provider does not publish an OpenAPI for this service.
x-operator: institution