TUMonline (CAMPUSonline) — Course Catalog and Identity

TUM's student information system of record, running CAMPUSonline. Two machine-readable surfaces were verified live and unauthenticated on 2026-08-19: a hypermedia course catalog REST endpoint at /tumonline/ee/rest/slc.tm.cp/student/courses returning 185 KB of linked XML (course detail, categories, instruction languages, tags, filters, business cards), and a complete OpenID Connect discovery document at the CAMPUSonline Keycloak realm advertising 108 scopes, nine grant types and PKCE. The vendor's own "Public REST API" documentation page at /tumonline/co/public/api/ returns 200 but is an unbootable Angular shell — every one of its JavaScript bundles 404s — so the contract behind these endpoints is not actually published.

API entry from apis.yml

apis.yml Raw ↑
aid: tum:tumonline
name: TUMonline (CAMPUSonline) — Course Catalog and Identity
x-operator: tenant
x-operator-basis: 'campus.tum.de is a TUM subdomain, but everything served under /tumonline is the CAMPUSonline
  product: the Keycloak realm is literally named CAMPUSonline, the REST resource namespaces (slc.tm.cp,
  brm.pm.bc) are the vendor''s, and the scope vocabulary is shared by every CAMPUSonline customer. TUM''s
  students and TUM''s data; not TUM''s contract. Recorded as a relationship — no vendor spec is saved
  under this institution.'
description: 'TUM''s student information system of record, running CAMPUSonline. Two machine-readable
  surfaces were verified live and unauthenticated on 2026-08-19: a hypermedia course catalog REST endpoint
  at /tumonline/ee/rest/slc.tm.cp/student/courses returning 185 KB of linked XML (course detail, categories,
  instruction languages, tags, filters, business cards), and a complete OpenID Connect discovery document
  at the CAMPUSonline Keycloak realm advertising 108 scopes, nine grant types and PKCE. The vendor''s
  own "Public REST API" documentation page at /tumonline/co/public/api/ returns 200 but is an unbootable
  Angular shell — every one of its JavaScript bundles 404s — so the contract behind these endpoints is
  not actually published.'
humanURL: https://campus.tum.de/tumonline/ee/ui/ca2/app/desktop/
baseURL: https://campus.tum.de/tumonline
tags:
- Course Catalog
- Student Information System
- CAMPUSonline
- OpenID Connect
- Registrar
properties:
- type: APIReference
  url: https://campus.tum.de/tumonline/ee/rest/slc.tm.cp/student/courses
- type: x-openid-configuration
  url: https://campus.tum.de/tumonline/co/public/sec/auth/realms/CAMPUSonline/.well-known/openid-configuration
- type: Website
  url: https://campus.tum.de/tumonline/ee/ui/ca2/app/desktop/
- type: x-scopes
  url: scopes/tum-scopes.yml
- type: x-authentication
  url: authentication/tum-authentication.yml