edoc-Server DSpace REST API

Public, unauthenticated read API of the edoc-Server, the Open Access institutional repository of Humboldt-Universität zu Berlin, operated by the University Library's Arbeitsgruppe Elektronisches Publizieren. Live probe 2026-09-01 returned dspaceName "edoc-Server", dspaceVersion "DSpace 8.5-SNAPSHOT"; /core/communities and /discover/search/objects both answered 200, /core/items answered 401. The repository software is DSpace (open source, BSD, self-hosted) — the software is a third party's, the host, the deployment and the content are HU's, which is why this is `institution` and not `tenant`. HU publishes no OpenAPI for it; the three contracts below were authored by API Evangelist from live responses and each says so in its own description. They are three tag-split views of ONE surface, not three APIs — the June 2026 profile listed them as three separate entries and that inflation has been corrected here.

Operations 6

GET /core/communities List communities #
GET /core/communities/{uuid} Get a community by UUID #
GET /core/communities/{uuid}/collections List collections within a community #
GET /core/collections List collections #
GET /core/collections/{uuid} Get a collection by UUID #
GET /core/items/{uuid} Get an item by UUID #

Documentation

Specifications

Other Resources

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/edoc-rest"
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

humboldt-universitat-zu-berlin-core-api-openapi.yml Raw ↑
openapi: 3.2.0
x-method: derived
x-generated: '2026-06-03'
x-source: https://edoc.hu-berlin.de/server/api (live responses)
x-operator: institution
x-authored-by: API Evangelist — NOT published by Humboldt-Universitaet zu Berlin
info:
  title: edoc-Server DSpace REST API (Humboldt-Universität zu Berlin) Core API
  description: Public, read-oriented subset of the DSpace REST API powering the edoc-Server Open Access institutional repository of Humboldt-Universität zu Berlin. The repository runs DSpace 8 and exposes communities, collections, items, and a discovery search as HAL/JSON resources. This description was authored from the live API responses observed at the base URL; only publicly reachable, unauthenticated read endpoints are documented here. Write, submission, workflow, and authenticated endpoints exist in DSpace but are intentionally omitted because they require authentication and are not publicly self-service.
  version: '8.4'
  contact:
    name: edoc-Server, University Library, Humboldt-Universität zu Berlin
    url: https://edoc-info.hu-berlin.de/en
  license:
    name: DSpace BSD License
    url: https://github.com/DSpace/DSpace/blob/main/LICENSE
servers:
- url: https://edoc.hu-berlin.de/server/api
  description: edoc-Server production REST API
tags:
- name: Core
  description: Core repository resources (communities, collections, items)
paths:
  /core/communities:
    get:
      tags:
      - Core
      summary: List communities
      description: Returns a paginated HAL collection of top-level and child communities.
      operationId: listCommunities
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/size'
      responses:
        '200':
          description: Paginated list of communities
          content:
            application/hal+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PagedResponse'
                - type: object
                  properties:
                    _embedded:
                      type: object
                      properties:
                        communities:
                          type: array
                          items:
                            $ref: '#/components/schemas/Community'
  /core/communities/{uuid}:
    get:
      tags:
      - Core
      summary: Get a community by UUID
      operationId: getCommunity
      parameters:
      - $ref: '#/components/parameters/uuid'
      responses:
        '200':
          description: A single community
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Community'
        '404':
          description: Not found
  /core/communities/{uuid}/collections:
    get:
      tags:
      - Core
      summary: List collections within a community
      operationId: listCommunityCollections
      parameters:
      - $ref: '#/components/parameters/uuid'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/size'
      responses:
        '200':
          description: Paginated list of collections
          content:
            application/hal+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PagedResponse'
                - type: object
                  properties:
                    _embedded:
                      type: object
                      properties:
                        collections:
                          type: array
                          items:
                            $ref: '#/components/schemas/Collection'
  /core/collections:
    get:
      tags:
      - Core
      summary: List collections
      operationId: listCollections
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/size'
      responses:
        '200':
          description: Paginated list of collections
          content:
            application/hal+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PagedResponse'
                - type: object
                  properties:
                    _embedded:
                      type: object
                      properties:
                        collections:
                          type: array
                          items:
                            $ref: '#/components/schemas/Collection'
  /core/collections/{uuid}:
    get:
      tags:
      - Core
      summary: Get a collection by UUID
      operationId: getCollection
      parameters:
      - $ref: '#/components/parameters/uuid'
      responses:
        '200':
          description: A single collection
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Collection'
        '404':
          description: Not found
  /core/items/{uuid}:
    get:
      tags:
      - Core
      summary: Get an item by UUID
      description: Returns a single archived item. Item listing endpoints in DSpace are access-controlled; individual archived (publicly discoverable) items are retrievable by UUID.
      operationId: getItem
      parameters:
      - $ref: '#/components/parameters/uuid'
      responses:
        '200':
          description: A single item
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Item'
        '401':
          description: Unauthorized (item not publicly accessible)
        '404':
          description: Not found
components:
  schemas:
    PageInfo:
      type: object
      properties:
        size:
          type: integer
        totalElements:
          type: integer
        totalPages:
          type: integer
        number:
          type: integer
    Community:
      type: object
      description: A DSpace community (a grouping of collections and sub-communities).
      properties:
        id:
          type: string
          format: uuid
        uuid:
          type: string
          format: uuid
        name:
          type: string
        handle:
          type: string
          example: 18452/21664
        metadata:
          $ref: '#/components/schemas/MetadataMap'
        archivedItemsCount:
          type: integer
        type:
          type: string
          enum:
          - community
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
    Link:
      type: object
      properties:
        href:
          type: string
          format: uri
    PagedResponse:
      type: object
      properties:
        _embedded:
          type: object
        page:
          $ref: '#/components/schemas/PageInfo'
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
    MetadataMap:
      type: object
      description: Map of metadata field keys (e.g. "dc.title", "dc.identifier.uri", "dc.description") to arrays of metadata values.
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/MetadataValue'
    Item:
      type: object
      description: A DSpace item (a repository record such as a thesis, article, or dataset).
      properties:
        id:
          type: string
          format: uuid
        uuid:
          type: string
          format: uuid
        name:
          type: string
        handle:
          type: string
        metadata:
          $ref: '#/components/schemas/MetadataMap'
        inArchive:
          type: boolean
        discoverable:
          type: boolean
        withdrawn:
          type: boolean
        lastModified:
          type: string
          format: date-time
        entityType:
          type:
          - string
          - 'null'
        type:
          type: string
          enum:
          - item
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
    Collection:
      type: object
      description: A DSpace collection (a container of items).
      properties:
        id:
          type: string
          format: uuid
        uuid:
          type: string
          format: uuid
        name:
          type: string
        handle:
          type: string
          example: 18452/20731
        metadata:
          $ref: '#/components/schemas/MetadataMap'
        archivedItemsCount:
          type: integer
        type:
          type: string
          enum:
          - collection
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
    MetadataValue:
      type: object
      description: A single DSpace metadata value entry.
      properties:
        value:
          type: string
        language:
          type:
          - string
          - 'null'
        authority:
          type:
          - string
          - 'null'
        confidence:
          type: integer
        place:
          type: integer
      required:
      - value
  parameters:
    size:
      name: size
      in: query
      description: Page size
      schema:
        type: integer
        minimum: 1
        default: 20
    uuid:
      name: uuid
      in: path
      required: true
      description: UUID of the resource
      schema:
        type: string
        format: uuid
    page:
      name: page
      in: query
      description: Zero-based page index
      schema:
        type: integer
        minimum: 0
        default: 0