--- name: Bandung Institute of Technology description: Bandung Institute of Technology public developer/API footprint review for APIs.json cataloging. url: https://raw.githubusercontent.com/api-evangelist/itb/refs/heads/main/review.yml created: '2026-06-03' modified: '2026-09-01' reviews: - date: '2026-09-01' rating: 2 summary: >- Re-profiled under the API Evangelist university pipeline, with operator attribution settled before anything was saved. ITB still publishes no developer portal, no API gateway and no specification of any kind, and api.itb.ac.id / data.itb.ac.id still do not resolve. Two institution-operated machine-readable surfaces were confirmed by probe, not by link presence: the Apereo CAS ticket-validation endpoints at login.itb.ac.id, which return cas:serviceResponse XML, and a previously uncatalogued live OAI-PMH 2.0 data provider at journals.itb.ac.id (repositoryName "ITB Journals", adminEmail journal@itb.ac.id, 20 sets). Both run on ITB's own domain and address space; neither has an ITB-published contract, and the OJS software behind the journals platform is the Public Knowledge Project's, so no OJS spec was attributed to ITB. Its REST API is credential-gated (403). Two registry memberships were evidenced and recorded rather than treated as third-party noise: Crossref member 3613 (LPPM ITB, prefix 10.5614, 6,568 DOIs) and ROR 00apj8t60. DataCite returned zero records for ITB. No SAML or Shibboleth metadata exists — shibboleth.itb.ac.id resolves in DNS but serves nothing, and the CAS server 404s on both /cas/idp/metadata and OIDC discovery. No CNAME tenancy was found on any ITB host, so no vendor platform is hiding behind an institution hostname. The digital library's historical OAI-PMH and RSS endpoints remain dead, and lib.itb.ac.id has degraded from 200 to a 500 database error since the June review; it is no longer emitted as a pointer. Nothing was fabricated and no vendor contract was saved. endpoints: - url: https://itb.ac.id/ status: 200 note: Official institution website. - url: https://login.itb.ac.id/cas/login status: 200 note: CAS login endpoint (Apereo CAS). Institution-operated. - url: https://login.itb.ac.id/cas/p3/serviceValidate?service=https%3A%2F%2Fexample.org&ticket=ST-test status: 200 note: >- CAS 3.0 ticket validation returns application/xml cas:serviceResponse with INVALID_TICKET for a synthetic ticket. Machine-readable, no contract published. - url: https://login.itb.ac.id/cas/idp/metadata status: 404 note: No SAML IdP metadata exposed. - url: https://login.itb.ac.id/cas/oidc/.well-known/openid-configuration status: 404 note: No OIDC discovery document. - url: https://shibboleth.itb.ac.id/ status: 0 note: DNS A record 167.205.50.61 exists but the host accepts no connection. Not a surface. - url: https://journals.itb.ac.id/index.php/index/oai?verb=Identify status: 200 note: >- Live OAI-PMH 2.0 data provider on ITB's own host. repositoryName "ITB Journals", adminEmail journal@itb.ac.id, OJS 3.2.1.0. NEW FIND — not in the June profile. - url: https://journals.itb.ac.id/index.php/index/oai?verb=ListSets status: 200 note: 20 sets across the ITB journal titles (jmfs, jets, jictra, jpwk and subsets). - url: https://journals.itb.ac.id/index.php/jmfs/oai?verb=Identify status: 200 note: Per-journal OAI base URL also answers. - url: https://journals.itb.ac.id/index.php/jmfs/api/v1/issues status: 403 note: OJS REST API is credential-gated (api.403.unauthorized). Contract is PKP's, not ITB's. - url: https://api.crossref.org/prefixes/10.5614 status: 200 note: Resolves to Crossref member 3613, LPPM ITB. Registry membership, not an ITB API. - url: https://api.crossref.org/members/3613 status: 200 note: 6,568 DOIs (1,040 current, 5,528 backfile). - url: https://ror.org/00apj8t60 status: 200 note: ROR registration for Bandung Institute of Technology. - url: https://api.datacite.org/providers?query=Bandung status: 200 note: meta.total 0 — ITB has no DataCite provider or repository account. - url: https://digilib.itb.ac.id/ status: 200 note: Ganesha Digital Library institutional repository, public browse. - url: https://digilib.itb.ac.id/OAI-v2-script.php?verb=Identify status: 404 note: Historically documented OAI-PMH endpoint, still dead post-migration. - url: https://digilib.itb.ac.id/gdl.xml status: 404 note: Historically documented RSS feed, still dead. - url: https://lib.itb.ac.id/ status: 500 note: >- "Database Error". Degraded from 200 at the June 2026 review. Removed as a pointer. - url: https://gitlab.itb.ac.id/ status: 200 note: Self-hosted GitLab; redirects to /users/sign_in. Credential-gated, no public projects. - url: https://akademik.itb.ac.id/ status: 200 note: Academic portal; gated, no public API. - url: https://edunex.itb.ac.id/ status: 200 note: ITB's own LMS. SPA shell, no LTI configuration, no public API. - url: https://kuliah.itb.ac.id/portal/ status: 200 note: Course platform. /direct (Sakai Entity Broker REST) returns 404 — no REST surface. - url: https://ppid.itb.ac.id/ status: 200 note: e-PPID public information disclosure portal (Indonesian FOI). No machine-readable surface. - url: https://github.com/STEI-ITB status: 200 note: >- Faculty GitHub org (School of Electrical Engineering and Informatics), 12 public repos, last push 2022. No central ITB org exists. - url: https://itb.ac.id/apis.json status: 404 note: No APIs.json. - url: https://itb.ac.id/llms.txt status: 404 note: No llms.txt. - url: https://itb.ac.id/.well-known/security.txt status: 404 note: No security.txt. - url: https://itb.ac.id/sitemap.xml status: 404 note: No sitemap. - url: https://api.itb.ac.id/ status: 0 note: Does not resolve. - url: https://data.itb.ac.id/ status: 0 note: Does not resolve; no open-data portal found. - date: '2026-06-03' rating: 1 summary: >- ITB has no public developer portal or documented API program. Verified live: the official site, a CAS-based single sign-on at login.itb.ac.id (CAS login endpoint resolves 200), and the Ganesha Digital Library (GDL) institutional repository (200). The digital library was historically an OAI-PMH data provider, but every previously documented OAI-PMH/RSS path now returns 404 after a platform migration, so no current machine-readable harvesting endpoint could be confirmed. There is no central official ITB GitHub org (only student/department orgs), and api.itb.ac.id / data.itb.ac.id do not resolve. No endpoints were fabricated; gated and dead surfaces are reported honestly. endpoints: - url: https://itb.ac.id/ status: 200 note: Official institution website. - url: https://login.itb.ac.id/ status: 200 note: SSO landing page (Apereo CAS). - url: https://login.itb.ac.id/cas/login status: 200 note: CAS login endpoint resolves; service registration is restricted. - url: https://digilib.itb.ac.id/ status: 200 note: Ganesha Digital Library (GDL) institutional repository, public browse. - url: https://lib.itb.ac.id/ status: 200 note: ITB Library site; documents the digital library service. - url: https://digilib.itb.ac.id/OAI-v2-script.php?verb=Identify status: 404 note: Historically documented OAI-PMH endpoint, now dead post-migration. - url: https://digilib.itb.ac.id/gdl.xml status: 404 note: Historically documented RSS feed, now dead post-migration. - url: https://akademik.itb.ac.id/ status: 200 note: Academic portal; gated, no public API. - url: https://api.itb.ac.id/ status: 0 note: Does not resolve. - url: https://data.itb.ac.id/ status: 0 note: Does not resolve; no open-data portal found.