ANU Open Research OAI-PMH

OAI-PMH 2.0 metadata harvesting interface for ANU's Open Research institutional repository. Confirmed live: repositoryName "Open Research", repositoryIdentifier openresearch-repository.anu.edu.au, earliest datestamp 2004-01-01, twelve metadata formats (oai_dc, qdc, mods, mets, didl, ore, rdf, marc, xoai, dim, etdms, uketd_dc). Records carry ORCID identifiers and DOIs under ANU's own DataCite prefix 10.25911. The repository software is open-source DSpace 7.6.7, but ANU self-hosts the instance on ANU infrastructure and the protocol is an open community standard — this is not a SaaS tenancy, and no other institution's records are served here.

OpenAPI Specification

anu-open-research-oai-pmh-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ANU Open Research OAI-PMH
  version: '2.0'
  summary: OAI-PMH 2.0 metadata harvesting endpoint for ANU's Open Research institutional repository.
  description: >-
    ANU operates its institutional repository, Open Research, on self-hosted DSpace 7.6.7 at
    openresearch-repository.anu.edu.au (CNAME dspace-prod.anu.edu.au, 130.56.67.40 — ANU
    address space). The repository exposes a conformant OAI-PMH 2.0 harvesting interface.
    Confirmed by live Identify on 2026-08-19: repositoryName "Open Research",
    repositoryIdentifier openresearch-repository.anu.edu.au, adminEmail an anu.edu.au
    address, earliestDatestamp 2004-01-01, granularity YYYY-MM-DDThh:mm:ssZ, deletedRecord
    transient. Twelve metadata formats are offered: oai_dc, qdc, mods, mets, didl, ore, rdf,
    marc, xoai, dim, etdms and uketd_dc.


    OPERATOR: institution. The software is open-source DSpace, but ANU runs the instance on
    ANU infrastructure under ANU's own domain, and the OAI-PMH contract is an open community
    standard (OAI-PMH 2.0), not a vendor's proprietary API. This is the case the university
    pipeline distinguishes from a SaaS tenancy: nobody else's customers are served by this
    endpoint.


    PROVENANCE: DERIVED by API Evangelist from the OAI-PMH 2.0 specification as instantiated
    by this endpoint, with every value below read from live Identify and ListMetadataFormats
    responses on 2026-08-19. ANU publishes no OpenAPI for it.
  contact:
    name: ANU Open Research
    email: genevieve.turner@anu.edu.au
    url: https://openresearch.anu.edu.au/open-research-collections
  x-operator: institution
  x-provenance:
    method: probed
    generated: '2026-08-19'
    source: https://openresearch-repository.anu.edu.au/server/oai/request?verb=Identify
    derived_by: API Evangelist university pipeline
  x-standard:
    id: oai-pmh
    name: Open Archives Initiative Protocol for Metadata Harvesting
    version: '2.0'
    spec: http://www.openarchives.org/OAI/openarchivesprotocol.html
servers:
  - url: https://openresearch-repository.anu.edu.au/server/oai
    description: ANU Open Research OAI-PMH provider (DSpace 7.6.7, self-hosted).
tags:
  - name: Harvesting
    description: OAI-PMH verbs for metadata harvesting.
paths:
  /request:
    get:
      operationId: oaiPmhRequest
      summary: Issue an OAI-PMH verb
      description: >-
        Single dispatch endpoint for all six OAI-PMH 2.0 verbs. The verb query parameter
        selects the operation; the remaining parameters are conditional on the verb. All
        responses are XML in the http://www.openarchives.org/OAI/2.0/ namespace.
      tags: [ Harvesting ]
      parameters:
        - name: verb
          in: query
          required: true
          description: The OAI-PMH verb to execute.
          schema:
            type: string
            enum: [ Identify, ListMetadataFormats, ListSets, ListIdentifiers, ListRecords, GetRecord ]
            examples: [ Identify ]
        - name: metadataPrefix
          in: query
          required: false
          description: >-
            Metadata format to return. Required for ListIdentifiers, ListRecords and
            GetRecord. Twelve prefixes are supported by this repository.
          schema:
            type: string
            enum: [ oai_dc, qdc, mods, mets, didl, ore, rdf, marc, xoai, dim, etdms, uketd_dc ]
            examples: [ oai_dc ]
        - name: identifier
          in: query
          required: false
          description: 'OAI identifier of a single record. Required for GetRecord. Form: oai:openresearch-repository.anu.edu.au:1885/1234'
          schema:
            type: string
            examples: [ 'oai:openresearch-repository.anu.edu.au:1885/1234' ]
        - name: set
          in: query
          required: false
          description: Set spec to restrict a selective harvest to one collection or community.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: Lower bound on datestamp, YYYY-MM-DDThh:mm:ssZ. Earliest datestamp in this repository is 2004-01-01T00:00:00Z.
          schema:
            type: string
            format: date-time
        - name: until
          in: query
          required: false
          description: Upper bound on datestamp, YYYY-MM-DDThh:mm:ssZ.
          schema:
            type: string
            format: date-time
        - name: resumptionToken
          in: query
          required: false
          description: Continuation token returned by a previous incomplete list response. Exclusive of all other arguments except verb.
          schema:
            type: string
      responses:
        '200':
          description: >-
            An OAI-PMH XML response. Protocol-level failures (badVerb, badArgument,
            cannotDisseminateFormat, idDoesNotExist, noRecordsMatch, noSetHierarchy,
            badResumptionToken) are returned inside this 200 as an <error> element with a
            code attribute, per the OAI-PMH specification — status code alone is not a
            success signal.
          content:
            text/xml:
              schema:
                type: string
                contentMediaType: text/xml
              examples:
                identify:
                  summary: Live Identify response captured 2026-08-19
                  externalValue: ../examples/anu-open-research-oai-identify-example.xml
components: {}