--- name: University of Cape Town description: University of Cape Town public developer/API footprint review for APIs.json cataloging, with operator attribution (institution / tenant / vendor). url: https://raw.githubusercontent.com/api-evangelist/university-of-cape-town/refs/heads/main/review.yml created: '2026-06-03' modified: '2026-08-30' reviews: - date: '2026-06-03' rating: 2 summary: 'UCT has no single consolidated developer portal, but three real public machine-readable interfaces were verified live: the DataFirst NADA microdata catalog REST API returned valid JSON listing 573 surveys; the OpenUCT DSpace institutional repository served a valid OAI-PMH 2.0 Identify response (base URL https://open.uct.ac.za/server/oai/request); and the ZivaHub open data repository is built on Figshare for Institutions and is reachable through the public Figshare API. Most operational/SIS/identity systems are gated. No endpoints were fabricated; every URL below was probed during the review.' endpoints: - url: https://www.uct.ac.za/ status: 200 note: Official institution website. - url: https://www.datafirst.uct.ac.za/dataportal/index.php/api/catalog status: 200 note: NADA REST API; returned JSON with 573 surveys. - url: https://www.datafirst.uct.ac.za/dataportal/index.php/catalog status: 200 note: DataFirst NADA human-facing data catalog. - url: https://open.uct.ac.za/server/oai/request?verb=Identify status: 200 note: OpenUCT DSpace OAI-PMH 2.0 Identify response (repository name OpenUCT). - url: https://open.uct.ac.za/ status: 200 note: OpenUCT institutional repository home. - url: https://zivahub.uct.ac.za/ status: 202 note: ZivaHub open data (Figshare for Institutions); 202 from edge/CDN. - url: https://api.figshare.com/v2/articles?page_size=1 status: 200 note: Public Figshare API backing ZivaHub content. - url: https://lib.uct.ac.za/digitalservices/documentation status: 200 note: UCT Libraries digital services documentation (terms/policies, not an API spec). - date: '2026-08-30' rating: 3 pipeline: pipeline-university summary: 'Re-profiled under the university pipeline, which settles WHO OPERATES each surface before saving any contract. Four institution-operated surfaces verified live: the DataFirst NADA catalog API (582 studies; five operations re-probed, up from the two recorded in June), the OpenUCT OAI-PMH 2.0 endpoint, the OpenUCT DSpace 7.4 REST API, and — a new find — UCT''s own SAML 2.0 identity provider, published by UCT at idp.uct.ac.za as application/samlmetadata+xml and registered in SAFIRE (registry id 000002) with REFEDS R&S and SIRTFI, exported to eduGAIN. Four Figshare contracts were REMOVED: they declared api.figshare.com and Figshare Support, a host four other institutions in this cohort also claimed, while the apis.yml entries welded them onto www.datafirst.uct.ac.za so one vendor contract read as three UCT APIs. ZivaHub is retained as a tenant relationship — zivahub.uct.ac.za CNAMEs to figshare.com. Domain-standard conformance evidenced for oai-pmh, saml and datacite. No course-catalog, open-data-portal or campus-life API exists. Expect the composite score to FALL; the June number was partly Figshare''s.' endpoints: - url: https://www.datafirst.uct.ac.za/dataportal/index.php/api/catalog?limit=2 status: 200 note: NADA REST API; 582 surveys, no credential. - url: https://www.datafirst.uct.ac.za/dataportal/index.php/api/catalog/mwi-alpha-him-karonga-2002-2017-v1 status: 200 note: Study detail by IDNO; numeric id returns 400 IDNO-NOT-FOUND. - url: https://www.datafirst.uct.ac.za/dataportal/index.php/api/catalog/data_files/mwi-alpha-him-karonga-2002-2017-v1 status: 200 note: Study data files. - url: https://www.datafirst.uct.ac.za/dataportal/index.php/api/catalog/variables/mwi-alpha-him-karonga-2002-2017-v1 status: 200 note: Study variables; 25 returned. - url: https://www.datafirst.uct.ac.za/dataportal/index.php/api status: 404 note: API root itself 404s with HTML; only /catalog is routed. - url: https://www.datafirst.uct.ac.za/dataportal/index.php/api/collections status: 400 note: '{"status":"ACCESS-DENIED"} — 400, not 401/403.' - url: https://open.uct.ac.za/server/oai/request?verb=Identify status: 200 note: repositoryName OpenUCT; adminEmail lucian.botha@uct.ac.za. - url: https://open.uct.ac.za/server/api status: 200 note: application/hal+json; dspaceVersion "DSpace 7.4". - url: https://open.uct.ac.za/server/api/discover/search/objects?size=1 status: 200 note: Anonymous discovery search. - url: https://idp.uct.ac.za/simplesaml/saml2/idp/metadata.php status: 200 note: UCT-published SAML 2.0 IdP metadata, application/samlmetadata+xml. NEW FIND. - url: https://metadata.safire.ac.za/safire-prod-idp.xml status: 200 note: Same entity, signed by SAFIRE; publish-to-edugain=true. - url: https://api.datacite.org/providers?query=cape+town status: 200 note: UCT is DataCite direct member DAFI, ROR 03p74gp79. - url: https://zivahub.uct.ac.za/ status: 202 note: Empty 202 bot challenge from the Figshare edge; CNAME figshare.com. TENANT. - url: https://ucthpc.uct.ac.za/ status: 200 note: UCT HPC service pages. - url: https://cilt.uct.ac.za/artificial-intelligence status: 200 note: UCT Framework for AI in Education (June 2025). - url: https://data.uct.ac.za/ status: 0 note: DNS does not resolve — no open data portal. - url: https://api.uct.ac.za/ status: 0 note: Connection timed out. - url: https://courses.uct.ac.za/ status: 0 note: Connection timed out. - url: https://www.uct.ac.za/llms.txt status: 404 note: No llms.txt.