--- name: University of Groningen description: University of Groningen public developer/API footprint review for APIs.json cataloging. url: https://raw.githubusercontent.com/api-evangelist/university-of-groningen/refs/heads/main/review.yml created: '2026-06-03' modified: '2026-08-30' reviews: - date: '2026-06-03' rating: 2 summary: >- Verified live, machine-readable interfaces are research-oriented: the Pure research-portal OAI-PMH endpoint returned a valid OAI-PMH XML response (OpenAIRE CERIF profile) for ListMetadataFormats, the Elsevier Pure REST web-services API is live but API-key gated (HTTP 401 without credentials), and the shared DataverseNL Native REST API (UG default data repository) returned a valid version payload (Dataverse v6.9). The official rijksuniversiteit-groningen GitHub org exists and publishes open-source research-data/education tooling (iBridges/iRODS Python client, datacite test, LTI 1.3). No unified self-service public developer portal and no public key-issuing program were found; SIS/timetable/identity APIs appear internal. No endpoints fabricated; gated/error states reported honestly. endpoints: - url: https://pure.rug.nl/ws/oai?verb=ListMetadataFormats status: 200 note: Live OAI-PMH XML response (OpenAIRE CERIF profile) over Pure CRIS. - url: https://pure.rug.nl/ws/oai?verb=Identify status: 500 note: Identify verb returned a server error; ListMetadataFormats works, endpoint is live. - url: https://pure.rug.nl/ws/api status: 200 note: Serves Elsevier Pure REST API documentation index. - url: https://pure.rug.nl/ws/api/524/openapi.yaml status: 401 note: Pure REST API live but requires an institution-issued API key (gated). - url: https://dataverse.nl/api/info/version status: 200 note: DataverseNL Native REST API live, Dataverse v6.9; UG default data repository. - url: https://research.rug.nl/ status: 200 note: UG Research Portal (Powered by Pure, Scopus, Elsevier Fingerprint Engine). - url: https://github.com/rijksuniversiteit-groningen status: 200 note: Official UG Centre for Information Technology GitHub org; open-source tooling. - url: https://www.rug.nl/ status: 200 note: Official university website. - url: https://www.rug.nl/library/ status: 200 note: University Library; Pure support and research-data documentation. - url: https://www.linkedin.com/school/rijksuniversiteit-groningen/ status: 999 note: Official LinkedIn school page; 999 is standard LinkedIn bot block, page exists. - url: https://twitter.com/univgroningen status: 200 note: Official X/Twitter account (@univgroningen). - date: '2026-08-30' rating: 2 summary: >- Re-profiled under the university pipeline, which settles operator attribution before saving any contract. The 2026-06-03 profile credited the University with 73 OpenAPI specifications; all 73 were per-tag splits of two vendor contracts — the Elsevier Pure REST API (info contact pure-support@elsevier.com) and the DataverseNL Native API (servers dataverse.nl, a host the University does not own and that at least seven other institutions in this catalog also point at) — and every one of them carried the same fabricated baseURL, https://pure.rug.nl/ws/oai, which is the OAI-PMH endpoint and serves none of those paths. All 73 specifications, their two source documents, 145 collections and every derived schema, structure, example, ruleset, vocabulary, JSON-LD context and agentic-access file were removed — 235 files. Three genuinely institution-operated surfaces were found and verified in their place: the previously uncatalogued Ocasys course-catalog JSON API, discovered by reading the catalog application's own JavaScript bundle and confirmed keyless; the OAI-PMH endpoint, re-verified across all six verbs (the 2026-06 Identify 500 did not reproduce — it returns 200); and the University's own SAML 2.0 identity provider, confirmed against its published metadata and its eduGAIN registration through SURFconext. Pure, DataverseNL and OCLC WorldCat are retained as tenant relationships. No developer portal, no key issuance, no status page; api.rug.nl, data.rug.nl, developer.rug.nl and status.rug.nl do not resolve. The two OpenAPIs now in this repository are derived by API Evangelist from live probes and are labelled as such. Nothing fabricated. endpoints: - url: https://ocasys.rug.nl/api/2026-2027/course?searchTerm=biology status: 200 note: Keyless course search on the institution's own course-catalog backend. - url: https://ocasys.rug.nl/api/2026-2027/course/WMMB015-05 status: 200 note: Full bilingual course record with ECTS credits, assessments, offerings and SDG flags. - url: https://ocasys.rug.nl/api/orgunit/faculties-and-universities status: 200 note: One UNIVERSITY root plus fifteen faculties. - url: https://ocasys.rug.nl/api/2026-2027/program status: 400 note: RFC 9457 problem detail when the required searchTerm is omitted. - url: https://ocasys.rug.nl/api/2026-2027/course-offering?permission=READ status: 403 note: Gated behind institutional SAML SSO; empty body, no WWW-Authenticate hint. - url: https://pure.rug.nl/ws/oai?verb=Identify status: 200 note: >- protocolVersion 2.0, repositoryName "University of Groningen Research Database", adminEmail pure@rug.nl, earliest datestamp 2014-03-11. The 2026-06 500 did not reproduce. - url: https://pure.rug.nl/ws/oai?verb=ListIdentifiers&metadataPrefix=oai_dc status: 200 note: completeListSize 1,521,703. - url: https://pure.rug.nl/ws/oai?verb=ListRecords&metadataPrefix=oai_cerif_openaire&set=openaire_cris_persons status: 200 note: OpenAIRE CERIF person records carrying resolvable ORCID iDs. - url: https://pure.rug.nl/ws/oai?verb=Bogus status: 200 note: badVerb error returned inside a 200 body, as OAI-PMH specifies. - url: https://signon.rug.nl/nidp/saml2/metadata status: 200 note: >- SAML 2.0 metadata, OrganizationName "Rijksuniversiteit Groningen", contact cit-iam@list.rug.nl; registered in eduGAIN with SURFconext as registration authority. - url: https://pure.rug.nl/ws/api status: 200 note: Redirects to a documentation page whose rel=canonical is api.elsevierpure.com — the contract is Elsevier's. - url: https://dataverse.nl/dataverse/rug status: 200 note: Live but behind a bot challenge; the platform is DANS/SURF-operated, not the University's. - url: https://research.rug.nl/en/ status: 403 note: Cloudflare bot challenge on the Pure portal; live, not dead. - url: https://api.rug.nl/ status: 0 note: No DNS. Same for data.rug.nl, developer.rug.nl and status.rug.nl.