Utrecht University (Universiteit Utrecht) is a public research university in Utrecht, Netherlands, founded in 1636 and a member of the League of European Research Universities. It is one of the few universities in this catalog whose largest machine-readable surface is its OWN engineering rather than a vendor's: Utrecht authors and operates Yoda, a GPL-3.0 iRODS-based research data management platform (github.com/UtrechtUniversity/yoda-ruleset), and runs it in production at portal.yoda.uu.nl. The Yoda HTTP API is real but not open — every call redirects to SolisID login unless it carries a session cookie or a Yoda data access token — so the OpenAPIs in this repo describe a live institution-operated API that no anonymous client can call. Alongside it the University Library runs a DSpace 9.0 institutional repository whose REST API and OAI-PMH interface are both openly readable at dspace.library.uu.nl, and IT Services operates a SAML 2.0 identity provider registered in the SURFconext federation. The research information system is NOT Utrecht's: research-portal.uu.nl is an Elsevier Pure tenancy (uu.elsevierpure.com), recorded here as a tenant relationship and not as Utrecht's contract. There is no central developer portal, no api.uu.nl, no public course-catalog or campus API, and no published API terms or rate limits; OSIRIS, the student administration system, returns 403 to unauthenticated clients.
Utrecht University publishes 20 APIs on the APIs.io network, including admin API, browse API, data_access_token API, and 17 more. Tagged areas include Education, Higher Education, University, Netherlands, and Europe.
The Utrecht University catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.
Utrecht University’s developer surface includes authentication, GitHub presence, documentation, API reference, support, and 23 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Education & Research regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Open Source Surface applies to this provider. This product is open source and we
read its repository directly, so Open Source Surface carries
10 points of the composite. It is scored from what the repository actually
publishes — a security policy, a contribution guide, a release history, a code of conduct — read live from the
provider rather than inferred from our own catalog pointers.
This facet adds; nothing was taken away to make room for it. An open-source project is not excused from
the commercial facets, because exemption would strip it of the points it does earn.
If we have the wrong repository, or this product is not open source, say so on your
provider repo and we
will drop the facet rather than have you publish against it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it
carries 10 points of the composite. It is scored from the published contracts
themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already
holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in
front of it, and the first time that check is skipped a duplicate record is created.
Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet,
not penalised by it.
The six quality facets above are damped to 65 points between them,
because both conditional facets apply and carry
35 points together. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 65% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/utrecht: open an issue to ask a question, or submit a pull request to add artifacts.
Submit an artifact on GitHub — free →Manage your own listing — the Influence plan, $499/mo →
OAI-PMH 2.0 metadata harvesting interface for the Utrecht University Library institutional repository. Verified live 2026-08-30 on DSpace 9.0: Identify, ListMetadataFormats and ...
The DSpace 9.0 HAL/JSON REST API behind the Utrecht University Repository. Openly readable without a key: the root at /server/api enumerates ~60 link relations, and /server/api/...
Signed SAML 2.0 EntityDescriptor for Utrecht University's identity provider, served as XML at a stable URL and carried in SURFconext's national federation metadata. Machine-read...
Utrecht University's current research information system and public research portal, running on Elsevier Pure. Two machine doors were probed on 2026-08-30: the Pure Web Service ...
aid: utrecht
name: Utrecht University
description: 'Utrecht University (Universiteit Utrecht) is a public research university in Utrecht, Netherlands, founded in
1636 and a member of the League of European Research Universities. It is one of the few universities in this catalog whose
largest machine-readable surface is its OWN engineering rather than a vendor''s: Utrecht authors and operates Yoda, a GPL-3.0
iRODS-based research data management platform (github.com/UtrechtUniversity/yoda-ruleset), and runs it in production at
portal.yoda.uu.nl. The Yoda HTTP API is real but not open — every call redirects to SolisID login unless it carries a session
cookie or a Yoda data access token — so the OpenAPIs in this repo describe a live institution-operated API that no anonymous
client can call. Alongside it the University Library runs a DSpace 9.0 institutional repository whose REST API and OAI-PMH
interface are both openly readable at dspace.library.uu.nl, and IT Services operates a SAML 2.0 identity provider registered
in the SURFconext federation. The research information system is NOT Utrecht''s: research-portal.uu.nl is an Elsevier Pure
tenancy (uu.elsevierpure.com), recorded here as a tenant relationship and not as Utrecht''s contract. There is no central
developer portal, no api.uu.nl, no public course-catalog or campus API, and no published API terms or rate limits; OSIRIS,
the student administration system, returns 403 to unauthenticated clients.'
type: Index
deliveryModel:
model: self-hosted
license: GPL-3.0
open_source: true
commercial: false
callable_host: true
label: Self-hosted · GPL-3.0 software the institution runs itself, no commercial offering
confidence: high
source:
- license
- openapi
- probe
generated: '2026-08-30'
method: probed
evidence: 'Yoda is GPL-3.0 and authored by Utrecht University; there is no commercial edition and no vendor sells it, so
the prior open-core/commercial reading was wrong. callable_host corrected to true: portal.yoda.uu.nl/api answers (302
to login) and dspace.library.uu.nl/server/api answers anonymously, both verified 2026-08-30.'
accessModel:
pricing: free
onboarding: self-serve
trial: false
try_now: true
public: false
label: Free · Self-serve signup
confidence: medium
probe_state: covered
source:
- plans
- authentication
- security
generated: '2026-09-03'
method: derived
position: Consuming
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/utrecht.png
url: https://raw.githubusercontent.com/api-evangelist/utrecht/refs/heads/main/apis.yml
tags:
- Education
- Higher Education
- University
- Netherlands
- Europe
- Research Data
- Research Data Management
- Institutional Repository
- Identity Federation
- OAI-PMH
- Open Access
- Open Science
- Library
- Open-Source
tags_raw:
- Education
- Higher Education
- University
- Netherlands
- Europe
- Research Data
- Research Data Management
- Institutional Repository
- Identity Federation
- OAI-PMH
- Open Access
- Open Science
- Library
- Open Source
created: '2026-06-03'
modified: '2026-08-30'
specificationVersion: '0.23'
apis:
- aid: utrecht:repository-oai
name: Utrecht University Repository OAI-PMH
description: 'OAI-PMH 2.0 metadata harvesting interface for the Utrecht University Library institutional repository. Verified
live 2026-08-30 on DSpace 9.0: Identify, ListMetadataFormats and ListRecords all answer, earliest datestamp 2001-01-03,
16 metadata prefixes advertised including oai_dc, mods, mets, ore, rioxx and etdms. An OpenAIRE-profiled set is served
separately at /oai/openaire.'
humanURL: https://www.uu.nl/en/university-library/utrecht-university-repository
baseURL: https://dspace.library.uu.nl/server/oai/request
tags:
- Library
- Repository
- OAI-PMH
- Metadata
- Open Access
- Research
properties:
- type: Documentation
url: https://www.uu.nl/en/university-library/utrecht-university-repository
- type: OpenAIRE
url: https://dspace.library.uu.nl/oai/openaire?verb=Identify
x-operator: institution
x-operator-evidence: dspace.library.uu.nl is under Utrecht's own registrable domain and the Identify response names repositoryName
'Utrecht University Repository' with adminEmail repository@uu.nl. DSpace is community open-source software, not a commercial
tenancy — Utrecht hosts and operates the instance. The DSpace REST/OAI contract itself is DSpace's, so no generic DSpace
OpenAPI is saved under this slug.
- aid: utrecht:utrecht-admin-api
name: Utrecht University admin API
description: The admin API from Utrecht University — 1 operation(s) for admin.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Admin
tags_raw:
- admin
properties:
- type: OpenAPI
url: openapi/utrecht-admin-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-browse-api
name: Utrecht University browse API
description: The browse API from Utrecht University — 4 operation(s) for browse.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Browse
tags_raw:
- browse
properties:
- type: OpenAPI
url: openapi/utrecht-browse-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-data-access-token-api
name: Utrecht University data_access_token API
description: The data_access_token API from Utrecht University — 4 operation(s) for data_access_token.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags: []
tags_raw:
- data_access_token
properties:
- type: OpenAPI
url: openapi/utrecht-data-access-token-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-datarequest-api
name: Utrecht University datarequest API
description: The datarequest API from Utrecht University — 34 operation(s) for datarequest.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- datarequest
properties:
- type: OpenAPI
url: openapi/utrecht-datarequest-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-folder-api
name: Utrecht University folder API
description: The folder API from Utrecht University — 7 operation(s) for folder.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Folder
tags_raw:
- folder
properties:
- type: OpenAPI
url: openapi/utrecht-folder-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-groups-api
name: Utrecht University groups API
description: The groups API from Utrecht University — 15 operation(s) for groups.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Group
tags_raw:
- groups
properties:
- type: OpenAPI
url: openapi/utrecht-groups-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-meta-api
name: Utrecht University meta API
description: The meta API from Utrecht University — 2 operation(s) for meta.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Meta
tags_raw:
- meta
properties:
- type: OpenAPI
url: openapi/utrecht-meta-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-meta-form-api
name: Utrecht University meta_form API
description: The meta_form API from Utrecht University — 2 operation(s) for meta_form.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags: []
tags_raw:
- meta_form
properties:
- type: OpenAPI
url: openapi/utrecht-meta-form-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-notifications-api
name: Utrecht University notifications API
description: The notifications API from Utrecht University — 3 operation(s) for notifications.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Notification
tags_raw:
- notifications
properties:
- type: OpenAPI
url: openapi/utrecht-notifications-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-provenance-api
name: Utrecht University provenance API
description: The provenance API from Utrecht University — 1 operation(s) for provenance.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Provenance
tags_raw:
- provenance
properties:
- type: OpenAPI
url: openapi/utrecht-provenance-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-publication-troubleshoot-api
name: Utrecht University publication_troubleshoot API
description: The publication_troubleshoot API from Utrecht University — 1 operation(s) for publication_troubleshoot.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags: []
tags_raw:
- publication_troubleshoot
properties:
- type: OpenAPI
url: openapi/utrecht-publication-troubleshoot-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-research-api
name: Utrecht University research API
description: The research API from Utrecht University — 13 operation(s) for research.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Research
tags_raw:
- research
properties:
- type: OpenAPI
url: openapi/utrecht-research-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-revisions-api
name: Utrecht University revisions API
description: The revisions API from Utrecht University — 3 operation(s) for revisions.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Revisions
tags_raw:
- revisions
properties:
- type: OpenAPI
url: openapi/utrecht-revisions-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-schema-api
name: Utrecht University schema API
description: The schema API from Utrecht University — 1 operation(s) for schema.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Schema
tags_raw:
- schema
properties:
- type: OpenAPI
url: openapi/utrecht-schema-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-schema-transformation-api
name: Utrecht University schema_transformation API
description: The schema_transformation API from Utrecht University — 1 operation(s) for schema_transformation.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Schema Transformation
tags_raw:
- schema_transformation
properties:
- type: OpenAPI
url: openapi/utrecht-schema-transformation-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-settings-api
name: Utrecht University settings API
description: The settings API from Utrecht University — 2 operation(s) for settings.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Settings
tags_raw:
- settings
properties:
- type: OpenAPI
url: openapi/utrecht-settings-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-stats-api
name: Utrecht University stats API
description: The stats API from Utrecht University — 4 operation(s) for stats.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Stats
tags_raw:
- stats
properties:
- type: OpenAPI
url: openapi/utrecht-stats-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-vault-api
name: Utrecht University vault API
description: The vault API from Utrecht University — 16 operation(s) for vault.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags:
- Vault
tags_raw:
- vault
properties:
- type: OpenAPI
url: openapi/utrecht-vault-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-vault-archive-api
name: Utrecht University vault_archive API
description: The vault_archive API from Utrecht University — 3 operation(s) for vault_archive.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags: []
tags_raw:
- vault_archive
properties:
- type: OpenAPI
url: openapi/utrecht-vault-archive-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:utrecht-vault-deaccession-api
name: Utrecht University vault_deaccession API
description: The vault_deaccession API from Utrecht University — 4 operation(s) for vault_deaccession.
humanURL: https://utrechtuniversity.github.io/yoda/
baseURL: https://portal.yoda.uu.nl/api
tags: []
tags_raw:
- vault_deaccession
properties:
- type: OpenAPI
url: openapi/utrecht-vault-deaccession-api-openapi.yml
- type: Documentation
url: https://utrechtuniversity.github.io/yoda/
- type: GitHub
url: https://github.com/UtrechtUniversity/yoda
- type: SourceCode
url: https://github.com/UtrechtUniversity/yoda-ruleset
- type: JSONSchema
url: json-schema/utrecht-yoda-result-schema.json
- type: x-vocabulary
url: vocabulary/utrecht-vocabulary.yml
- type: x-json-ld
url: json-ld/utrecht-context.jsonld
- type: x-rules
url: rules/utrecht-rules.yml
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
x-operator: institution
x-baseurl-note: 'The Yoda API is a POST-per-function router: GET https://portal.yoda.uu.nl/api returns 404 by design, while
POST /api/<fn> answers and 302s to /user/login without a session cookie or data access token. Verified 2026-08-30. Do
not ''repair'' this baseURL to a URL that merely returns 200 — the 404 is correct.'
- aid: utrecht:repository-rest
name: Utrecht University Repository REST API
x-operator: institution
x-operator-evidence: Host dspace.library.uu.nl is Utrecht's own. The API root self-identifies as dspaceName 'Utrecht University
Repository', dspaceVersion 'DSpace 9.0'. DSpace is community open-source software the University Library self-hosts; the
running service is Utrecht's, the REST contract is the DSpace project's, so the deployment is recorded here and DSpace's
generic OpenAPI is not saved under this slug.
description: 'The DSpace 9.0 HAL/JSON REST API behind the Utrecht University Repository. Openly readable without a key:
the root at /server/api enumerates ~60 link relations, and /server/api/discover/search/objects answers real queries and
returns results. This is the largest anonymously-callable machine surface Utrecht operates.'
humanURL: https://www.uu.nl/en/university-library/utrecht-university-repository
baseURL: https://dspace.library.uu.nl/server/api
tags:
- Library
- Repository
- Institutional Repository
- DSpace
- Open Access
- Research
properties:
- type: Documentation
url: https://www.uu.nl/en/university-library/utrecht-university-repository
- type: APIReference
url: https://dspace.library.uu.nl/server/api
- type: x-conformance
url: conformance/utrecht-domain-standards.yml
- aid: utrecht:identity-federation
name: Utrecht University SAML 2.0 Identity Provider Metadata
x-operator: institution
x-operator-evidence: login.uu.nl is Utrecht's own host and the entityID is https://login.uu.nl/nidp/saml2/metadata. Identity
federation is institution-operated by definition — no vendor can assert an institution's entityID. The entry is registered
in SURFconext, the Dutch R&E federation, which participates in eduGAIN.
description: Signed SAML 2.0 EntityDescriptor for Utrecht University's identity provider, served as XML at a stable URL
and carried in SURFconext's national federation metadata. Mac
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/utrecht/refs/heads/main/apis.yml
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.