Ocasys Course
A course unit in the University of Groningen Ocasys catalog, derived from a live unauthenticated response of the institution-operated Ocasys backend on 2026-08-30. The University publishes no schema of its own; this describes what the endpoint actually returns.
Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| year | string | |
| code | string | Catalog course code, e.g. WMMB015-05. |
| facultyCode | string | |
| facultyTitle | object | |
| title | object | |
| fullTitle | object | |
| goals | object | |
| description | object | |
| prerequisites | object | |
| formatsExplanation | object | |
| assessmentsExplanation | object | |
| credits | number | ECTS credits. |
| hours | integer | Contact hours; -1 where the faculty has not recorded a figure. |
| levels | array | |
| formats | array | |
| courseTypes | array | |
| assessments | array | |
| courseOfferings | array | |
| prerequisiteCourses | array | |
| schemeBlocks | array | |
| organizationalUnit | string | |
| organizationalUnitTitle | object | |
| sustainableDevelopmentGoals | object | Per-course flags for the seventeen UN Sustainable Development Goals, keyed goal1..goal17. |
| enlight | string | ENLIGHT European university alliance status, e.g. NOT_ENLIGHT. |
| draft | boolean | |
| otherPeriods | boolean | |
| startYear | string | |
| endYear | stringnull | |
| modifiedAt | array | Java LocalDateTime serialized as an integer array, not an ISO-8601 string. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/university-of-groningen/main/json-schema/university-of-groningen-ocasys-course-schema.json",
"x-generated": "2026-08-30",
"x-method": "derived",
"x-source": "openapi/university-of-groningen-course-catalog-api-openapi.yml, https://ocasys.rug.nl/api/2026-2027/course/WMMB015-05",
"x-operator": "institution",
"title": "Ocasys Course",
"description": "A course unit in the University of Groningen Ocasys catalog, derived from a live unauthenticated response of the institution-operated Ocasys backend on 2026-08-30. The University publishes no schema of its own; this describes what the endpoint actually returns.",
"type": "object",
"required": ["id", "year", "code", "title", "credits"],
"properties": {
"id": { "type": "string", "format": "uuid" },
"year": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{4}$" },
"code": { "type": "string", "description": "Catalog course code, e.g. WMMB015-05." },
"facultyCode": { "type": "string" },
"facultyTitle": { "$ref": "#/$defs/LocalizedText" },
"title": { "$ref": "#/$defs/LocalizedText" },
"fullTitle": { "$ref": "#/$defs/LocalizedText" },
"goals": { "$ref": "#/$defs/LocalizedText" },
"description": { "$ref": "#/$defs/LocalizedText" },
"prerequisites": { "$ref": "#/$defs/LocalizedText" },
"formatsExplanation": { "$ref": "#/$defs/LocalizedText" },
"assessmentsExplanation": { "$ref": "#/$defs/LocalizedText" },
"credits": { "type": "number", "description": "ECTS credits." },
"hours": { "type": "integer", "description": "Contact hours; -1 where the faculty has not recorded a figure." },
"levels": { "type": "array", "items": { "type": "string" } },
"formats": { "type": "array", "items": { "type": "object" } },
"courseTypes": { "type": "array", "items": { "type": "object" } },
"assessments": { "type": "array", "items": { "type": "object" } },
"courseOfferings": { "type": "array", "items": { "type": "object" } },
"prerequisiteCourses": { "type": "array", "items": { "type": "object" } },
"schemeBlocks": { "type": "array", "items": { "type": "object" } },
"organizationalUnit": { "type": "string", "format": "uuid" },
"organizationalUnitTitle": { "$ref": "#/$defs/LocalizedText" },
"sustainableDevelopmentGoals": {
"type": "object",
"description": "Per-course flags for the seventeen UN Sustainable Development Goals, keyed goal1..goal17."
},
"enlight": { "type": "string", "description": "ENLIGHT European university alliance status, e.g. NOT_ENLIGHT." },
"draft": { "type": "boolean" },
"otherPeriods": { "type": "boolean" },
"startYear": { "type": "string" },
"endYear": { "type": ["string", "null"] },
"modifiedAt": {
"type": "array",
"items": { "type": "integer" },
"description": "Java LocalDateTime serialized as an integer array, not an ISO-8601 string."
}
},
"$defs": {
"LocalizedText": {
"type": "object",
"description": "Bilingual string; the catalog is authored in Dutch and English.",
"properties": { "en": { "type": "string" }, "nl": { "type": "string" } }
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/university-of-groningen-ocasys-course"
curl "https://apis.io/api/v1/json-schemas?limit=25"
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.
A second provider on the same verified email joins the account you already have.