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.
openapi: 3.2.0
info:
title: CentAUR Metadata Interface OAI PMH API
version: '2.0'
summary: OAI-PMH 2.0 harvesting interface for CentAUR, the University of Reading institutional repository.
description: Machine-readable description of the OAI-PMH 2.0 endpoint operated by the University of Reading for CentAUR (Central Archive at the University of Reading), the institutional repository of the university's research outputs.
termsOfService: https://centaur.reading.ac.uk/information.html
contact:
name: CentAUR repository team, University of Reading
email: centaur@reading.ac.uk
url: https://centaur.reading.ac.uk/information.html
license:
name: OAI-PMH 2.0 protocol
url: http://www.openarchives.org/OAI/openarchivesprotocol.html
servers:
- url: https://centaur.reading.ac.uk
description: CentAUR production repository, operated by the University of Reading
tags:
- name: oai pmh
description: OAI-PMH 2.0 verbs served by the repository at /cgi/oai2.
paths:
/cgi/oai2:
get:
tags:
- oai pmh
operationId: oaiPmhRequest
summary: Issue an OAI-PMH 2.0 request
description: Single OAI-PMH request entry point. The verb parameter selects the operation. Responses are XML (text/xml; charset=UTF-8) in the http://www.openarchives.org/OAI/2.0/ namespace and always carry responseDate and a request element echoing the arguments. Errors are returned as HTTP 200 with an element carrying an OAI-PMH error code, not as an HTTP status.
parameters:
- name: verb
in: query
required: true
description: The OAI-PMH verb to invoke.
schema:
type: string
enum:
- Identify
- ListMetadataFormats
- ListSets
- ListIdentifiers
- ListRecords
- GetRecord
examples:
identify:
value: Identify
listRecords:
value: ListRecords
- name: metadataPrefix
in: query
required: false
description: Metadata format for ListRecords, ListIdentifiers and GetRecord. Observed formats advertised by ListMetadataFormats on this endpoint.
schema:
type: string
enum:
- didl
- mets
- oai_bibl
- oai_dc
- rdf
- rioxx
- uketd_dc
- name: identifier
in: query
required: false
description: 'OAI identifier of a single record, for GetRecord. Form: oai:centaur.reading.ac.uk:<eprintid>.'
schema:
type: string
examples:
- oai:centaur.reading.ac.uk:5
- name: set
in: query
required: false
description: Set to restrict a harvest to. Set specs on this endpoint are hex-encoded EPrints field filters (for example 7374617475733D707562 = "status=pub"); ListSets returns the available specs with human-readable setNames.
schema:
type: string
- name: from
in: query
required: false
description: Lower bound on record datestamp, in the repository's granularity (YYYY-MM-DDThh:mm:ssZ).
schema:
type: string
- name: until
in: query
required: false
description: Upper bound on record datestamp, in the repository's granularity (YYYY-MM-DDThh:mm:ssZ).
schema:
type: string
- name: resumptionToken
in: query
required: false
description: Continuation token returned by a previous incomplete list response. Observed tokens carry completeListSize, cursor and expirationDate attributes and expire 24 hours after issue.
schema:
type: string
responses:
'200':
description: OAI-PMH XML response. Protocol-level failures (badVerb, badArgument, idDoesNotExist, noRecordsMatch, cannotDisseminateFormat) are also returned with HTTP 200 and an <error> element.
content:
text/xml:
schema:
type: string
contentMediaType: text/xml
description: OAI-PMH 2.0 response document.
examples:
identify:
summary: Identify response observed 2026-09-01
externalValue: ../examples/university-of-reading-centaur-oai-pmh-identify-example.yml