OSIRIS Course Catalogue (Caci tenancy)
EUR's course catalogue and student self-service, on Caci's OSIRIS. The public entry points courses.eur.nl and osiris.eur.nl both land on an Angular SPA shell that returns HTTP 200 with no data, which is why link presence proves nothing here. The service beneath it is real: POST /student/osiris/student/cursussen/zoeken returns a structured OSIRIS Link JSON envelope ({"result":"FAILED","failure":{"message":"Er is een interne fout opgetreden in OSIRIS Link","code":500,...}}) rather than an HTML error, and the same path returns 405 to a GET — a live JSON API that requires the vendor's request shape. No contract is published and none is saved here; the course catalogue is one of the surface classes a university genuinely runs, and at EUR it runs on somebody else's platform.