openapi: 3.2.0 info: title: Open Education Persons API x-refined-note: - x-logo differs across the merged source definitions and was not carried version: '1.0' description: 'Operations tagged persons across 3 of this provider''s published API definitions: oeapi-6.0-rc.3.yaml, ooapi-v5.yaml, open-education-api-v5-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://demo01.eduapi.nl/v6 description: SURF demo implementation - url: http://demo01.eduapi.nl/v5 description: SURF demo implementation tags: - name: Persons description: The persons API provides information about persons related to an organisation. paths: /persons: get: summary: GET /persons operationId: listPersons description: Get an ordered list of all persons. tags: - Persons parameters: - $ref: '#/components/parameters/primaryCode' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNumber' - $ref: '#/components/parameters/consumer' - $ref: '#/components/parameters/filterQuery' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/personSearch' - name: affiliations in: query description: Filter by affiliations required: false schema: $ref: '#/components/schemas/personAffiliation' responses: '200': description: OK content: application/vnd.oeapi+json: schema: allOf: - $ref: '#/components/schemas/Pagination' - type: object required: - items properties: items: type: array items: $ref: '#/components/schemas/Person' ext: $ref: '#/components/schemas/Ext' '400': $ref: '#/components/responses/ErrorBadRequest' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden' '404': $ref: '#/components/responses/ErrorNotFound' '405': $ref: '#/components/responses/ErrorMethodNotAllowed' '406': $ref: '#/components/responses/ErrorNotAcceptable' '429': $ref: '#/components/responses/ErrorTooManyRequests' '500': $ref: '#/components/responses/ErrorInternalServerError' post: summary: POST /persons operationId: createPerson description: POST a single person. tags: - Persons requestBody: required: true content: application/vnd.oeapi+json: schema: $ref: '#/components/schemas/PersonProperties' responses: '201': description: Created content: application/vnd.oeapi+json: schema: allOf: - $ref: '#/components/schemas/PersonId' - $ref: '#/components/schemas/PostResponse' '400': $ref: '#/components/responses/ErrorBadRequest' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden' '404': $ref: '#/components/responses/ErrorNotFound' '405': $ref: '#/components/responses/ErrorMethodNotAllowed' '406': $ref: '#/components/responses/ErrorNotAcceptable' '409': $ref: '#/components/responses/ErrorConflict' '429': $ref: '#/components/responses/ErrorTooManyRequests' '500': $ref: '#/components/responses/ErrorInternalServerError' servers: - url: https://demo01.eduapi.nl/v6 description: SURF demo implementation /persons/me: get: summary: GET /persons/me operationId: listPersonByMyOauthId description: 'Returns the person object for the currently authenticated user. Security must be implemented at the level of the actual deployment rather than in the core specification. This means that the specification remains neutral, while concrete security measures can be applied in practice using established techniques such as OpenID with fine-grained scopes.' tags: - Persons parameters: - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/consumer' responses: '200': description: OK content: application/vnd.oeapi+json: schema: $ref: '#/components/schemas/Person' '400': $ref: '#/components/responses/ErrorBadRequest' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden' '404': $ref: '#/components/responses/ErrorNotFound' '405': $ref: '#/components/responses/ErrorMethodNotAllowed' '406': $ref: '#/components/responses/ErrorNotAcceptable' '429': $ref: '#/components/responses/ErrorTooManyRequests' '500': $ref: '#/components/responses/ErrorInternalServerError' servers: - url: https://demo01.eduapi.nl/v6 description: SURF demo implementation /persons/{personId}: get: summary: GET /persons/{personId} operationId: listPersonById description: Get a single person. tags: - Persons parameters: - name: personId in: path description: User ID required: true schema: type: string format: uuid - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/consumer' responses: '200': description: OK content: application/vnd.oeapi+json: schema: $ref: '#/components/schemas/Person' '400': $ref: '#/components/responses/ErrorBadRequest' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden' '404': $ref: '#/components/responses/ErrorNotFound' '405': $ref: '#/components/responses/ErrorMethodNotAllowed' '406': $ref: '#/components/responses/ErrorNotAcceptable' '429': $ref: '#/components/responses/ErrorTooManyRequests' '500': $ref: '#/components/responses/ErrorInternalServerError' put: summary: PUT /persons/{personId} operationId: replacePersonById description: change the data of a single person. tags: - Persons parameters: - name: personId in: path description: User ID required: true schema: type: string format: uuid requestBody: required: true content: application/vnd.oeapi+json: schema: $ref: '#/components/schemas/Person' responses: '200': description: OK '201': description: Created '202': description: Accepted '400': $ref: '#/components/responses/ErrorBadRequest' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden' '404': $ref: '#/components/responses/ErrorNotFound' '405': $ref: '#/components/responses/ErrorMethodNotAllowed' '406': $ref: '#/components/responses/ErrorNotAcceptable' '409': $ref: '#/components/responses/ErrorConflict' '429': $ref: '#/components/responses/ErrorTooManyRequests' '500': $ref: '#/components/responses/ErrorInternalServerError' servers: - url: https://demo01.eduapi.nl/v6 description: SURF demo implementation /persons/{personId}/associations: get: summary: GET /persons/{personId}/associations description: Get a list of all associations for an individual person. tags: - Persons parameters: - name: personId in: path description: Person ID required: true schema: type: string format: uuid - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNumber' - $ref: '#/components/parameters/consumer_2' - name: associationType in: query description: Filter by association type required: false schema: type: string enum: - programOffering - courseOffering - componentOffering - name: role in: query description: Filter by role required: false schema: $ref: '#/components/schemas/associationRole' - name: state in: query description: Filter by state required: false schema: $ref: '#/components/schemas/associationState' - name: result-state in: query description: Filter by result state required: false schema: $ref: '#/components/schemas/resultState' - name: sort in: query explode: false description: 'Sort by one or more attributes, the default is ascending. Prefixing the attribute with a minus sign `-` allows for descending sort. Examples: [ATTR | -ATTR | ATTR1,-ATTR2]' required: false schema: type: array items: type: string enum: - associationId - -associationId default: - associationId example: - associationId responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Pagination_2' - type: object required: - items properties: items: type: array items: oneOf: - allOf: - $ref: '#/components/schemas/ProgramOfferingAssociation' - type: object required: - offering properties: offering: $ref: '#/components/schemas/ProgramOffering' academicSession: $ref: '#/components/schemas/AcademicSession' - allOf: - $ref: '#/components/schemas/CourseOfferingAssociation' - type: object required: - offering properties: offering: $ref: '#/components/schemas/CourseOffering' academicSession: $ref: '#/components/schemas/AcademicSession' - allOf: - $ref: '#/components/schemas/ComponentOfferingAssociation' - type: object required: - offering properties: offering: $ref: '#/components/schemas/ComponentOffering' academicSession: $ref: '#/components/schemas/AcademicSession' ext: $ref: '#/components/schemas/Ext' '400': $ref: '#/components/responses/ErrorBadRequest_2' '401': $ref: '#/components/responses/ErrorUnauthorized_2' '403': $ref: '#/components/responses/ErrorForbidden_2' '404': $ref: '#/components/responses/ErrorNotFound_2' '405': $ref: '#/components/responses/ErrorMethodNotAllowed_2' '429': $ref: '#/components/responses/ErrorTooManyRequests_2' '500': $ref: '#/components/responses/ErrorInternalServerError_2' operationId: getPersonsByPersonIdAssociations x-operation-id-source: derived servers: - url: http://demo01.eduapi.nl/v5 description: SURF demo implementation /persons/{personId}/groups: get: summary: GET /persons/{personId}/groups description: Get an ordered list of all groups for a given person, ordered by name. tags: - Persons parameters: - name: personId in: path description: Person ID required: true schema: type: string format: uuid - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNumber' - $ref: '#/components/parameters/consumer_2' - $ref: '#/components/parameters/search' - name: groupType in: query description: Filter by group type required: false schema: $ref: '#/components/schemas/groupType' - name: sort in: query explode: false description: 'Sort by one or more attributes, the default is ascending. Prefixing the attribute with a minus sign `-` allows for descending sort. Examples: [ATTR | -ATTR | ATTR1,-ATTR2]' required: false schema: type: array items: type: string enum: - groupId - name - startDate - -groupId - -name - -startDate default: - name example: - name - -groupId responses: '200': description: OK content: application/json: schema: type: object required: - pageSize - pageNumber - hasPreviousPage - hasNextPage - items properties: pageSize: type: integer format: int32 description: The number of items per page pageNumber: type: integer format: int32 description: The current page number hasPreviousPage: type: boolean description: Whether there is a previous page hasNextPage: type: boolean description: Whether there is a previous page totalPages: type: integer format: int32 description: Total number of pages items: type: array items: $ref: '#/components/schemas/Group' ext: $ref: '#/components/schemas/Ext' '400': $ref: '#/components/responses/ErrorBadRequest_2' '401': $ref: '#/components/responses/ErrorUnauthorized_2' '403': $ref: '#/components/responses/ErrorForbidden_2' '405': $ref: '#/components/responses/ErrorMethodNotAllowed_2' '429': $ref: '#/components/responses/ErrorTooManyRequests_2' '500': $ref: '#/components/responses/ErrorInternalServerError_2' operationId: getPersonsByPersonIdGroups x-operation-id-source: derived servers: - url: http://demo01.eduapi.nl/v5 description: SURF demo implementation components: parameters: consumer: name: consumer in: query description: Request entities intended for a specific consumer. The `consumer` profile allows for adding additional data, or specific rules concerning the presentation of the data. A consumer can be selected based on the key of the consumer profile. An implementation of the OEAPI SHOULD always return the consumer information inside the consumer property of the object(s) that are requested. Further information regarding the use of consumers can be found in the [documentation](https://oeapi.eu/v6.0/#/technical/consumers-and-profiles/) required: false schema: type: string primaryCode: name: primaryCode in: query description: The primaryCode of the requested item. This is often the source identifier as defined by the institution. required: false schema: type: string pageSize: name: pageSize in: query description: The number of items per page required: false schema: type: integer format: int32 default: 10 enum: - 10 - 20 - 50 - 100 - 250 pageNumber: name: pageNumber in: query description: The page number to get. Page numbers start at 1. required: false schema: type: integer format: int32 example: 1 minimum: 1 personSearch: name: q in: query description: 'Filter by persons having a given name, surname prefix, surname, display name, initials, email or secondary email containing the given search term (exact partial match, case insensitive) ' required: false schema: type: string filterQuery: name: filter_query in: query required: false x-lint-ignore: - camel-case-properties style: deepObject explode: true description: "Filter object serialised as `filter_query[field][operation]=value`.\nMultiple top-level fields are combined with AND. CSV is accepted where noted.\n\nOR blocks. Provide an array of single-field filter objects, each combined with OR.\nSerialises as `filter_query[__or][][field][operation]=value`.\n\nInspired by Storyblok (https://www.storyblok.com/docs/api/content-delivery/v2/filter-queries)\n\nWildcards:\n- Prefer using only the asterisk `*` as a wildcard for partial matches (e.g., like and not_like).\n\nImplementation note:\n- The availability and behaviour of this query functionality are entirely determined by the organisation hosting\n the API implementation. It is not mandatory for implementers to support this functionality, and it cannot be enforced \n upon organisations that provide or consume OEAPI endpoints.\n- It is up to each implementer to decide whether to support this feature. It is **not** a requirement of the OEAPI \n standard itself.\n- Consumers or working groups that wish to apply specific filtering mechanisms are encouraged to do so using \n this approach for the sake of consistency across implementations.\n\nExamples: \n- **Filter course offerings by programme, delivery, language and start date** \n `filter_query[programme.code][in]=B-IT-2025&filter_query[organisation.code][in]=RuG&filter_query[mode_of_delivery][in]=on_campus,hybrid&filter_query[language_of_instruction][in]=en-GB&filter_query[start_date][gt_date]=2025-09-01T00:00:00Z` \n \n- **Only offerings with email contact present** \n `filter_query[contacts.email][is]=not_empty`\n\n- **Provider is Org A or Org B, OR campus city contains “Utrecht”** \n `?filter_query[__or][][organisation.id][in]=org-uu,org-hku&filter_query[__or][][campus.city][like]=*Utrecht*` \n \n- **Start date after 1 Sept 2025 OR has evening/block_week tag** \n `?filter_query[__or][][start_date][gt_date]=2025-09-01T00:00:00Z&filter_query[__or][][tags][any_in_array]=evening,block_week` \n" schema: type: object properties: __or: type: array items: type: object additionalProperties: type: object properties: in: type: string description: Exact match; multiple values allowed as CSV. example: org-uu,org-hku like: type: string description: 'Partial match using wildcards. Prefer `*` as the wildcard. # Quotes are required here because YAML interprets unquoted * as an alias reference. ' example: '*Utrecht*' any_in_array: type: string description: Match if any of the CSV values occur. example: evening,block_week gt_date: type: string format: date-time description: ISO 8601 / RFC 3339 date-time. example: '2025-09-01T00:00:00Z' lt_date: type: string format: date-time description: ISO 8601 / RFC 3339 date-time. example: '2025-12-31T23:59:59Z' additionalProperties: type: object properties: is: $ref: '#/components/schemas/filterPresence' in: type: string description: Exact match; multiple values allowed as CSV. example: RuG not_in: type: string description: Negated inclusion; multiple values as CSV. example: UvA,VU like: type: string description: 'Partial match using wildcards. Prefer `*` as the wildcard. ' example: '*Amsterdam*' not_like: type: string description: 'Negated partial match using wildcards. Prefer `*` as the wildcard. ' example: '*deprecated*' any_in_array: type: string description: Match if any of the CSV values occur. example: evening,block_week all_in_array: type: string description: Match if all CSV values occur. example: evening,block_week gt_int: type: integer description: Greater than (integer). example: 5 lt_int: type: integer description: Less than (integer). example: 30 gt_float: type: number description: Greater than (float). example: 5.5 lt_float: type: number description: Less than (float). example: 12 gt_date: type: string format: date-time description: ISO 8601 date-time. example: '2025-09-01T00:00:00Z' lt_date: type: string format: date-time description: ISO 8601 date-time. example: '2025-12-31T23:59:59Z' fields: name: fields in: query required: false style: form explode: false description: "Allows clients to indicate which fields should be included in the response. \nThis parameter supports the principle of data minimisation and helps to optimise \ndata usage and performance by reducing unnecessary data transmission.\n\nThe `fields` parameter uses *nested field selection syntax* with parentheses for subfields, \nfor example: `programme(code)` or `campus(city)`. \nMultiple fields can be grouped within parentheses, for example: \n`fields=(id,title,ectsCredits,programme(code),campus(city))`.\n\nWhen omitted, the server returns all fields the client has access to. \nUnknown field names SHOULD be ignored. \nThe server MUST always include *mandatory fields* (e.g., identifiers such as `id`) \nthat are required for a valid or minimal response, even if not explicitly requested.\n\n*Important:* This is a **request hint**, not a **security feature**. \nThe server MAY disregard the request for a restricted set of fields, and the final response \nstructure MAY depend on server logic and the client’s access rights.\n\n\nIf a client requests unauthorised fields, these MUST be silently omitted or redacted.\n" schema: type: string example: (id,title,ectsCredits,programme(code),campus(city)) examples: minimal: summary: Return a minimal fieldset for course offerings value: (id,title,ectsCredits,languageOfInstruction) nested: summary: Include nested programme code and campus city value: (id,title,programme(code),campus(city)) combined: summary: Example using multiple nested fields value: (id,title,ectsCredits,programme(code,name),campus(city,country)) search: name: q in: query description: Filter by items having a name, abbreviation or description containing the given search term (exact partial match, case insensitive) required: false schema: type: string personSearch_2: name: q in: query description: Filter by persons having a givenName, surNamePrefix, surname, displayName, initials, mail or secondaryMail containing the given search term (exact partial match, case insensitive) required: false schema: type: string consumer_2: name: consumer in: query description: Request entities meant for a specific consumer. This query parameter is independent from the `consumers` attribute. See the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. required: false schema: type: string personSearch_3: name: q in: query description: Filter by persons having a givenName, surNamePrefix, surname, displayName, initials, mail or secondaryMail containing the given search term (exact partial match, case insensitive) required: false schema: type: string consumer_3: name: consumer in: query description: Request entities meant for a specific consumer. This query parameter is independent from the `consumers` attribute. See the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. required: false schema: type: string schemas: ProblemVersionNotAcceptable: allOf: - $ref: '#/components/schemas/Problem' - type: object required: - requestedVersion - supportedVersions properties: type: $ref: '#/components/schemas/type' title: $ref: '#/components/schemas/title' consumer: description: 'Indicates which party caused the version mismatch. When null, the 406 was triggered by an unsupported OEAPI version. If populated with a Consumer object, the 406 was caused by a consumer-specific version that did not match any supported version. This field MAY contain a full Consumer object or be null. ' oneOf: - $ref: '#/components/schemas/Consumer' - type: 'null' requestedVersion: type: string description: The version requested by the client. example: '5.0' supportedVersions: type: array description: Versions the server can serve, typically in descending order. items: type: string example: - '4.2' - '4.1' Language: description: 'The language used in the described entity. The value **must be a language tag that conforms to RFC 5646** (Tags for Identifying Languages, BCP 47): https://www.rfc-editor.org/rfc/rfc5646.html A tag consists of the following components, in this exact order: 1. **language** – two‑ to three‑letter codes (ISO 639‑1/‑2) **or** four‑letter codes (ISO 639‑5) **or** five‑ to eight‑letter registered language subtags. 2. **script** – optional, four letters in Title‑Case (e.g. `Latn`, `Hant`). 3. **region** – optional, either two uppercase letters (ISO 3166‑1) **or** three digits (UN M.49). 4. **variant** – zero or more subtags, each either five‑ to eight‑alphanumerics or a digit followed by three alphanumerics (e.g. `1901`, `oxendict`). 5. **extension** – zero or more extensions. Each extension starts with a *singleton* (a single alphanumeric character except `x`) followed by one or more subtags of two‑ to eight‑alphanumerics (e.g. `u‑co‑phonebk`). 6. **private‑use** – optional, the letter `x` followed by one or more subtags of one‑ to eight‑alphanumerics (e.g. `x‑private`). The most common form is a two‑letter language code (ISO 639‑1) optionally followed by a hyphen and a two‑letter country code (ISO 3166‑1), for example `en` or `en‑GB`. More specific tags are also valid, for instance `zh‑Hant‑TW` (Traditional Chinese as used in Taiwan). For sign languages two conventions are recognised: * `sgn` – e.g. `nl‑sgn‑NL` (Dutch Sign Language) * `s` – e.g. `nl‑s‑NL` (Dutch Sign Language) ' type: string minLength: 2 pattern: ^(?:(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,2}|[A-Za-z]{4}|[A-Za-z]{5,8})(?:-[A-Za-z]{4})?(?:-(?:[A-Z]{2}|[0-9]{3}))?(?:-(?:[A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*?(?:-(?:[A-WY-Za-wy-z0-9](?:-[A-Za-z0-9]{2,8})+))*?(?:-x(?:-[A-Za-z0-9]{1,8})+)?|x(?:-[A-Za-z0-9]{1,8})+)$ example: en-GB Consumer: type: object description: The additional elements of a consumer that may be provided, see the [documentation on support for specific consumers](https://oeapi.eu/v6.0/#/technical/consumers-and-profiles/) for further information about this mechanism. required: - consumerKey properties: consumerKey: description: The key of the consumer (destination) for which this information is intended. See the [consumer registry](https://oeapi.eu/v6.0/#/technical/consumers-and-profiles/). This key is used to select the additional data to be presented in the request. type: string example: test-consumer exampleProperty: description: An example of an additional property type: - string - 'null' example: value-of-example-property additionalProperties: true filterPresence: type: string description: "Presence check or special value for filter operations.\n\nInspired by Storyblok (https://www.storyblok.com/docs/api/content-delivery/v2/filter-queries)\n\nImplementation note:\n- The availability and behaviour of this query functionality are entirely determined by the organisation hosting\n the API implementation. It is not mandatory for implementers to support this functionality, and it cannot be enforced \n upon organisations that provide or consume OEAPI endpoints.\n- It is up to each implementer to decide whether to support this feature. It is **not** a requirement of the OEAPI \n standard itself.\n- Consumers or working groups that wish to apply specific filtering mechanisms are encouraged to do so using \n this approach for the sake of consistency across implementations.\n" enum: - empty - not_empty - empty_array - not_empty_array - 'true' - 'false' - 'null' - not_null example: not_empty codeType: type: string description: 'The type of code or identifier. The predefined values are: | Code | Description | |---------------------------|-------------------------------------------------------------------| | `account_id` | Identifier for an account. | | `bag_id` | Identifier for a building in the Dutch Building and Address | | | Registry (BAG). | | `building_id` | Identifier for a building. | | `component_code` | Identifier for a component (part of a course). | | `eckid` | Identifier assigned within the Dutch *Educatieve ContentKeten iD* | | | framework. It enables persistent identification and exchange of | | | digital learning resources within the Dutch educational sector for| | | EQF levels 1, 2, 3 and 4. Comparable international approaches | | | include LRMI, DOI and Handle | | | identifiers for learning resources. | | `email_address` | An email address. | | `esi` | European Student Identifier. | | `group_code` | Identifier for a group of people. | | `group_type_code` | Identifier for the type of group. | | `identifier` | Generic identifier. | | `institution_code` | Registration number of an educational institution. In the | | | Netherlands, the former BRIN code has been replaced by the | | | institution code, issued by the Ministry of Education, Culture | | | and Science (OCW). | | `isbn` | International Standard Book Number (for books). | | `issn` | International Standard Serial Number (for periodicals). | | `kvk_organisation_id` | Identifier for a KvK (Dutch Chamber of Commerce) registered | | | organisation. | | `kvk_establishment_id` | Identifier for a specific establishment of a KvK | | | (Dutch Chamber of Commerce) registered organisation. | | `leerbedrijf_id` | Dutch registration/accreditation id for organisations offering | | | internships for vocational education students. | | `national_identity_number`| Government-assigned personal identifier (e.g. NI number in the UK,| | | or *personnummer* in Sweden). | | `offering_code` | Identifier for a specific offering (programme, course or | | | component). | | `organisation_id` | Identifier for an organisation. | | `orcid` | Open Researcher and Contributor ID. | | `product_id` | Identifier for a product. | | `programme_code` | Identifier of a programme (a recognised collection of courses). | | | In the Netherlands, the former CREBO and CROHO codes have been | | | replaced by the programme code as registered in RIO, under the | | | authority of OCW. | | `room_code` | Identifier for a room. | | `schac_home` | Home organisation represented by its domain name. | | `student_number` | Identifier for a student. | | `studielink_number` | Identifier assigned to a student by Studielink (Dutch central | | | enrolment system). | | `system_id` | Identifier used within a specific system. | | `username` | User login name. | | `uuid` | Universally unique identifier. | This is an *extensible enumeration*. Use the prefix `x-` for custom values. ' x-ooapi-extensible-enum: - account_id - bag_id - building_id - component_code - eckid - email_address - esi - group_code - group_type_code - identifier - institution_code - isbn - issn - kvk_organisation_id - kvk_establishment_id - leerbedrijf_id - offering_code - organisation_id - orcid - product_id - programme_code - room_code - schac_home - student_number - studielink_number - system_id - username - uuid - national_identity_number example: identifier type: type: string format: uri maxLength: 2048 description: "An absolute URI that identifies the problem type. When dereferenced, \nit should provide human-readable documentation.\n" example: https://example.org/problems/bad-request Problem: type: object description: 'A problem details object, conforming to RFC 7807 (Problem Details for HTTP APIs). See https://datatracker.ietf.org/doc/html/rfc7807. It provides a machine-readable format for error conditions, including a type URI, title, status code, and optional detail and instance fields. This ensures consistent handling of error responses across the API. ' required: - type - status - title properties: type: type: string format: uri maxLength: 2048 description: "An absolute URI that identifies the problem type. When dereferenced, \nit should provide human-readable documentation.\n" example: https://example.org/problems/bad-request title: type: string description: A short, human-readable summary of the problem type example: Resource not found status: type: integer format: int32 description: "The HTTP status code generated by the origin server for this occurrence \nof the problem.\n" example: 404 detail: type: - string - 'null' description: 'A human-readable explanation specific to this occurrence of the problem ' example: The course with id 'abc123' could not be found in the catalogue. instance: type: - string - 'null' format: uri maxLength: 2048 description: 'An absolute URI that identifies the specific occurrence of the problem. ' example: https://api.example.org/courses/abc123 Ext: type: object description: Object for additional non-standard attributes PersonProperties: type: object description: A person that has a relationship with this institution anyOf: - required: - surname - primaryCode - activeEnrolment - title: With required given name required: - givenName - primaryCode - activeEnrolment - title: With required preferred name required: - preferredName - primaryCode - activeEnrolment properties: primaryCode: description: The primary human readable identifier for the person. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry' example: codeType: studentNumber code: 0 givenName: type: - string - 'null' description: The first name of this person maxLength: 256 example: Martina alternateName: type: - string - 'null' description: The Name a person chooses to use. this is part of a Self Sovereign name e.g. in the eduId process comparable to schema.org alternateName maxLength: 256 example: Marieke preferredName: type: - string - 'null' description: The name how the person would like to be called. Usually first name of this person. In line with ISO/IEC 24760 – Identity Management Vocabulary maxLength: 256 example: Maartje surnamePrefix: type: - string - 'null' description: The prefix of the family name of this person example: van surname: type: string description: The family name of this person maxLength: 256 example: Damme displayName: type: - string - 'null' description: The name of this person which will be displayed maxLength: 256 example: Maartje van Damme initials: type: - string - 'null' description: The initials of this person example: MCW idCheckName: type: - string - 'null' description: "The name of the person as printed on official identification documents\n(driving licence, passport or identity card). This MUST be formatted as\n\"surname prefix surname, given names\" (separating surnamePrefix and surname\nwith a single space, and surname and given names with a comma and space).\n\nIf the surname or given names are not available or are secret, the values\n\"secret\" and \"not_available\" are recommended. The surname prefix may be\nomitted. E.g. \"van der Graaf, Jacobus Adrianus\". \n\nOptionally, the value of\nthe student number can be added to this field by appending it at the end,\nseparated by a comma. E.g. \"van der Graaf, Jacobus Adrianus, s12345678\"\n" example: van der Graaf, Jacobus Adrianus, s12345678 activeEnrolment: type: boolean description: Whether this person has an active enrolment. example: false dateOfBirth: type: - string - 'null' description: "The date of birth of this person, using the `full-date` format as defined in \nRFC 3339 (section 5.6).\n" format: date example: '2003-09-30' cityOfBirth: type: - string - 'null' description: The city of birth of this person example: Utrecht countryOfBirth: oneOf: - $ref: '#/components/schemas/Country' - type: 'null' nationality: oneOf: - $ref: '#/components/schemas/Nationality' - type: 'null' dateOfNationality: type: - string - 'null' description: "The date of nationality of this person, using the `full-date` format as defined in \nRFC 3339 (section 5.6).\n" format: date example: '2003-09-30' affiliations: type: - array - 'null' items: $ref: '#/components/schemas/personAffiliation' email: type: - string - 'null' description: The primary email address of this person format: email maxLength: 256 example: vandamme.mcw@universiteitvanharderwijk.nl secondaryEmail: type: - string - 'null' description: The secondary email address of this person format: email maxLength: 256 example: poekie@xyz.nl telephoneNumber: type: - string - 'null' description: The telephone number of this person maxLength: 256 example: +31 123 456 789 mobileNumber: type: - string - 'null' description: The mobile number of this person maxLength: 256 example: +31 612 345 678 photoSocial: type: - string - 'null' description: The url of the informal picture of this person format: uri maxLength: 2048 example: https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Placeholder_female_superhero_c.png/203px-Placeholder_female_superhero_c.png photoOfficial: type: - string - 'null' description: The url of the official picture of this person format: uri maxLength: 2048 example: https://upload.wikimedia.org/wikipedia/commons/6/66/Johannes_Vermeer_%281632-1675%29_-_The_Girl_With_The_Pearl_Earring_%281665%29.jpg gender: oneOf: - $ref: '#/components/schemas/gender' - type: 'null' titlePrefix: type: - string - 'null' description: A title prefix to be used for this person example: drs titleSuffix: type: - string - 'null' description: A title suffix to be used for this person example: BSc office: type: - string - 'null' description: The name of the office where this person is located example: Zernikecomplex address: oneOf: - $ref: '#/components/schemas/Address' - type: 'null' ICEName: type: - string - 'null' description: Full name of In Case of Emergency contact maxLength: 256 example: Janne ICEPhoneNumber: type: - string - 'null' description: Phone number of In Case of Emergency contact maxLength: 256 example: +31 623 456 789 ICERelation: oneOf: - $ref: '#/components/schemas/ICERelationType' - type: 'null' languageOfChoice: type: - array - 'null' description: The language(s) of choice for this person according to RFC4647. For details see the descriptions in the Language schema. items: $ref: '#/components/schemas/Language' otherCodes: type: - array - 'null' description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry' example: - codeType: nationalIdentityNumber code: '00000' assignedNeeds: description: "Assigned resources or time based on the needs of a person. \nThey describe which needs the student requires under which conditions e.g. 15% extra time for tests that requires maths skills.\nThese needs can later in the flows be mapped to a personalNeed for a specific association.\nExamples of such assignedNeeds: \"ExtraTimeOnlyMaths25%\", \"ExtraTimeOnlyMaths30Min\", \"ExtraTimeDigitalTests25%\"\n" type: - array - 'null' items: type: object properties: code: description: Human readable value for the code/identifier type: - string - 'null' example: ExtraTimeOnlyMaths25% description: type: - array - 'null' description: The description of this assignedNeed. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString' example: - language: en-GB value: Extra time for Maths tests shown in a percentile of the overall time of a test startDateTime: type: - string - 'null' description: The moment on which this assigned need starts, RFC3339 (date-time) format: date-time example: '2025-05-30T20:00:00+01:00' endDateTime: type: - string - 'null' description: The moment on which this assigned need ends, RFC3339 (date-time) format: date-time example: '2025-07-30T20:00:00+01:00' minItems: 0 consumer: oneOf: - $ref: '#/components/schemas/Consumer' - type: 'null' ext: oneOf: - $ref: '#/components/schemas/Ext' - type: 'null' LanguageTypedString: type: object description: A String with an associated language code. IF this object is used both fields are mandatory. required: - language - value properties: language: $ref: '#/components/schemas/Language' value: description: String to describe the entity. type: string example: programme that is a place holder for all courses that are made available for student mobility example: language: en-GB value: programme that is a place holder for all courses that are made available for student mobility ICERelationType: type: string description: 'The type of relationship between the person and their In Case of Emergency (ICE) contact: - partner: Spouse or life partner - parent: Biological, adoptive, or legal parent - other: Any other type of relationship (e.g. sibling, friend, neighbour) This is an *extensible enumeration*. Use the prefix `x-` for custom values. ' x-ooapi-extensible-enum: - partner - parent - other example: partner addressType: type: string description: "The type of address, indicating its intended use:\n \n- postal: Used for receiving post\n- visit: Used for physical visits\n- deliveries: Used for deliveries\n- invoicing: Used for invoicing purposes\n- teaching: The location where educational activities take place\n\nThis is an *extensible enumeration*. Use the prefix `x-` for custom values.\n" x-ooapi-extensible-enum: - postal - visit - deliveries - invoicing - teaching example: postal Nationality: type: object description: 'An object indicating nationality based on at least one iso-3166 code. In situations where more than one iso-3166 code is provided the codes have address the same country. ' properties: iso3166-1-alpha2: type: - string - 'null' minLength: 2 maxLength: 2 description: A country code based on https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 example: NL iso3166-1-alpha3: type: - string - 'null' minLength: 3 maxLength: 3 description: A country code based on https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3 example: NLD iso3166-3: type: - string - 'null' minLength: 4 maxLength: 4 description: 'A nationality code for a country that no longer exists on https://en.wikipedia.org/wiki/ISO_3166-3 It is not advised to use the original iso3166-1 for such a country since country codes can get reassigned to new countries ones the original country code is officially obsolete. It is possible that a person has a nationality of a country that does not exist any more (after a country got split up like CZ and YU)\ and never applied for nationality of one of the new countries. ' example: ANHH PersonId: type: object properties: personId: type: string description: Unique id of this person format: uuid example: 123e4567-e89b-12d3-a456-426614174000 required: - personId Country: type: object description: 'An object indicating a country based on at least one iso-3166 code. In situations where more than one ISO-3166 code is provided, the codes must refer to the same country. ' properties: iso3166-1-alpha2: type: - string - 'null' minLength: 2 maxLength: 2 description: A country code based on https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 example: NL iso3166-1-alpha3: type: - string - 'null' minLength: 3 maxLength: 3 description: A country code based on https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3 example: NLD iso3166-2: type: - string - 'null' minLength: 5 maxLength: 6 description: A country subdivision code based on https://en.wikipedia.org/wiki/ISO_3166-2 example: BQ-BO iso3166-3: type: - string - 'null' minLength: 4 maxLength: 4 description: 'A code for a country that no longer exists is listed on ISO 3166-3 (https://en.wikipedia.org/wiki/ISO_3166-3). Implementations should refrain from using the original ISO 3166-1 code for such a country since country codes can be reassigned to new countries once the original country code is officially declared obsolete. ' example: ANHH gender: type: string description: 'The gender of this person, based on international standards for education and data interoperability. The values follow practices from agencies such as: - European Commission (EULF, INSPIRE, GeoDCAT-AP) - Edustandaard, EUNIS - m: male - f: female - x: non-binary or gender-diverse, officially registered - o: other gender identity, not officially classified as m/f/x - u: unknown or not registered - n: not applicable, e.g. for non-person entities or gender-irrelevant use cases ' x-ooapi-extensible-enum: - m - f - x - o - u - n example: f Address: type: object description: The full street address required: - addressType properties: addressType: $ref: '#/components/schemas/addressType' street: type: - string - 'null' description: The street name example: Moreelsepark streetNumber: type: - string - 'null' description: The street number example: '48' additional: type: - array - 'null' description: Further details like building name, suite, apartment number, etc. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString' example: - language: en-GB value: On the other side of the road postCode: type: - string - 'null' description: Code to help sort and deliver mail also known as Postal code and ZIP code example: 3511 EP city: type: - string - 'null' description: name of the city / locality example: Utrecht countryCode: oneOf: - $ref: '#/components/schemas/Country' - type: 'null' geolocation: type: - object - 'null' description: Geolocation of the entrance of this address (WGS84 coordinate reference system) required: - latitude - longitude properties: latitude: type: number format: double example: 52.089123 longitude: type: number format: double example: 5.113337 ext: oneOf: - $ref: '#/components/schemas/Ext' - type: 'null' PostResponse: type: object description: A system message as a response to a POST message required: - message properties: message: description: information displayed to user type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString' example: - language: en-GB value: Your enrolment was partly successful, you have been placed on the waiting list redirect: description: URL where additional information can be found e.g. by use of deep link type: - string - 'null' format: uri maxLength: 2048 example: https://university.example.org/ personAffiliation: type: string description: 'The affiliations of this person — the roles or relationships a person has with the organisation providing this endpoint: - student: Enrolled learner or participant in educational offerings - employee: Staff member employed by the organisation (e.g. teacher, administrator) - guest: External person temporarily affiliated, without formal student or employee status This is an extensible enumeration. Use the prefix `x-` for custom values. ' x-ooapi-extensible-enum: - student - employee - guest example: student IdentifierEntry: type: object properties: codeType: $ref: '#/components/schemas/codeType' code: description: Human readable value for the code/identifier type: string example: 1234qwe12 required: - codeType - code additionalProperties: false example: codeType: identifier code: 1234qwe12 title: type: string description: A short, human-readable summary of the problem type example: Resource not found Pagination: type: object required: - pageSize - pageNumber - hasPreviousPage - hasNextPage properties: pageSize: type: integer format: int32 description: The number of items per page example: 10 pageNumber: type: integer format: int32 description: The current page number example: 1 minimum: 1 hasPreviousPage: type: boolean description: Whether there is a previous page example: false hasNextPage: type: boolean description: Whether there is a previous page example: true totalPages: type: - integer - 'null' format: int32 description: Total number of pages example: 8 Person: allOf: - $ref: '#/components/schemas/PersonId' - $ref: '#/components/schemas/PersonProperties' personAffiliations: type: array description: 'The affiliations of this person, the relations a person has with the organization providing this endpoint - student: student - employee: medewerker - guest: gast ' items: type: string enum: - student - employee - guest example: student CourseOfferingAssociation: allOf: - $ref: '#/components/schemas/Association' - type: object properties: result: $ref: '#/components/schemas/CourseResult' CourseId: type: object description: An object describing the metadata of a course required: - courseId properties: courseId: type: string description: Unique id of this course format: uuid example: 123e4567-e89b-12d3-a456-426614174000 readOnly: true resultValueType: type: string description: The result value type for this offering enum: - pass-or-fail - US letter - UK letter - 0-100 - 1-10 example: 1-10 EducationSpecificationProperties: type: object description: "The specification of an education object. This specification allows for other education objects to be derived from it.\nIt is used to aggregate education objects from a supplying institution.\nIt clusters programs to a main educationSpecification that is used in registries such as RIO. \n" required: - primaryCode - educationSpecificationType - name properties: primaryCode: description: "The primary human readable identifier for the entity. \nThis will often take the form of a human readable code as defined by the institution or region\n" $ref: '#/components/schemas/IdentifierEntry_2' otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' example: - codeType: crohoCreboCode code: '1234123' educationSpecificationType: $ref: '#/components/schemas/educationSpecificationType' name: type: array items: $ref: '#/components/schemas/LanguageTypedString_2' description: The name of this education specification example: - language: en-GB value: Bachelor Chemical technology abbreviation: type: string description: The abbreviation of this program maxLength: 256 example: B Scheikundige Technologie description: type: array items: $ref: '#/components/schemas/LanguageTypedString_2' description: The description of this program. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. example: - language: en-GB value: program that is a place holder for all courses that are made available for student mobility formalDocument: $ref: '#/components/schemas/formalDocument' level: $ref: '#/components/schemas/level' sector: $ref: '#/components/schemas/sector' levelOfQualification: $ref: '#/components/schemas/levelOfQualification' fieldsOfStudy: type: string description: Field(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). maxLength: 4 example: '0732' studyLoad: $ref: '#/components/schemas/StudyLoadDescriptor' learningOutcomes: type: array description: Statements that describe the knowledge or skills students should acquire by the end of a particular course or program (ECTS-learningoutcome). items: type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: 'Executable knowledge of Chemical technology, including: Acquire knowledge of research paradigms.' link: type: string description: URL of the program's website format: uri maxLength: 2048 example: https://bijvak.nl parent: description: The educationSpecification that is the parent of this educationSpecification if it exists. [`expandable`](#tag/education_specification_model) oneOf: - $ref: '#/components/schemas/Identifier' title: educationSpecificationId - $ref: '#/components/schemas/EducationSpecification' title: EducationSpecification children: type: array description: The EducationSpecifications that have this EducationSpecification as their parent. [`expandable`](#tag/education_specification_model) items: oneOf: - $ref: '#/components/schemas/Identifier' title: educationSpecificationId - $ref: '#/components/schemas/EducationSpecification' title: EducationSpecification organization: description: 'The organization that manages this group. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Organization object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: rio educationSpecificationSubType: variant category: - business_and_project_support - economy ext: $ref: '#/components/schemas/Ext' componentType: type: string description: 'The component type - test: tentamen - lecture: college - practical: practicum - tutorial: werkcollege - consultation: consultatie - project: project - workshop: workshop - excursion: excursie - independent study: zelfstudie - external: extern - skills training: vaardighedentraining ' enum: - test - lecture - practical - tutorial - consultation - project - workshop - excursion - independent study - external - skills training example: test LanguageTypedString_2: type: object description: A String with an associated language code. properties: language: description: The language used in the described entity. A string formatted according to RFC3066. type: string pattern: ^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$ value: description: String to describe the entity. type: string example: language: en-GB value: program that is a place holder for all courses that are made available for student mobility level: type: string description: 'The level of this course (ECTS-year of study if applicable) - secondary vocational education: mbo - secondary vocational education 1: mbo 1, corresponds to levelOfQualification 1 - secondary vocational education 2: mbo 2, corresponds to levelOfQualification 2 - secondary vocational education 3: mbo 3, corresponds to levelOfQualification 3 - secondary vocational education 4: mbo 4, corresponds to levelOfQualification 4 - associate degree: associate degree, corresponds to levelOfQualification 5 - bachelor: bachelor, corresponds to levelOfQualification 6 - master: master, corresponds to levelOfQualification 7 - doctoral: doctoraal, corresponds to levelOfQualification 8 - undefined: onbepaald - undivided: ongedeeld - nt2-1: NT2 niveau 1 - nt2-2: NT2 niveau 2 ' enum: - secondary vocational education - secondary vocational education 1 - secondary vocational education 2 - secondary vocational education 3 - secondary vocational education 4 - associate degree - bachelor - master - doctoral - undefined - undivided - nt2-1 - nt2-2 example: master passState: type: string description: The state of this result enum: - unknown - passed - failed example: passed ProgramResult: allOf: - $ref: '#/components/schemas/Result' - type: object required: - studyLoad properties: studyLoad: $ref: '#/components/schemas/StudyLoadDescriptor' resultState: type: string description: The state of this result enum: - in progress - postponed - completed - queued example: completed academicSessionType: type: string description: 'The type of this Academic Session This is an *extensible enumeration*. - academic year: academic year - semester: semester, typically there are two semesters per academic year - trimester: trimester, typically there are three semesters per academic year - quarter: quarter, typically there are four quarters per academic year - testing period: a period in which tests take place - period: any other period in an academic year Implementations are allowed to add additional values to those above, as long as they do not overlap in definition to existing values. ' example: semester x-ooapi-extensible-enum: - academic year - semester - trimester - quarter - testing period - period gender_2: type: string description: The gender of this person enum: - M - F - U - X example: F Address_2: type: object description: The full street address required: - addressType properties: addressType: $ref: '#/components/schemas/addressType_2' street: type: string description: The street name example: Moreelsepark streetNumber: type: string description: The street number example: '48' additional: type: array description: Further details like building name, suite, apartment number, etc. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: On the other side of the road postalCode: type: string description: Postal code example: 3511 EP city: type: string description: name of the city / locality example: Utrecht countryCode: type: string description: the country code according to [iso-3166-1-alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) example: NL geolocation: type: object description: Geolocation of the entrance of this address (WGS84 coordinate reference system) required: - latitude - longitude properties: latitude: type: number format: double example: 52.089123 longitude: type: number format: double example: 5.113337 ext: $ref: '#/components/schemas/Ext' Offering: allOf: - $ref: '#/components/schemas/OfferingId' - $ref: '#/components/schemas/OfferingProperties' modeOfStudy: type: string description: "Indicates whether the education is full-time, part-time, dual or self-paced.\n - full-time: fulltime\n - part-time: parttime\n - dual training: duaal\n - self-paced: eigen tempo\n" enum: - full-time - part-time - dual training - self-paced AssociationId: type: object properties: associationId: type: string description: Unique id of this association format: uuid example: 123e4567-e89b-12d3-a456-426614174000 readOnly: true required: - associationId Building: type: object description: An object describing a building and the properties of a building. required: - buildingId - name - address - primaryCode properties: buildingId: type: string description: Unique id of this building format: uuid example: 123e4567-e89b-12d3-a456-331214174000 primaryCode: description: The primary human readable identifier for this building. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' example: codeType: buildingId code: '45' abbreviation: type: string description: The abbreviation of the name of this building maxLength: 256 example: Bb name: type: array description: The name of this building minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Beatrix building description: type: array description: The description of this building. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: external rooms location for exams address: $ref: '#/components/schemas/Address_2' otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' example: - codeType: bagId code: 0344100000139910 consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' Organization: type: object description: A description of a group of people working together to achieve a goal required: - organizationId - organizationType - name - shortName - primaryCode properties: organizationId: type: string description: Unique id of this organization format: uuid example: 123e4567-e89b-12d3-a456-123514174000 readOnly: true primaryCode: description: The primary human readable identifier for the organization. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' example: codeType: orgId code: Org01-Root readOnly: true organizationType: $ref: '#/components/schemas/organizationType' name: type: array description: The name of the organization minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: nl-NL value: Coöperatie SURF U.A. shortName: type: string description: Short name of the organization maxLength: 256 example: SURF description: type: array description: Any general description of the organization should clearly mention the type of higher education organization, especially in the case of a binary system. In Dutch; universiteit (university) or hogeschool (university of applied sciences). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: nl-NL value: SURF is een coöperatieve vereniging van Nederlandse onderwijs- en onderzoeksinstellingen waarin de leden hun krachten bundelen. De leden zijn eigenaar van SURF. addresses: type: array description: Addresses of this organization items: $ref: '#/components/schemas/Address_2' link: type: string description: URL of the organization's website format: uri maxLength: 2048 example: https://surf.nl logo: type: string description: Logo of this organization format: uri maxLength: 2048 example: https://www.surf.nl/themes/surf/logo.svg otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. minItems: 1 items: $ref: '#/components/schemas/IdentifierEntry_2' example: - codeType: brin code: 00AA - codeType: kvk code: '12345678' parent: description: 'The organizational unit which is the parent of this organization. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Organization object children: type: array description: 'All the organizational units for which this organization is the parent. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' items: oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Organization object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' Identifier: type: string description: An identifier of another resource. format: uuid qualificationAwarded: type: string description: Type of qualificaton that can be obtained on finishing the program enum: - AD - BA - BSc - LLB - MA - MSc - LLM - Phd - None example: None ComponentOffering: allOf: - $ref: '#/components/schemas/Offering' - type: object required: - startDateTime - endDateTime properties: startDateTime: type: string description: The moment on which this offering starts, RFC3339 (date-time) format: date-time example: '2020-12-15' endDateTime: type: string description: The moment on which this offering ends, RFC3339 (date-time) format: date-time example: '2020-12-16' enrollStartDate: type: string description: The first day on which a student can enroll for this course. format: date enrollEndDate: type: string description: The last day on which a student can enroll for this course. format: date resultWeight: type: integer description: The result weight of this offering minimum: 0 maximum: 100 example: 100 addresses: type: array description: Addresses for this offering items: $ref: '#/components/schemas/Address_2' priceInformation: type: array description: Price information for this offering. items: $ref: '#/components/schemas/Cost' room: $ref: '#/components/schemas/Room' component: description: 'The component that is offered in this componentoffering. [`expandable`](#tag/component_model) By default only the `componentId` (a string) is returned. If the client requested an expansion of `component` the full component object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: componentId - $ref: '#/components/schemas/Component' title: Component object courseOffering: description: 'The courseoffering where this componentoffering is related to. [`expandable`](#tag/course_offering_model) By default only the `courseOfferingId` (a string) is returned. If the client requested an expansion of `courseOffering` the full courseOffering object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: courseOfferingId - $ref: '#/components/schemas/CourseOffering' title: CourseOffering object organization: description: 'The organization that manages this componentoffering. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Organization object Consumer_2: type: object description: Object for communicating data to a specific consumer (destination). This object has no relationship with the `consumer` query parameter. required: - consumerKey properties: consumerKey: description: The key of the consumer (destination) for which this information is intended. See the [consumer registry](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information. type: string additionalProperties: true OfferingId: type: object description: ID of Either a program, course or component offering which descrbes the program, course or offering in time required: - offeringId properties: offeringId: type: string description: Unique id of this offering format: uuid example: 123e4567-e89b-12d3-a456-134564174000 readOnly: true costType: type: string description: "The type of the cost. This is an *extensible enumeration*.\n\nThe following values have been defined in the specification:\n - `STAP eligible`: the costs that a student can get STAP subsidy for\n - `total costs`: the total costs that a student is to pay to follow this offering\n\nImplementations are allowed to add additional values to those above, as long as they do not overlap in definition to existing values.\n" example: total costs x-ooapi-extensible-enum: - STAP eligible - total costs associationState: type: string description: The state of this association enum: - pending - canceled - denied - associated - queued example: associated addressType_2: type: string description: 'Address type - postal: post - visit: bezoek - deliveries: bezorg - billing: factuur - teaching: the address where education takes place ' enum: - postal - visit - deliveries - billing - teaching ComponentOfferingAssociation: allOf: - $ref: '#/components/schemas/Association' - type: object properties: result: $ref: '#/components/schemas/ComponentResult' Room: type: object description: An area within a building where education can take place required: - roomId - roomType - name - primaryCode properties: roomId: type: string description: Unique id for this room format: uuid example: 123e4567-e89b-12d3-a456-332114174000 primaryCode: description: The primary human readable identifier for the room. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' example: codeType: roomCode code: Bb4.54 roomType: $ref: '#/components/schemas/roomType' abbreviation: type: string description: The abbreviation of the name of this room maxLength: 256 example: Bb4.54 name: type: array description: The name of this room minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Beatrix building room 4.54 description: type: array description: The description of this room. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: External education and exam room 4.54 totalSeats: type: integer format: int32 description: The total number of seats located in the room example: 300 availableSeats: type: integer format: int32 description: The total number of available (=non-reserved) seats in the room example: 200 floor: type: string description: The floor on which this room is located example: '4' wing: type: string description: The wing in which this room is located example: None geolocation: type: object description: Geolocation of the entrance of this room (WGS84 coordinate reference system) required: - latitude - longitude properties: latitude: type: number format: double example: 52.088255 longitude: type: number format: double example: 5.106669 otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' building: description: 'The building in which the room is located. [`expandable`](#tag/building_model) By default only the `buildingId` (a string) is returned. If the client requested an expansion of `building` the full building object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: buildingId - $ref: '#/components/schemas/Building' title: Building object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' ProgramOffering: allOf: - $ref: '#/components/schemas/Offering' - type: object required: - startDate - endDate properties: startDate: type: string description: The moment on which this offering starts, RFC3339 (full-date) format: date example: '2019-08-21' endDate: type: string description: The moment on which this offering ends, RFC3339 (full-date) format: date example: '2023-06-15' enrollStartDate: type: string description: The first day on which a student can enroll for this program. format: date example: '2019-05-01' enrollEndDate: type: string description: The last day on which a student can enroll for this program. format: date example: '2019-08-01' flexibleEntryPeriodStart: type: string description: If this is a program wherein participants can start at various moments, without missing anything, use this attribute in combination with `flexibleEntryPeriodEnd`. format: date flexibleEntryPeriodEnd: type: string description: If this is a program wherein participants can start at various moments, without missing anything, use this attribute in combination with `flexibleEntryPeriodStart`. format: date addresses: type: array description: Addresses for this offering items: $ref: '#/components/schemas/Address_2' priceInformation: type: array description: Price information for this offering. items: $ref: '#/components/schemas/Cost' minItems: 1 program: description: 'The Program that is offered in this programoffering. [`expandable`](#tag/program_model) By default only the `programId` (a string) is returned. If the client requested an expansion of `program` the full program object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: programId - $ref: '#/components/schemas/Program' title: Program object organization: description: 'The organization that manages this programeoffering. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Organization object PostResponse_2: type: object description: A system message as a response to a POST message required: - message properties: message: description: information displayed to user type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Your enrollment was partly succesful, you have been placed on the waitinglist redirect: description: URL where additional information can be found e.g. by use of deeplink type: string format: uri Program: allOf: - $ref: '#/components/schemas/ProgramId' - $ref: '#/components/schemas/ProgramProperties' - properties: validFrom: description: The first day this program is valid (inclusive). type: string format: date validTo: description: The day this program ceases to be valid (e.g. exclusive). type: string format: date Group: type: object description: 'A group is simply a collection of persons. Groups can be used to accommodate various usecases. Groups MAY optionally have a relation to an Offering, however the meaning of such relations is left unspecified and is left up to the implementer. ' required: - groupId - groupType - name - primaryCode properties: groupId: type: string description: Unique id for this group format: uuid example: 123e4567-e89b-12d3-a456-426614174000 primaryCode: description: The primary human readable identifier for this group. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' example: codeType: groupCode code: group-abc987 groupType: $ref: '#/components/schemas/groupType' name: type: array description: The name of this group minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: statistics students description: type: array description: The description of this group minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: The group of students that follow statistics classes startDate: type: string description: The day on which this group starts being active, RFC3339 (full-date) format: date example: '2020-08-17' endDate: type: string description: The day on which this group ends being active, RFC3339 (full-date) format: date example: '2020-12-18' personCount: type: number description: The number of persons that are member of this group format: int32 minimum: 0 example: 183 otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: x-test-consumer additional: custom attributes: here organization: description: 'The organization that manages this group. [`expandable`](.#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Expanded organization ext: $ref: '#/components/schemas/Ext' CourseOffering: allOf: - $ref: '#/components/schemas/Offering' - type: object required: - startDate - endDate properties: startDate: type: string description: The moment on which this offering starts, RFC3339 (full-date) format: date example: '2019-08-21' endDate: type: string description: The moment on which this offering ends, RFC3339 (full-date) format: date example: '2019-10-23' enrollStartDate: type: string description: The first day on which a student can enroll for this course. format: date example: '2019-05-01' enrollEndDate: type: string description: The last day on which a student can enroll for this course. format: date example: '2019-08-01' flexibleEntryPeriodStart: type: string description: If this is a course wherein participants can start at various moments, without missing anything, use this attribute in combination with `flexibleEntryPeriodEnd`. format: date flexibleEntryPeriodEnd: type: string description: If this is a course wherein participants can start at various moments, without missing anything, use this attribute in combination with `flexibleEntryPeriodStart`. format: date addresses: type: array description: Addresses for this offering items: $ref: '#/components/schemas/Address_2' priceInformation: type: array description: Price information for this offering. items: $ref: '#/components/schemas/Cost' course: description: 'The course that is offered in this courseoffering. [`expandable`](#tag/course_model) By default only the `courseId` (a string) is returned. If the client requested an expansion of `course` the full course object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: courseId - $ref: '#/components/schemas/Course' title: Course object programOffering: description: 'The programoffering where this courseoffering is related to. [`expandable`](#tag/program_offering_model) By default only the `programOfferingId` (a string) is returned. If the client requested an expansion of `programOffering` the full programOffering object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: programOfferingId - $ref: '#/components/schemas/ProgramOffering' title: ProgramOffering object organization: description: 'The organization that manages this courseoffering. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Organization object IdentifierEntry_2: type: object properties: codeType: $ref: '#/components/schemas/codeType_2' code: description: Human readable value for the code/identifier type: string required: - codeType - code additionalProperties: false example: codeType: identifier code: 1234qwe12 groupType: type: string description: 'The type of this group - learning group: A collection of participants carrying out common learning activities - class: A collection of participants carrying out jointly scheduled educational activities - team: A collection of members of a team, either students, employees or mixed. ' enum: - learning group - class - team example: learning group sector: type: string description: 'The sector for this program - secondary vocational education: middelbaar beroepsonderwijs - higher professional education: hoger beroepsonderwijs - university education: universitair onderwijs ' enum: - secondary vocational education - higher professional education - university education example: university education ComponentResult: allOf: - $ref: '#/components/schemas/Result' - type: object required: - weight properties: weight: type: integer description: The weight to 100 as total for this offering in the course format: int32 minimum: 0 maximum: 100 example: 100 Association: allOf: - $ref: '#/components/schemas/AssociationId' - $ref: '#/components/schemas/AssociationProperties' Problem_2: type: object description: A system message including the error code and an explanation required: - status - title properties: status: type: string description: The HTTP status code example: '404' title: type: string description: A short, human-readable summary of the problem type example: Resource not found detail: type: string description: A human-readable explanation specific to this occurrence of the problem AcademicSession: type: object description: 'A named period of time that can be used to communicate the various schedules and time periods an institution recognizes and uses to organize their education. AcademicSessions can be nested. Offerings MAY be be linked to a specific AcademicSession to indicate that the specified Offering takes place during the AcademicSession, however this is not mandatory. ' required: - academicSessionId - name - startDate - endDate properties: academicSessionId: type: string description: Unique id for this academic session format: uuid example: 123e4567-e89b-12d3-a456-426614174000 readOnly: true academicSessionType: $ref: '#/components/schemas/academicSessionType' primaryCode: description: The primary human readable identifier for this academic session. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' example: codeType: identifier code: 2012-Q1 name: type: array description: The name of this academic session minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Fall semester 2020 startDate: type: string description: The day on which this academic session starts, RFC3339 (full-date) format: date example: '2020-08-17' endDate: type: string description: The day on which this academic session ends, RFC3339 (full-date) format: date example: '2020-12-18' parent: description: The parent Academicsession of this session (e.g. fall semester 20xx where the current session is a week 40). This object is [`expandable`](#tag/academic_sessions_model) oneOf: - $ref: '#/components/schemas/Identifier' title: academicSessionId - $ref: '#/components/schemas/AcademicSession' title: Expanded AcademicSession children: type: array description: The list of Academicsession children of this Session (e.g. all academic sessions in fall semester 20xx). This object is [`expandable`](#tag/academic_sessions_model) items: oneOf: - $ref: '#/components/schemas/Identifier' title: academicSessionId - $ref: '#/components/schemas/AcademicSession' title: Expanded AcademicSession year: description: The top level year of this session (e.g. 20xx where the current session is a week 40 of a semester). This object is [`expandable`](#tag/academic_sessions_model) oneOf: - $ref: '#/components/schemas/Identifier' title: academicSessionId - $ref: '#/components/schemas/AcademicSession' title: Expanded AcademicSession otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' EducationSpecification: allOf: - $ref: '#/components/schemas/EducationSpecificationId' - $ref: '#/components/schemas/EducationSpecificationProperties' - properties: validFrom: description: The first day this EducationSpecification is valid (inclusive). type: string format: date validTo: description: The day this EducationSpecification ceases to be valid (e.g. exclusive). type: string format: date ProgramId: type: object description: A collection of courses that lead to a certifiable learning outcome required: - programId properties: programId: type: string description: Unique id for this program format: uuid example: 123e4567-e89b-12d3-a456-426614174000 readOnly: true levelOfQualification: type: string description: Level of qualification according to the Dutch National Qualification Framework and the European Qualifications Framework, see [this overview](https://nlqf.nl/images/downloads/English2018/Schematic_overview_NLQF_2020.pdf) for more information. enum: - '1' - '2' - '3' - '4' - 4+ - '5' - '6' - '7' - '8' example: '6' formalDocument: type: string description: "The type of formal document obtained after completion of this education\n - diploma: DIPLOMA\n - certificate: CERTIFICAAT\n - no official document: GEEN OFFICIEEL DOCUMENT\n - testimonial: GETUIGSCHRIFT\n - school advice: SCHOOLADVIES\n" enum: - diploma - certificate - no official document - testimonial - school advice example: diploma PersonProperties_2: type: object description: A person that has a relationship with this institution required: - givenName - surname - displayName - affiliations - mail - primaryCode - activeEnrollment properties: primaryCode: description: The primary human readable identifier for the person. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' example: codeType: studentNumber code: 0 readOnly: true givenName: type: string description: The first name of this person maxLength: 256 example: Maartje surnamePrefix: type: string description: The prefix of the family name of this person example: van surname: type: string description: The family name of this person maxLength: 256 example: Damme displayName: type: string description: The name of this person which will be displayed maxLength: 256 example: Maartje van Damme initials: type: string description: The initials of this person example: MCW activeEnrollment: type: boolean description: Whether this person has an active enrollment. example: false dateOfBirth: type: string description: The date of birth of this person, RFC3339 (full-date) format: date example: '2003-09-30' cityOfBirth: type: string description: The city of birth of this person example: Utrecht countryOfBirth: type: string description: The country of birth of this person the country code according to [iso-3166-1-alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) example: NL nationality: type: string description: The nationality of this person the nationality according to https://gist.github.com/zspine/2365808 example: Dutch dateOfNationality: type: string description: The date of nationality of this person, RFC3339 (full-date) format: date example: '2003-09-30' affiliations: $ref: '#/components/schemas/personAffiliations' mail: type: string description: The primary e-mailaddress of this person format: email maxLength: 256 example: vandamme.mcw@universiteitvanharderwijk.nl secondaryMail: type: string description: The secondary e-mailaddress of this person format: email maxLength: 256 example: poekie@xyz.nl telephoneNumber: type: string description: The telephone number of this person maxLength: 256 example: +31 123 456 789 mobileNumber: type: string description: The mobile number of this person maxLength: 256 example: +31 612 345 678 photoSocial: type: string description: The url of the informal picture of this person format: uri maxLength: 2048 example: https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Placeholder_female_superhero_c.png/203px-Placeholder_female_superhero_c.png photoOfficial: type: string description: The url of the official picture of this person format: uri maxLength: 2048 example: https://upload.wikimedia.org/wikipedia/commons/6/66/Johannes_Vermeer_%281632-1675%29_-_The_Girl_With_The_Pearl_Earring_%281665%29.jpg gender: $ref: '#/components/schemas/gender_2' titlePrefix: type: string description: A title prefix to be used for this person example: drs titleSuffix: type: string description: A title suffix to be used for this person example: BSc office: type: string description: The name of the office where this person is located address: $ref: '#/components/schemas/Address_2' ICEName: type: string description: Full name of In Case of Emergency contact maxLength: 256 example: Janne ICEPhoneNumber: type: string description: Phone number of In Case of Emergency contact maxLength: 256 example: +31 623 456 789 ICERelation: $ref: '#/components/schemas/ICERelationType_2' languageOfChoice: type: array description: The language(s) of choice for this person, RFC3066 items: type: string example: nl-NL otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' example: - codeType: nationalIdentityNumber code: '00000' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' ICERelationType_2: type: string description: Type of relation between person and In Case of Emergency contact enum: - partner - parent - other example: partner Result: type: object description: A result as part of an association required: - state - resultDate properties: state: $ref: '#/components/schemas/resultState' pass: $ref: '#/components/schemas/passState' comment: type: string description: The comment on this result score: type: string description: The score of this program/course/component association (based on resultValueType in offering) example: '9' resultDate: type: string description: The date this result has been published, RFC3339 (full-date) format: date example: '2020-09-28' ext: $ref: '#/components/schemas/Ext' EducationSpecificationId: type: object properties: educationSpecificationId: type: string description: Unique id for this education specification format: uuid example: 123e4567-e89b-12d3-a456-426614174000 required: - educationSpecificationId ProgramOfferingAssociation: allOf: - $ref: '#/components/schemas/Association' - type: object properties: result: $ref: '#/components/schemas/ProgramResult' educationSpecificationType: type: string description: "The type of education specification\n - program: HOOPLEIDING\n - privateProgram: PARTICULIEREOPLEIDING\n - programCluster: HOONDERWIJSEENHEDENCLUSTER\n - course: HOONDERWIJSEENHEID\n" enum: - program - privateProgram - cluster - course example: program associationRole: type: string description: "The role of this person associated with the offering\n - student: student\n - lecturer: docent\n - teaching assistant: studentassistent\n - coordinator: coördinator\n - guest: gast\n" enum: - student - lecturer - teaching assistant - coordinator - guest example: student roomType: type: string description: 'The type of this room - general purpose: algemeen - lecture room: collegezaal - computer room: computerruimte - laboratory: laboratorium - office: kantoor - workspace: werkruimte - exam location: tentamenruimte - study room: studieruimte - examination room: onderzoekskamer - conference room: vergaderkamer ' enum: - general purpose - lecture room - computer room - laboratory - office - workspace - exam location - study room - examination room - conference room example: exam location StudyLoadDescriptor: type: object description: The amount of effort to complete this education in the specified unit. properties: studyLoadUnit: description: "The unit in which the studyload is specfied\n- contacttime: CONTACTUUR\tamount of time spent in classes\n- ects: ECTS_PUNT\tEuropean Credit Transfer System\n- sbu: SBU\tstudentloadhours\n- sp: STUDIEPUNT studentpoints\n- hour: UUR\thours\n" type: string enum: - contacttime - ects - sbu - sp - hour example: ects value: description: The amount of load depicted in numbers type: number example: 3 example: studyLoadUnit: ects value: 3 Course: allOf: - $ref: '#/components/schemas/CourseId' - $ref: '#/components/schemas/CourseProperties' - properties: validFrom: description: The first day this course is valid (inclusive). type: string format: date validTo: description: The day this course ceases to be valid (e.g. exclusive). type: string format: date programType: type: string description: 'The type of this program - program: opleiding - minor: minor - honours: honours - specialization: specialisatie - track: track ' enum: - program - minor - honours - specialization - track example: program codeType_2: type: string description: "The code/identifier type. \n\nThis is an *extensible enumeration*. Use `x-` to prefix custom values\n\nThe predefined values are:\n - `brin`: The registration number for a Dutch educational institution that is issued by the Dutch Ministry of Education, Culture and Science\n - `crohoCreboCode`: programs with a CREBO and CROHO number are accredited by the Dutch Ministry of Education, Culture and Science (OCW)\n - `programCode`: Identifier for the program (collection of courses)\n - `componentCode`: The code for a component (part of a course)\n - `offeringCode`: The code to identify a specific offering (program, course or component offering)\n - `organizationId`: The identifier for the organization\n - `buildingId`: The number or code to identify a building\n - `bagId`: The identification of a building as it is known in the Dutch Building Administration (BAG)\n - `roomCode`: The code for a room\n - `systemId`: Identifier assigned to an entity in context of a specific system\n - `productId`: Identifier assigned to a specific product\n - `nationalIdentityNumber`: Identifier assigned by the governement of the person. e.g. a social security number in the USA\n - `studentNumber`: Identifier for the student\n - `studielinkNumber`: Identifier for the person as determined by Studielink\n - `esi`: European Student Identifier\n - `userName`: The name of a user\n - `accountId`: Identifier assigned to a specific account\n - `emailAdress`: An email address\n - `groupCode`: The identifier for a group (of persons)\n - `isbn`: International Standard Book Number that serve as product identifiers for Books\n - `issn`: International Standard Book Number that serve as product identifiers for periodicals\n - `orcId`: Open Researcher and Contributor ID\n - `uuid`: A universally unique identifier\n - `schacHome`: Home organization using the domain name of the organization\n - `identifier`: Generic Identifier\n" x-ooapi-extensible-enum: - brin - crohoCreboCode - programCode - componentCode - offeringCode - organizationId - buildingId - bagId - roomCode - systemId - productId - nationalIdentityNumber - studentNumber - studielinkNumber - esi - userName - accountId - emailAdress - groupCode - isbn - issn - orcId - uuid - schacHome - identifier example: identifier modesOfDelivery: type: array description: 'The mode of delivery of the component (ECTS-mode of delivery) - distance-learning: afstandsleren - on campus: op de campus - online: online - hybrid: hybride - situated: op locatie ' items: type: string enum: - distance-learning - on campus - online - hybrid - situated example: situated organizationType: type: string description: 'The type of this organization. Each OOAPI endpoint should have a single organization with type `root`, describing the root organization. - root: the root of this organization, representing the Educational Institution itself - institute: instituut - department: departement - faculty: faculteit - branch: vestiging - academy: academie - school: school ' enum: - root - institute - department - faculty - branch - academy - school example: root CourseResult: allOf: - $ref: '#/components/schemas/Result' - type: object required: - studyLoad properties: studyLoad: $ref: '#/components/schemas/StudyLoadDescriptor' Cost: type: object required: - costType properties: costType: $ref: '#/components/schemas/costType' amount: type: string pattern: ^\d+(?:\.\d+)?$ description: The total amount of the cost as a string. Use a '.' (dot) as an optional separator. The numbers before the separator signify the major units of the currency, after the dot the minor units. Only a single separator is allowed. Do not use a comma. example: '340.84' vatAmount: type: string pattern: ^\d+(?:\.\d+)?$ description: The part of the cost that is VAT, as a string. Use a '.' (dot) as an optional separator. The numbers before the separator signify the major units of the currency, after the dot the minor units. Only a single separator is allowed. Do not use a comma. example: '40' amountWithoutVat: type: string pattern: ^\d+(?:\.\d+)?$ description: The part of the cost that is non-VAT. as a string. Use a '.' (dot) as an optional separator. The numbers before the separator signify the major units of the currency, after the dot the minor units. Only a single separator is allowed. Do not use a comma. example: '300.84' currency: type: string description: The currency this cost is in. Should correspond to one of the currency codes from ISO 4217. example: EUR displayAmount: type: array items: $ref: '#/components/schemas/LanguageTypedString_2' description: An array of optional pre-formatted strings in different locales. Clients can choose to use this string instead of rendering their own based on the current locale of the user. example: - language: nl-NL value: €380,84 - language: en-US value: $401.17 ext: $ref: '#/components/schemas/Ext' additionalProperties: false ProgramProperties: type: object description: A collection of courses that lead to a certifiable learning outcome required: - programType - name - abbreviation - description - primaryCode - teachingLanguage properties: primaryCode: description: The primary human readable identifier for the program. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' example: codeType: programCode code: BIO readOnly: true programType: $ref: '#/components/schemas/programType' name: description: The name of this program type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Biology abbreviation: type: string description: The abbreviation of this program maxLength: 256 example: BIO description: type: array description: The description of this program minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: The study of life teachingLanguage: type: string description: The (primary) teaching language in which this program is given, should be a three-letter language code as specified by ISO 639-2. minLength: 3 maxLength: 3 pattern: ^[a-z]{3}$ example: nld studyLoad: $ref: '#/components/schemas/StudyLoadDescriptor' qualificationAwarded: $ref: '#/components/schemas/qualificationAwarded' modeOfStudy: $ref: '#/components/schemas/modeOfStudy' modeOfDelivery: $ref: '#/components/schemas/modesOfDelivery' duration: type: string description: The duration of this program. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339. pattern: ^(-?)P(?=\d|T\d)(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)([DW]))?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$ example: P1DT30H4S firstStartDate: type: string description: The date when participants can follow this program for the first time. format: date levelOfQualification: $ref: '#/components/schemas/levelOfQualification' level: $ref: '#/components/schemas/level' sector: $ref: '#/components/schemas/sector' fieldsOfStudy: type: string description: Field(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). maxLength: 4 example: '0732' enrollment: type: array items: $ref: '#/components/schemas/LanguageTypedString_2' description: The extra information that is provided for enrollment example: - language: en-GB value: enrollment through SIS. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. resources: type: array description: An overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources) items: type: string example: - book to be announced - on-line resource x learningOutcomes: type: array description: List of learning outcomes at program level. It is advisable to limit the number of learning outcomes to approximately 20. It is also advisable to make sure that the program learning outcomes in the course catalogue correspond with those on the Diploma Supplement. items: type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: 'Executable knowledge of research methods, including: Acquire knowledge of HCI research paradigms.' assessment: type: array description: A description of the way exams for this course are taken (ECTS-assessment method and criteria). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Exam on campus admissionRequirements: type: array description: This information may be given at an institutional level and/or at the level of individual programmes. Make sure that it is clear whether the information applies to fee-paying students (national and/or international) or to exchange students. example: - language: en-GB value: Students need to be enrolled at qualifying institutions of higher education that participate in this alliance minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' qualificationRequirements: type: array description: Normally, students will receive a diploma when they have completed the (official) study program and have obtained the required number of credits. If there are any other specific requirements that students need to have fulfilled, mention them here. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' link: type: string description: URL of the program's website format: uri maxLength: 2048 example: https://bijvak.nl educationSpecification: description: The educationSpecification of which this program is a more concrete implementation. [`expandable`](#tag/education_specification_model) oneOf: - $ref: '#/components/schemas/Identifier' title: educationSpecificationId - $ref: '#/components/schemas/EducationSpecification' title: EducationSpecification otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' example: - codeType: crohoCreboCode code: '59312' addresses: type: array description: Addresses for this program items: $ref: '#/components/schemas/Address_2' parent: description: Parent program of which the current program is a child. This object is [`expandable`](#tag/program_model) oneOf: - $ref: '#/components/schemas/Identifier' title: programId - $ref: '#/components/schemas/Program' title: Expanded Program children: type: array description: Programs which are a part of this program (e.g specializations). This object is [`expandable`](#tag/program_model) items: oneOf: - $ref: '#/components/schemas/Identifier' title: programId - $ref: '#/components/schemas/Program' title: Expanded Program coordinators: description: The person(s) responsible for this program. This object is [`expandable`](#tag/person_model) type: array items: oneOf: - $ref: '#/components/schemas/Identifier' title: personId - $ref: '#/components/schemas/Person' title: Person object organization: description: 'The organization providing this program. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Organization object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: rio educationOffererCode: 122A112 educationLocationCode: 123X122 jointPartnerCodes: - 122A113 foreignPartners: - Harvard University deficiency: deficiencies requirementsActivities: requirements propaedeuticPhase: no_propaedeutic_phase studyChoiceCheck: no_study_choice_check acceleratedRoute: accelerated_route lastStartDate: 01-09-2025 teachingLanguages: - nld - eng ext: $ref: '#/components/schemas/Ext' Component: type: object description: A component is a part of a course required: - componentId - componentType - name - teachingLanguage - abbreviation - primaryCode properties: componentId: type: string description: Unique id of this component format: uuid example: 123e4567-e89b-12d3-a456-426614174000 readOnly: true primaryCode: description: The primary human readable identifier for this component. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' example: codeType: componentCode code: INFOMQNM-WRKCLG-1 readOnly: true componentType: $ref: '#/components/schemas/componentType' name: type: array description: The name of this component minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Written test for INFOMQNM abbreviation: type: string description: The abbreviation of this component maxLength: 256 example: Test-INFOMQNM modeOfDelivery: $ref: '#/components/schemas/modesOfDelivery' duration: type: string description: The duration of this component. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339. pattern: ^(-?)P(?=\d|T\d)(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)([DW]))?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$ example: P1DT30H4S description: type: array description: The description of this component. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: '''Prove executable knowledge of research methods, including: Acquire knowledge of HCI research paradigms Able to design suitable research studies (e.g., choose between within and between subject designs) Define/apply/design metrics and scales Define/produce materials (e.g., stimuli and questionnaires) Define protocols for research studies Understands and take in account concepts of reliability and validity Analyze and improve methods and analysis of published scientific articles Able to deliver scientific reports Prove executable knowledge of ­­­statistics, including: Handle hypothesis testing with complex designs (e.g., including , dependent, independent, and co variates) Data preparation (e.g., coding and feature selection) Reason towards adequate techniques to ensure valid outcomes (e.g., be aware of type I, type II errors) Select an appropriate sampling method (e.g., stratified) Perform parametric tests (e.g., repeated measures (M)ANOVA) Perform non-parametric tests (e.g., Chi-square, Mann-Whitney, and Kruskal-Wallis)'' ' teachingLanguage: type: string description: The (primary) teaching language in which this component is given, should be a three-letter language code as specified by ISO 639-2. minLength: 3 maxLength: 3 pattern: ^[a-z]{3}$ example: nld learningOutcomes: type: array description: Statements that describe the knowledge or skills students should acquire by the end of a particular course (ECTS-learningoutcome). items: type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: 'Executable knowledge of research methods, including: Acquire knowledge of HCI research paradigms.' enrollment: type: array items: $ref: '#/components/schemas/LanguageTypedString_2' description: The extra information that is provided for enrollment example: - language: en-GB value: enrollment through SIS. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. resources: type: array description: An overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources) items: type: string example: - book to be announced - on-line resource x assessment: type: array description: A description of the way exams for this course are taken (ECTS-assessment method and criteria). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Exam on campus addresses: type: array description: Addresses for this component items: $ref: '#/components/schemas/Address_2' otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' course: description: 'The course of which this component is a part. [`expandable`](#tag/course_model) By default only the `courseId` (a string) is returned. If the client requested an expansion of `course` the full course object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: courseId - $ref: '#/components/schemas/Course' title: Course object organization: description: 'The organization which provides this component. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Organization object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' AssociationProperties: type: object description: A relationship between a person object and an offering required: - associationType - role - state properties: associationType: type: string description: The type of this association enum: - programOfferingAssociation - courseOfferingAssociation - componentOfferingAssociation example: componentOfferingAssociation readOnly: true role: $ref: '#/components/schemas/associationRole' state: $ref: '#/components/schemas/associationState' readOnly: true remoteState: $ref: '#/components/schemas/remoteAssociationState' writeOnly: true consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' remoteAssociationState: type: string description: The state of this association for the institution performing the request. enum: - pending - canceled - denied - associated - queued example: associated CourseProperties: type: object description: An object describing the metadata of a course required: - name - abbreviation - description - teachingLanguage - level - primaryCode properties: primaryCode: description: The primary human readable identifier for this course. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' readOnly: true name: type: array description: The name of this course (ECTS-title) minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Academic and Professional Writing abbreviation: type: string description: The abbreviation or internal code used to identify this course (ECTS-code) maxLength: 256 example: INFOMQNM studyLoad: $ref: '#/components/schemas/StudyLoadDescriptor' modeOfDelivery: $ref: '#/components/schemas/modesOfDelivery' duration: type: string description: The duration of this course. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339. pattern: ^(-?)P(?=\d|T\d)(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)([DW]))?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$ example: P1DT30H4S firstStartDate: type: string description: The date when participants can follow this course for the first time. format: date description: type: array description: The description of this course (ECTS-description). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: As with all empirical sciences, to assure valid outcomes, HCI studies heavily rely on research methods and statistics. This holds for the design of user interfaces, personalized recommender systems, and interaction paradigms for the internet of things. This course prepares you to do so by learning you to collect data, design experiments, and analyze the results. By the end of the course, you will have a detailed understanding of how to select and apply quantitative research methods and analysis to address virtually all HCI challenges. Quantitative research and data analysis will be taught in the context of state-of-the-art HCI challenges. Lectures will be alternated with hands-on learning, including work with predefined datasets (e.g., addressing facial features, cognitive load, and emotion). Additionally, students will set up their own research (e.g., using eye tracking). Data processing and analysis will be executed using R. teachingLanguage: type: string description: The (primary) teaching language in which this course is given, should be a three-letter language code as specified by ISO 639-2. minLength: 3 maxLength: 3 pattern: ^[a-z]{3}$ example: nld fieldsOfStudy: type: string description: Field(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). maxLength: 4 example: '0732' learningOutcomes: type: array description: Statements that describe the knowledge or skills students should acquire by the end of a particular course (ECTS-learningoutcome). items: type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: 'Executable knowledge of research methods, including: Acquire knowledge of HCI research paradigms.' admissionRequirements: type: array description: This information may be given at an institutional level and/or at the level of individual programmes. Make sure that it is clear whether the information applies to fee-paying students (national and/or international) or to exchange students. example: - language: en-GB value: Students need to be enrolled at qualifying institutions of higher education that participate in this alliance minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' qualificationRequirements: type: array description: Normally, students will receive a diploma when they have completed the (official) study program and have obtained the required number of credits. If there are any other specific requirements that students need to have fulfilled, mention them here. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' level: $ref: '#/components/schemas/level' enrollment: type: array items: $ref: '#/components/schemas/LanguageTypedString_2' description: The extra information that is provided for enrollment example: - language: en-GB value: enrollment through SIS. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. resources: type: array description: An overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources) items: type: string example: - book to be announced - on-line resource x assessment: type: array description: A description of the way exams for this course are taken (ECTS-assessment method and criteria). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Exam on campus link: type: string description: URL of the course's website format: uri maxLength: 2048 example: https://osiris.uu.nl/osiris_student_uuprd/OnderwijsCatalogusZoekCursus.do#submitForm?cursuscode=INFOMQNM educationSpecification: description: The educationSpecification of which this course is a more concrete implementation. [`expandable`](#tag/education_specification_model) oneOf: - $ref: '#/components/schemas/Identifier' title: educationSpecificationId - $ref: '#/components/schemas/EducationSpecification' title: EducationSpecification addresses: type: array description: Addresses for this course items: $ref: '#/components/schemas/Address_2' otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: rio educationOffererCode: 123A321 educationLocationCode: 334X123 jointPartnerCodes: - 123A123 foreignPartners: - Harvard University lastStartDate: 01-09-2025 teachingLanguages: - nld - eng ext: $ref: '#/components/schemas/Ext' programs: description: The program of which this course is a part of. This object is [`expandable`](#tag/program_model) type: array items: oneOf: - $ref: '#/components/schemas/Identifier' title: programId - $ref: '#/components/schemas/Program' title: Program object coordinators: description: The person(s) responsible for this course. This object is [`expandable`](#tag/person_model) type: array items: oneOf: - $ref: '#/components/schemas/Identifier' title: personId - $ref: '#/components/schemas/Person' title: Person object organization: description: 'The organization that manages this group. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization' title: Organization object Pagination_2: type: object required: - pageSize - pageNumber - hasPreviousPage - hasNextPage - items properties: pageSize: type: integer format: int32 description: The number of items per page example: 10 pageNumber: type: integer format: int32 description: The current page number example: 1 minimum: 1 hasPreviousPage: type: boolean description: Whether there is a previous page example: false hasNextPage: type: boolean description: Whether there is a previous page example: true totalPages: type: integer format: int32 description: Total number of pages example: 8 OfferingProperties: type: object description: Either a program, course or component offering which descrbes the program, course or offering in time required: - primaryCode - offeringType - name - description - teachingLanguage - resultExpected properties: primaryCode: description: The primary human readable identifier for this offering. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_2' example: codeType: offeringCode code: INFOMQNM-20FS readOnly: true offeringType: type: string description: The type of this offering enum: - program - course - component example: component academicSession: description: 'The academicsession during which this courseoffering takes place. [`expandable`](#tag/academic_session_model) By default only the `academicSessionId` (a string) is returned. If the client requested an expansion of `academicSession` the full academicsession object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: academicSessionId - $ref: '#/components/schemas/AcademicSession' title: AcademicSession object name: type: array description: The name of this offering minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: Final written test for INFOMQNM for fall semseter 2020 abbreviation: type: string description: The abbreviation or internal code used to identify this offering maxLength: 256 example: Test-INFOMQNM-20FS description: type: array description: The description of this offering. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_2' example: - language: en-GB value: '''Prove in writing knowledge of research methods, including: Acquire knowledge of HCI research paradigms Able to design suitable research studies (e.g., choose between within and between subject designs) Define/apply/design metrics and scales Define/produce materials (e.g., stimuli and questionnaires) Define protocols for research studies Understands and take in account concepts of reliability and validity Analyze and improve methods and analysis of published scientific articles Able to deliver scientific reports Prove in writing knowledge of ­­­statistics, including: Handle hypothesis testing with complex designs (e.g., including , dependent, independent, and co variates) Data preparation (e.g., coding and feature selection) Reason towards adequate techniques to ensure valid outcomes (e.g., be aware of type I, type II errors) Select an appropriate sampling method (e.g., stratified) Perform parametric tests (e.g., repeated measures (M)ANOVA) Perform non-parametric tests (e.g., Chi-square, Mann-Whitney, and Kruskal-Wallis)'' ' teachingLanguage: type: string description: The (primary) teaching language in which this offering is given, should be a three-letter language code as specified by ISO 639-2. minLength: 3 maxLength: 3 pattern: ^[a-z]{3}$ example: nld modeOfDelivery: $ref: '#/components/schemas/modesOfDelivery' maxNumberStudents: type: number description: The maximum number of students allowed to enroll for this offering format: int32 minimum: 0 example: 200 enrolledNumberStudents: type: number description: The number of students that have already enrolled for this offering format: int32 minimum: 0 example: 150 pendingNumberStudents: type: number description: The number of students that have a pending enrollment request for this offering format: int32 minimum: 0 example: 50 minNumberStudents: type: number description: The minimum number of students needed for this offering to proceed format: int32 minimum: 0 example: 15 resultExpected: type: boolean description: "resultExpected, previously knwon as isLineItem is used so the specific instance of the object is identified as being an element that CAN contain “grade” information.\nOfferings do not always have to result in a grade or an other type of result. \nIf there is a result expected from a programOffering/courseOffering/componentOffering the is resultExpected field should parse true\n" example: true resultValueType: $ref: '#/components/schemas/resultValueType' link: type: string description: URL of this offering's webpage. format: uri maxLength: 2048 example: https://osiris.uu.nl/osiris_student_uuprd/OnderwijsCatalogusZoekCursus.do#submitForm?cursuscode=INFOMQNM otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_2' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_2' example: - consumerKey: rio explanationRequiredPermission: Toestemming is vereist omdat we daarom vragen. requiredPermissionRegistration: 'yes' registrationStatus: open modeOfDelivery: - coaching ext: $ref: '#/components/schemas/Ext' EducationSpecificationProperties_2: type: object description: "The specification of an education object. This specification allows for other education objects to be derived from it.\nIt is used to aggregate education objects from a supplying institution.\nIt clusters programs to a main educationSpecification that is used in registries such as RIO. \n" required: - primaryCode - educationSpecificationType - name properties: primaryCode: description: "The primary human readable identifier for the entity. \nThis will often take the form of a human readable code as defined by the institution or region\n" $ref: '#/components/schemas/IdentifierEntry_3' otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' example: - codeType: crohoCreboCode code: '1234123' educationSpecificationType: $ref: '#/components/schemas/educationSpecificationType' name: type: array items: $ref: '#/components/schemas/LanguageTypedString_3' description: The name of this education specification example: - language: en-GB value: Bachelor Chemical technology abbreviation: type: string description: The abbreviation of this program maxLength: 256 example: B Scheikundige Technologie description: type: array items: $ref: '#/components/schemas/LanguageTypedString_3' description: The description of this program. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. example: - language: en-GB value: program that is a place holder for all courses that are made available for student mobility formalDocument: $ref: '#/components/schemas/formalDocument' level: $ref: '#/components/schemas/level' sector: $ref: '#/components/schemas/sector' levelOfQualification: $ref: '#/components/schemas/levelOfQualification' fieldsOfStudy: type: string description: Field(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). maxLength: 4 example: '0732' studyLoad: $ref: '#/components/schemas/StudyLoadDescriptor' learningOutcomes: type: array description: Statements that describe the knowledge or skills students should acquire by the end of a particular course or program (ECTS-learningoutcome). items: type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: 'Executable knowledge of Chemical technology, including: Acquire knowledge of research paradigms.' link: type: string description: URL of the program's website format: uri maxLength: 2048 example: https://bijvak.nl parent: description: The educationSpecification that is the parent of this educationSpecification if it exists. [`expandable`](#tag/education_specification_model) oneOf: - $ref: '#/components/schemas/Identifier' title: educationSpecificationId - $ref: '#/components/schemas/EducationSpecification' title: EducationSpecification children: type: array description: The EducationSpecifications that have this EducationSpecification as their parent. [`expandable`](#tag/education_specification_model) items: oneOf: - $ref: '#/components/schemas/Identifier' title: educationSpecificationId - $ref: '#/components/schemas/EducationSpecification' title: EducationSpecification organization: description: 'The organization that manages this group. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Organization object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: rio educationSpecificationSubType: variant category: - business_and_project_support - economy ext: $ref: '#/components/schemas/Ext' LanguageTypedString_3: type: object description: A String with an associated language code. properties: language: description: The language used in the described entity. A string formatted according to RFC3066. type: string pattern: ^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$ value: description: String to describe the entity. type: string example: language: en-GB value: program that is a place holder for all courses that are made available for student mobility gender_3: type: string description: The gender of this person enum: - M - F - U - X example: F Address_3: type: object description: The full street address required: - addressType properties: addressType: $ref: '#/components/schemas/addressType_3' street: type: string description: The street name example: Moreelsepark streetNumber: type: string description: The street number example: '48' additional: type: array description: Further details like building name, suite, apartment number, etc. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: On the other side of the road postalCode: type: string description: Postal code example: 3511 EP city: type: string description: name of the city / locality example: Utrecht countryCode: type: string description: the country code according to [iso-3166-1-alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) example: NL geolocation: type: object description: Geolocation of the entrance of this address (WGS84 coordinate reference system) required: - latitude - longitude properties: latitude: type: number format: double example: 52.089123 longitude: type: number format: double example: 5.113337 ext: $ref: '#/components/schemas/Ext' Building_2: type: object description: An object describing a building and the properties of a building. required: - buildingId - name - address - primaryCode properties: buildingId: type: string description: Unique id of this building format: uuid example: 123e4567-e89b-12d3-a456-331214174000 primaryCode: description: The primary human readable identifier for this building. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' example: codeType: buildingId code: '45' abbreviation: type: string description: The abbreviation of the name of this building maxLength: 256 example: Bb name: type: array description: The name of this building minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Beatrix building description: type: array description: The description of this building. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: external rooms location for exams address: $ref: '#/components/schemas/Address_3' otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' example: - codeType: bagId code: 0344100000139910 consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' Organization_2: type: object description: A description of a group of people working together to achieve a goal required: - organizationId - organizationType - name - shortName - primaryCode properties: organizationId: type: string description: Unique id of this organization format: uuid example: 123e4567-e89b-12d3-a456-123514174000 readOnly: true primaryCode: description: The primary human readable identifier for the organization. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' example: codeType: orgId code: Org01-Root readOnly: true organizationType: $ref: '#/components/schemas/organizationType' name: type: array description: The name of the organization minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: nl-NL value: Coöperatie SURF U.A. shortName: type: string description: Short name of the organization maxLength: 256 example: SURF description: type: array description: Any general description of the organization should clearly mention the type of higher education organization, especially in the case of a binary system. In Dutch; universiteit (university) or hogeschool (university of applied sciences). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: nl-NL value: SURF is een coöperatieve vereniging van Nederlandse onderwijs- en onderzoeksinstellingen waarin de leden hun krachten bundelen. De leden zijn eigenaar van SURF. addresses: type: array description: Addresses of this organization items: $ref: '#/components/schemas/Address_3' link: type: string description: URL of the organization's website format: uri maxLength: 2048 example: https://surf.nl logo: type: string description: Logo of this organization format: uri maxLength: 2048 example: https://www.surf.nl/themes/surf/logo.svg otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. minItems: 1 items: $ref: '#/components/schemas/IdentifierEntry_3' example: - codeType: brin code: 00AA - codeType: kvk code: '12345678' parent: description: 'The organizational unit which is the parent of this organization. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Organization object children: type: array description: 'All the organizational units for which this organization is the parent. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' items: oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Organization object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' ComponentOffering_2: allOf: - $ref: '#/components/schemas/Offering' - type: object required: - startDateTime - endDateTime properties: startDateTime: type: string description: The moment on which this offering starts, RFC3339 (date-time) format: date-time example: '2020-12-15' endDateTime: type: string description: The moment on which this offering ends, RFC3339 (date-time) format: date-time example: '2020-12-16' enrollStartDate: type: string description: The first day on which a student can enroll for this course. format: date enrollEndDate: type: string description: The last day on which a student can enroll for this course. format: date resultWeight: type: integer description: The result weight of this offering minimum: 0 maximum: 100 example: 100 addresses: type: array description: Addresses for this offering items: $ref: '#/components/schemas/Address_3' priceInformation: type: array description: Price information for this offering. items: $ref: '#/components/schemas/Cost_2' room: $ref: '#/components/schemas/Room_2' component: description: 'The component that is offered in this componentoffering. [`expandable`](#tag/component_model) By default only the `componentId` (a string) is returned. If the client requested an expansion of `component` the full component object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: componentId - $ref: '#/components/schemas/Component_2' title: Component object courseOffering: description: 'The courseoffering where this componentoffering is related to. [`expandable`](#tag/course_offering_model) By default only the `courseOfferingId` (a string) is returned. If the client requested an expansion of `courseOffering` the full courseOffering object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: courseOfferingId - $ref: '#/components/schemas/CourseOffering_2' title: CourseOffering object organization: description: 'The organization that manages this componentoffering. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Organization object Consumer_3: type: object description: Object for communicating data to a specific consumer (destination). This object has no relationship with the `consumer` query parameter. required: - consumerKey properties: consumerKey: description: The key of the consumer (destination) for which this information is intended. See the [consumer registry](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information. type: string additionalProperties: true addressType_3: type: string description: 'Address type - postal: post - visit: bezoek - deliveries: bezorg - billing: factuur - teaching: the address where education takes place ' enum: - postal - visit - deliveries - billing - teaching Room_2: type: object description: An area within a building where education can take place required: - roomId - roomType - name - primaryCode properties: roomId: type: string description: Unique id for this room format: uuid example: 123e4567-e89b-12d3-a456-332114174000 primaryCode: description: The primary human readable identifier for the room. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' example: codeType: roomCode code: Bb4.54 roomType: $ref: '#/components/schemas/roomType' abbreviation: type: string description: The abbreviation of the name of this room maxLength: 256 example: Bb4.54 name: type: array description: The name of this room minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Beatrix building room 4.54 description: type: array description: The description of this room. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: External education and exam room 4.54 totalSeats: type: integer format: int32 description: The total number of seats located in the room example: 300 availableSeats: type: integer format: int32 description: The total number of available (=non-reserved) seats in the room example: 200 floor: type: string description: The floor on which this room is located example: '4' wing: type: string description: The wing in which this room is located example: None geolocation: type: object description: Geolocation of the entrance of this room (WGS84 coordinate reference system) required: - latitude - longitude properties: latitude: type: number format: double example: 52.088255 longitude: type: number format: double example: 5.106669 otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' building: description: 'The building in which the room is located. [`expandable`](#tag/building_model) By default only the `buildingId` (a string) is returned. If the client requested an expansion of `building` the full building object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: buildingId - $ref: '#/components/schemas/Building_2' title: Building object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' ProgramOffering_2: allOf: - $ref: '#/components/schemas/Offering' - type: object required: - startDate - endDate properties: startDate: type: string description: The moment on which this offering starts, RFC3339 (full-date) format: date example: '2019-08-21' endDate: type: string description: The moment on which this offering ends, RFC3339 (full-date) format: date example: '2023-06-15' enrollStartDate: type: string description: The first day on which a student can enroll for this program. format: date example: '2019-05-01' enrollEndDate: type: string description: The last day on which a student can enroll for this program. format: date example: '2019-08-01' flexibleEntryPeriodStart: type: string description: If this is a program wherein participants can start at various moments, without missing anything, use this attribute in combination with `flexibleEntryPeriodEnd`. format: date flexibleEntryPeriodEnd: type: string description: If this is a program wherein participants can start at various moments, without missing anything, use this attribute in combination with `flexibleEntryPeriodStart`. format: date addresses: type: array description: Addresses for this offering items: $ref: '#/components/schemas/Address_3' priceInformation: type: array description: Price information for this offering. items: $ref: '#/components/schemas/Cost_2' minItems: 1 program: description: 'The Program that is offered in this programoffering. [`expandable`](#tag/program_model) By default only the `programId` (a string) is returned. If the client requested an expansion of `program` the full program object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: programId - $ref: '#/components/schemas/Program' title: Program object organization: description: 'The organization that manages this programeoffering. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Organization object PostResponse_3: type: object description: A system message as a response to a POST message required: - message properties: message: description: information displayed to user type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Your enrollment was partly succesful, you have been placed on the waitinglist redirect: description: URL where additional information can be found e.g. by use of deeplink type: string format: uri Group_2: type: object description: 'A group is simply a collection of persons. Groups can be used to accommodate various usecases. Groups MAY optionally have a relation to an Offering, however the meaning of such relations is left unspecified and is left up to the implementer. ' required: - groupId - groupType - name - primaryCode properties: groupId: type: string description: Unique id for this group format: uuid example: 123e4567-e89b-12d3-a456-426614174000 primaryCode: description: The primary human readable identifier for this group. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' example: codeType: groupCode code: group-abc987 groupType: $ref: '#/components/schemas/groupType' name: type: array description: The name of this group minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: statistics students description: type: array description: The description of this group minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: The group of students that follow statistics classes startDate: type: string description: The day on which this group starts being active, RFC3339 (full-date) format: date example: '2020-08-17' endDate: type: string description: The day on which this group ends being active, RFC3339 (full-date) format: date example: '2020-12-18' personCount: type: number description: The number of persons that are member of this group format: int32 minimum: 0 example: 183 otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: x-test-consumer additional: custom attributes: here organization: description: 'The organization that manages this group. [`expandable`](.#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Expanded organization ext: $ref: '#/components/schemas/Ext' CourseOffering_2: allOf: - $ref: '#/components/schemas/Offering' - type: object required: - startDate - endDate properties: startDate: type: string description: The moment on which this offering starts, RFC3339 (full-date) format: date example: '2019-08-21' endDate: type: string description: The moment on which this offering ends, RFC3339 (full-date) format: date example: '2019-10-23' enrollStartDate: type: string description: The first day on which a student can enroll for this course. format: date example: '2019-05-01' enrollEndDate: type: string description: The last day on which a student can enroll for this course. format: date example: '2019-08-01' flexibleEntryPeriodStart: type: string description: If this is a course wherein participants can start at various moments, without missing anything, use this attribute in combination with `flexibleEntryPeriodEnd`. format: date flexibleEntryPeriodEnd: type: string description: If this is a course wherein participants can start at various moments, without missing anything, use this attribute in combination with `flexibleEntryPeriodStart`. format: date addresses: type: array description: Addresses for this offering items: $ref: '#/components/schemas/Address_3' priceInformation: type: array description: Price information for this offering. items: $ref: '#/components/schemas/Cost_2' course: description: 'The course that is offered in this courseoffering. [`expandable`](#tag/course_model) By default only the `courseId` (a string) is returned. If the client requested an expansion of `course` the full course object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: courseId - $ref: '#/components/schemas/Course' title: Course object programOffering: description: 'The programoffering where this courseoffering is related to. [`expandable`](#tag/program_offering_model) By default only the `programOfferingId` (a string) is returned. If the client requested an expansion of `programOffering` the full programOffering object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: programOfferingId - $ref: '#/components/schemas/ProgramOffering_2' title: ProgramOffering object organization: description: 'The organization that manages this courseoffering. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Organization object IdentifierEntry_3: type: object properties: codeType: $ref: '#/components/schemas/codeType_3' code: description: Human readable value for the code/identifier type: string required: - codeType - code additionalProperties: false example: codeType: identifier code: 1234qwe12 Problem_3: type: object description: A system message including the error code and an explanation required: - status - title properties: status: type: string description: The HTTP status code example: '404' title: type: string description: A short, human-readable summary of the problem type example: Resource not found detail: type: string description: A human-readable explanation specific to this occurrence of the problem AcademicSession_2: type: object description: 'A named period of time that can be used to communicate the various schedules and time periods an institution recognizes and uses to organize their education. AcademicSessions can be nested. Offerings MAY be be linked to a specific AcademicSession to indicate that the specified Offering takes place during the AcademicSession, however this is not mandatory. ' required: - academicSessionId - name - startDate - endDate properties: academicSessionId: type: string description: Unique id for this academic session format: uuid example: 123e4567-e89b-12d3-a456-426614174000 readOnly: true academicSessionType: $ref: '#/components/schemas/academicSessionType' primaryCode: description: The primary human readable identifier for this academic session. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' example: codeType: identifier code: 2012-Q1 name: type: array description: The name of this academic session minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Fall semester 2020 startDate: type: string description: The day on which this academic session starts, RFC3339 (full-date) format: date example: '2020-08-17' endDate: type: string description: The day on which this academic session ends, RFC3339 (full-date) format: date example: '2020-12-18' parent: description: The parent Academicsession of this session (e.g. fall semester 20xx where the current session is a week 40). This object is [`expandable`](#tag/academic_sessions_model) oneOf: - $ref: '#/components/schemas/Identifier' title: academicSessionId - $ref: '#/components/schemas/AcademicSession_2' title: Expanded AcademicSession children: type: array description: The list of Academicsession children of this Session (e.g. all academic sessions in fall semester 20xx). This object is [`expandable`](#tag/academic_sessions_model) items: oneOf: - $ref: '#/components/schemas/Identifier' title: academicSessionId - $ref: '#/components/schemas/AcademicSession_2' title: Expanded AcademicSession year: description: The top level year of this session (e.g. 20xx where the current session is a week 40 of a semester). This object is [`expandable`](#tag/academic_sessions_model) oneOf: - $ref: '#/components/schemas/Identifier' title: academicSessionId - $ref: '#/components/schemas/AcademicSession_2' title: Expanded AcademicSession otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' PersonProperties_3: type: object description: A person that has a relationship with this institution required: - givenName - surname - displayName - affiliations - mail - primaryCode - activeEnrollment properties: primaryCode: description: The primary human readable identifier for the person. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' example: codeType: studentNumber code: 0 readOnly: true givenName: type: string description: The first name of this person maxLength: 256 example: Maartje surnamePrefix: type: string description: The prefix of the family name of this person example: van surname: type: string description: The family name of this person maxLength: 256 example: Damme displayName: type: string description: The name of this person which will be displayed maxLength: 256 example: Maartje van Damme initials: type: string description: The initials of this person example: MCW activeEnrollment: type: boolean description: Whether this person has an active enrollment. example: false dateOfBirth: type: string description: The date of birth of this person, RFC3339 (full-date) format: date example: '2003-09-30' cityOfBirth: type: string description: The city of birth of this person example: Utrecht countryOfBirth: type: string description: The country of birth of this person the country code according to [iso-3166-1-alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) example: NL nationality: type: string description: The nationality of this person the nationality according to https://gist.github.com/zspine/2365808 example: Dutch dateOfNationality: type: string description: The date of nationality of this person, RFC3339 (full-date) format: date example: '2003-09-30' affiliations: $ref: '#/components/schemas/personAffiliations' mail: type: string description: The primary e-mailaddress of this person format: email maxLength: 256 example: vandamme.mcw@universiteitvanharderwijk.nl secondaryMail: type: string description: The secondary e-mailaddress of this person format: email maxLength: 256 example: poekie@xyz.nl telephoneNumber: type: string description: The telephone number of this person maxLength: 256 example: +31 123 456 789 mobileNumber: type: string description: The mobile number of this person maxLength: 256 example: +31 612 345 678 photoSocial: type: string description: The url of the informal picture of this person format: uri maxLength: 2048 example: https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Placeholder_female_superhero_c.png/203px-Placeholder_female_superhero_c.png photoOfficial: type: string description: The url of the official picture of this person format: uri maxLength: 2048 example: https://upload.wikimedia.org/wikipedia/commons/6/66/Johannes_Vermeer_%281632-1675%29_-_The_Girl_With_The_Pearl_Earring_%281665%29.jpg gender: $ref: '#/components/schemas/gender_3' titlePrefix: type: string description: A title prefix to be used for this person example: drs titleSuffix: type: string description: A title suffix to be used for this person example: BSc office: type: string description: The name of the office where this person is located address: $ref: '#/components/schemas/Address_3' ICEName: type: string description: Full name of In Case of Emergency contact maxLength: 256 example: Janne ICEPhoneNumber: type: string description: Phone number of In Case of Emergency contact maxLength: 256 example: +31 623 456 789 ICERelation: $ref: '#/components/schemas/ICERelationType_3' languageOfChoice: type: array description: The language(s) of choice for this person, RFC3066 items: type: string example: nl-NL otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' example: - codeType: nationalIdentityNumber code: '00000' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' ICERelationType_3: type: string description: Type of relation between person and In Case of Emergency contact enum: - partner - parent - other example: partner codeType_3: type: string description: "The code/identifier type. \n\nThis is an *extensible enumeration*. Use `x-` to prefix custom values\n\nThe predefined values are:\n - `brin`: The registration number for a Dutch educational institution that is issued by the Dutch Ministry of Education, Culture and Science\n - `crohoCreboCode`: programs with a CREBO and CROHO number are accredited by the Dutch Ministry of Education, Culture and Science (OCW)\n - `programCode`: Identifier for the program (collection of courses)\n - `componentCode`: The code for a component (part of a course)\n - `offeringCode`: The code to identify a specific offering (program, course or component offering)\n - `organizationId`: The identifier for the organization\n - `buildingId`: The number or code to identify a building\n - `bagId`: The identification of a building as it is known in the Dutch Building Administration (BAG)\n - `roomCode`: The code for a room\n - `systemId`: Identifier assigned to an entity in context of a specific system\n - `productId`: Identifier assigned to a specific product\n - `nationalIdentityNumber`: Identifier assigned by the governement of the person. e.g. a social security number in the USA\n - `studentNumber`: Identifier for the student\n - `studielinkNumber`: Identifier for the person as determined by Studielink\n - `esi`: European Student Identifier\n - `userName`: The name of a user\n - `accountId`: Identifier assigned to a specific account\n - `emailAdress`: An email address\n - `groupCode`: The identifier for a group (of persons)\n - `isbn`: International Standard Book Number that serve as product identifiers for Books\n - `issn`: International Standard Book Number that serve as product identifiers for periodicals\n - `orcId`: Open Researcher and Contributor ID\n - `uuid`: A universally unique identifier\n - `schacHome`: Home organization using the domain name of the organization\n - `identifier`: Generic Identifier\n" x-ooapi-extensible-enum: - brin - crohoCreboCode - programCode - componentCode - offeringCode - organizationId - buildingId - bagId - roomCode - systemId - productId - nationalIdentityNumber - studentNumber - studielinkNumber - esi - userName - accountId - emailAdress - groupCode - isbn - issn - orcId - uuid - schacHome - identifier example: identifier Cost_2: type: object required: - costType properties: costType: $ref: '#/components/schemas/costType' amount: type: string pattern: ^\d+(?:\.\d+)?$ description: The total amount of the cost as a string. Use a '.' (dot) as an optional separator. The numbers before the separator signify the major units of the currency, after the dot the minor units. Only a single separator is allowed. Do not use a comma. example: '340.84' vatAmount: type: string pattern: ^\d+(?:\.\d+)?$ description: The part of the cost that is VAT, as a string. Use a '.' (dot) as an optional separator. The numbers before the separator signify the major units of the currency, after the dot the minor units. Only a single separator is allowed. Do not use a comma. example: '40' amountWithoutVat: type: string pattern: ^\d+(?:\.\d+)?$ description: The part of the cost that is non-VAT. as a string. Use a '.' (dot) as an optional separator. The numbers before the separator signify the major units of the currency, after the dot the minor units. Only a single separator is allowed. Do not use a comma. example: '300.84' currency: type: string description: The currency this cost is in. Should correspond to one of the currency codes from ISO 4217. example: EUR displayAmount: type: array items: $ref: '#/components/schemas/LanguageTypedString_3' description: An array of optional pre-formatted strings in different locales. Clients can choose to use this string instead of rendering their own based on the current locale of the user. example: - language: nl-NL value: €380,84 - language: en-US value: $401.17 ext: $ref: '#/components/schemas/Ext' additionalProperties: false ProgramProperties_2: type: object description: A collection of courses that lead to a certifiable learning outcome required: - programType - name - abbreviation - description - primaryCode - teachingLanguage properties: primaryCode: description: The primary human readable identifier for the program. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' example: codeType: programCode code: BIO readOnly: true programType: $ref: '#/components/schemas/programType' name: description: The name of this program type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Biology abbreviation: type: string description: The abbreviation of this program maxLength: 256 example: BIO description: type: array description: The description of this program minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: The study of life teachingLanguage: type: string description: The (primary) teaching language in which this program is given, should be a three-letter language code as specified by ISO 639-2. minLength: 3 maxLength: 3 pattern: ^[a-z]{3}$ example: nld studyLoad: $ref: '#/components/schemas/StudyLoadDescriptor' qualificationAwarded: $ref: '#/components/schemas/qualificationAwarded' modeOfStudy: $ref: '#/components/schemas/modeOfStudy' modeOfDelivery: $ref: '#/components/schemas/modesOfDelivery' duration: type: string description: The duration of this program. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339. pattern: ^(-?)P(?=\d|T\d)(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)([DW]))?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$ example: P1DT30H4S firstStartDate: type: string description: The date when participants can follow this program for the first time. format: date levelOfQualification: $ref: '#/components/schemas/levelOfQualification' level: $ref: '#/components/schemas/level' sector: $ref: '#/components/schemas/sector' fieldsOfStudy: type: string description: Field(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). maxLength: 4 example: '0732' enrollment: type: array items: $ref: '#/components/schemas/LanguageTypedString_3' description: The extra information that is provided for enrollment example: - language: en-GB value: enrollment through SIS. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. resources: type: array description: An overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources) items: type: string example: - book to be announced - on-line resource x learningOutcomes: type: array description: List of learning outcomes at program level. It is advisable to limit the number of learning outcomes to approximately 20. It is also advisable to make sure that the program learning outcomes in the course catalogue correspond with those on the Diploma Supplement. items: type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: 'Executable knowledge of research methods, including: Acquire knowledge of HCI research paradigms.' assessment: type: array description: A description of the way exams for this course are taken (ECTS-assessment method and criteria). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Exam on campus admissionRequirements: type: array description: This information may be given at an institutional level and/or at the level of individual programmes. Make sure that it is clear whether the information applies to fee-paying students (national and/or international) or to exchange students. example: - language: en-GB value: Students need to be enrolled at qualifying institutions of higher education that participate in this alliance minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' qualificationRequirements: type: array description: Normally, students will receive a diploma when they have completed the (official) study program and have obtained the required number of credits. If there are any other specific requirements that students need to have fulfilled, mention them here. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' link: type: string description: URL of the program's website format: uri maxLength: 2048 example: https://bijvak.nl educationSpecification: description: The educationSpecification of which this program is a more concrete implementation. [`expandable`](#tag/education_specification_model) oneOf: - $ref: '#/components/schemas/Identifier' title: educationSpecificationId - $ref: '#/components/schemas/EducationSpecification' title: EducationSpecification otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' example: - codeType: crohoCreboCode code: '59312' addresses: type: array description: Addresses for this program items: $ref: '#/components/schemas/Address_3' parent: description: Parent program of which the current program is a child. This object is [`expandable`](#tag/program_model) oneOf: - $ref: '#/components/schemas/Identifier' title: programId - $ref: '#/components/schemas/Program' title: Expanded Program children: type: array description: Programs which are a part of this program (e.g specializations). This object is [`expandable`](#tag/program_model) items: oneOf: - $ref: '#/components/schemas/Identifier' title: programId - $ref: '#/components/schemas/Program' title: Expanded Program coordinators: description: The person(s) responsible for this program. This object is [`expandable`](#tag/person_model) type: array items: oneOf: - $ref: '#/components/schemas/Identifier' title: personId - $ref: '#/components/schemas/Person' title: Person object organization: description: 'The organization providing this program. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Organization object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: rio educationOffererCode: 122A112 educationLocationCode: 123X122 jointPartnerCodes: - 122A113 foreignPartners: - Harvard University deficiency: deficiencies requirementsActivities: requirements propaedeuticPhase: no_propaedeutic_phase studyChoiceCheck: no_study_choice_check acceleratedRoute: accelerated_route lastStartDate: 01-09-2025 teachingLanguages: - nld - eng ext: $ref: '#/components/schemas/Ext' Component_2: type: object description: A component is a part of a course required: - componentId - componentType - name - teachingLanguage - abbreviation - primaryCode properties: componentId: type: string description: Unique id of this component format: uuid example: 123e4567-e89b-12d3-a456-426614174000 readOnly: true primaryCode: description: The primary human readable identifier for this component. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' example: codeType: componentCode code: INFOMQNM-WRKCLG-1 readOnly: true componentType: $ref: '#/components/schemas/componentType' name: type: array description: The name of this component minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Written test for INFOMQNM abbreviation: type: string description: The abbreviation of this component maxLength: 256 example: Test-INFOMQNM modeOfDelivery: $ref: '#/components/schemas/modesOfDelivery' duration: type: string description: The duration of this component. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339. pattern: ^(-?)P(?=\d|T\d)(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)([DW]))?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$ example: P1DT30H4S description: type: array description: The description of this component. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: '''Prove executable knowledge of research methods, including: Acquire knowledge of HCI research paradigms Able to design suitable research studies (e.g., choose between within and between subject designs) Define/apply/design metrics and scales Define/produce materials (e.g., stimuli and questionnaires) Define protocols for research studies Understands and take in account concepts of reliability and validity Analyze and improve methods and analysis of published scientific articles Able to deliver scientific reports Prove executable knowledge of ­­­statistics, including: Handle hypothesis testing with complex designs (e.g., including , dependent, independent, and co variates) Data preparation (e.g., coding and feature selection) Reason towards adequate techniques to ensure valid outcomes (e.g., be aware of type I, type II errors) Select an appropriate sampling method (e.g., stratified) Perform parametric tests (e.g., repeated measures (M)ANOVA) Perform non-parametric tests (e.g., Chi-square, Mann-Whitney, and Kruskal-Wallis)'' ' teachingLanguage: type: string description: The (primary) teaching language in which this component is given, should be a three-letter language code as specified by ISO 639-2. minLength: 3 maxLength: 3 pattern: ^[a-z]{3}$ example: nld learningOutcomes: type: array description: Statements that describe the knowledge or skills students should acquire by the end of a particular course (ECTS-learningoutcome). items: type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: 'Executable knowledge of research methods, including: Acquire knowledge of HCI research paradigms.' enrollment: type: array items: $ref: '#/components/schemas/LanguageTypedString_3' description: The extra information that is provided for enrollment example: - language: en-GB value: enrollment through SIS. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. resources: type: array description: An overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources) items: type: string example: - book to be announced - on-line resource x assessment: type: array description: A description of the way exams for this course are taken (ECTS-assessment method and criteria). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Exam on campus addresses: type: array description: Addresses for this component items: $ref: '#/components/schemas/Address_3' otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' course: description: 'The course of which this component is a part. [`expandable`](#tag/course_model) By default only the `courseId` (a string) is returned. If the client requested an expansion of `course` the full course object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: courseId - $ref: '#/components/schemas/Course' title: Course object organization: description: 'The organization which provides this component. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Organization object consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' AssociationProperties_2: type: object description: A relationship between a person object and an offering required: - associationType - role - state properties: associationType: type: string description: The type of this association enum: - programOfferingAssociation - courseOfferingAssociation - componentOfferingAssociation example: componentOfferingAssociation readOnly: true role: $ref: '#/components/schemas/associationRole' state: $ref: '#/components/schemas/associationState' readOnly: true remoteState: $ref: '#/components/schemas/remoteAssociationState' writeOnly: true consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: x-test-consumer additional: custom attributes: here ext: $ref: '#/components/schemas/Ext' CourseProperties_2: type: object description: An object describing the metadata of a course required: - name - abbreviation - description - teachingLanguage - level - primaryCode properties: primaryCode: description: The primary human readable identifier for this course. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' readOnly: true name: type: array description: The name of this course (ECTS-title) minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Academic and Professional Writing abbreviation: type: string description: The abbreviation or internal code used to identify this course (ECTS-code) maxLength: 256 example: INFOMQNM studyLoad: $ref: '#/components/schemas/StudyLoadDescriptor' modeOfDelivery: $ref: '#/components/schemas/modesOfDelivery' duration: type: string description: The duration of this course. The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339. pattern: ^(-?)P(?=\d|T\d)(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)([DW]))?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$ example: P1DT30H4S firstStartDate: type: string description: The date when participants can follow this course for the first time. format: date description: type: array description: The description of this course (ECTS-description). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: As with all empirical sciences, to assure valid outcomes, HCI studies heavily rely on research methods and statistics. This holds for the design of user interfaces, personalized recommender systems, and interaction paradigms for the internet of things. This course prepares you to do so by learning you to collect data, design experiments, and analyze the results. By the end of the course, you will have a detailed understanding of how to select and apply quantitative research methods and analysis to address virtually all HCI challenges. Quantitative research and data analysis will be taught in the context of state-of-the-art HCI challenges. Lectures will be alternated with hands-on learning, including work with predefined datasets (e.g., addressing facial features, cognitive load, and emotion). Additionally, students will set up their own research (e.g., using eye tracking). Data processing and analysis will be executed using R. teachingLanguage: type: string description: The (primary) teaching language in which this course is given, should be a three-letter language code as specified by ISO 639-2. minLength: 3 maxLength: 3 pattern: ^[a-z]{3}$ example: nld fieldsOfStudy: type: string description: Field(s) of study (e.g. ISCED-F) (https://unesdoc.unesco.org/ark:/48223/pf0000228085.locale=en). maxLength: 4 example: '0732' learningOutcomes: type: array description: Statements that describe the knowledge or skills students should acquire by the end of a particular course (ECTS-learningoutcome). items: type: array minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: 'Executable knowledge of research methods, including: Acquire knowledge of HCI research paradigms.' admissionRequirements: type: array description: This information may be given at an institutional level and/or at the level of individual programmes. Make sure that it is clear whether the information applies to fee-paying students (national and/or international) or to exchange students. example: - language: en-GB value: Students need to be enrolled at qualifying institutions of higher education that participate in this alliance minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' qualificationRequirements: type: array description: Normally, students will receive a diploma when they have completed the (official) study program and have obtained the required number of credits. If there are any other specific requirements that students need to have fulfilled, mention them here. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' level: $ref: '#/components/schemas/level' enrollment: type: array items: $ref: '#/components/schemas/LanguageTypedString_3' description: The extra information that is provided for enrollment example: - language: en-GB value: enrollment through SIS. [The limited implementation of Git Hub Markdown syntax](#tag/formatting-and-displaying-results-from-API) MAY be used for rich text representation. resources: type: array description: An overview of the literature and other resources that is used in this course (ECTS-recommended reading and other sources) items: type: string example: - book to be announced - on-line resource x assessment: type: array description: A description of the way exams for this course are taken (ECTS-assessment method and criteria). minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Exam on campus link: type: string description: URL of the course's website format: uri maxLength: 2048 example: https://osiris.uu.nl/osiris_student_uuprd/OnderwijsCatalogusZoekCursus.do#submitForm?cursuscode=INFOMQNM educationSpecification: description: The educationSpecification of which this course is a more concrete implementation. [`expandable`](#tag/education_specification_model) oneOf: - $ref: '#/components/schemas/Identifier' title: educationSpecificationId - $ref: '#/components/schemas/EducationSpecification' title: EducationSpecification addresses: type: array description: Addresses for this course items: $ref: '#/components/schemas/Address_3' otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: rio educationOffererCode: 123A321 educationLocationCode: 334X123 jointPartnerCodes: - 123A123 foreignPartners: - Harvard University lastStartDate: 01-09-2025 teachingLanguages: - nld - eng ext: $ref: '#/components/schemas/Ext' programs: description: The program of which this course is a part of. This object is [`expandable`](#tag/program_model) type: array items: oneOf: - $ref: '#/components/schemas/Identifier' title: programId - $ref: '#/components/schemas/Program' title: Program object coordinators: description: The person(s) responsible for this course. This object is [`expandable`](#tag/person_model) type: array items: oneOf: - $ref: '#/components/schemas/Identifier' title: personId - $ref: '#/components/schemas/Person' title: Person object organization: description: 'The organization that manages this group. [`expandable`](#tag/organization_model) By default only the `organizationId` (a string) is returned. If the client requested an expansion of `organization` the full organization object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: organizationId - $ref: '#/components/schemas/Organization_2' title: Organization object Pagination_3: type: object required: - pageSize - pageNumber - hasPreviousPage - hasNextPage - items properties: pageSize: type: integer format: int32 description: The number of items per page example: 10 pageNumber: type: integer format: int32 description: The current page number example: 1 minimum: 1 hasPreviousPage: type: boolean description: Whether there is a previous page example: false hasNextPage: type: boolean description: Whether there is a previous page example: true totalPages: type: integer format: int32 description: Total number of pages example: 8 OfferingProperties_2: type: object description: Either a program, course or component offering which descrbes the program, course or offering in time required: - primaryCode - offeringType - name - description - teachingLanguage - resultExpected properties: primaryCode: description: The primary human readable identifier for this offering. This is often the source identifier as defined by the institution. $ref: '#/components/schemas/IdentifierEntry_3' example: codeType: offeringCode code: INFOMQNM-20FS readOnly: true offeringType: type: string description: The type of this offering enum: - program - course - component example: component academicSession: description: 'The academicsession during which this courseoffering takes place. [`expandable`](#tag/academic_session_model) By default only the `academicSessionId` (a string) is returned. If the client requested an expansion of `academicSession` the full academicsession object should be returned. ' oneOf: - $ref: '#/components/schemas/Identifier' title: academicSessionId - $ref: '#/components/schemas/AcademicSession_2' title: AcademicSession object name: type: array description: The name of this offering minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: Final written test for INFOMQNM for fall semseter 2020 abbreviation: type: string description: The abbreviation or internal code used to identify this offering maxLength: 256 example: Test-INFOMQNM-20FS description: type: array description: The description of this offering. minItems: 1 items: $ref: '#/components/schemas/LanguageTypedString_3' example: - language: en-GB value: '''Prove in writing knowledge of research methods, including: Acquire knowledge of HCI research paradigms Able to design suitable research studies (e.g., choose between within and between subject designs) Define/apply/design metrics and scales Define/produce materials (e.g., stimuli and questionnaires) Define protocols for research studies Understands and take in account concepts of reliability and validity Analyze and improve methods and analysis of published scientific articles Able to deliver scientific reports Prove in writing knowledge of ­­­statistics, including: Handle hypothesis testing with complex designs (e.g., including , dependent, independent, and co variates) Data preparation (e.g., coding and feature selection) Reason towards adequate techniques to ensure valid outcomes (e.g., be aware of type I, type II errors) Select an appropriate sampling method (e.g., stratified) Perform parametric tests (e.g., repeated measures (M)ANOVA) Perform non-parametric tests (e.g., Chi-square, Mann-Whitney, and Kruskal-Wallis)'' ' teachingLanguage: type: string description: The (primary) teaching language in which this offering is given, should be a three-letter language code as specified by ISO 639-2. minLength: 3 maxLength: 3 pattern: ^[a-z]{3}$ example: nld modeOfDelivery: $ref: '#/components/schemas/modesOfDelivery' maxNumberStudents: type: number description: The maximum number of students allowed to enroll for this offering format: int32 minimum: 0 example: 200 enrolledNumberStudents: type: number description: The number of students that have already enrolled for this offering format: int32 minimum: 0 example: 150 pendingNumberStudents: type: number description: The number of students that have a pending enrollment request for this offering format: int32 minimum: 0 example: 50 minNumberStudents: type: number description: The minimum number of students needed for this offering to proceed format: int32 minimum: 0 example: 15 resultExpected: type: boolean description: "resultExpected, previously knwon as isLineItem is used so the specific instance of the object is identified as being an element that CAN contain “grade” information.\nOfferings do not always have to result in a grade or an other type of result. \nIf there is a result expected from a programOffering/courseOffering/componentOffering the is resultExpected field should parse true\n" example: true resultValueType: $ref: '#/components/schemas/resultValueType' link: type: string description: URL of this offering's webpage. format: uri maxLength: 2048 example: https://osiris.uu.nl/osiris_student_uuprd/OnderwijsCatalogusZoekCursus.do#submitForm?cursuscode=INFOMQNM otherCodes: type: array description: An array of additional human readable codes/identifiers for the entity being described. items: $ref: '#/components/schemas/IdentifierEntry_3' consumers: description: The additional consumer elements that can be provided, see the [documentation on support for specific consumers](https://openonderwijsapi.nl/v5/#/technical/consumers-and-profiles/) for more information about this mechanism. type: array items: $ref: '#/components/schemas/Consumer_3' example: - consumerKey: rio explanationRequiredPermission: Toestemming is vereist omdat we daarom vragen. requiredPermissionRegistration: 'yes' registrationStatus: open modeOfDelivery: - coaching ext: $ref: '#/components/schemas/Ext' responses: ErrorMethodNotAllowed: description: Method not allowed content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://api.example.org/problems/method-not-allowed title: Method not allowed status: 405 detail: The method POST is not supported for this endpoint. instance: https://api.example.org/courses/abc123 ErrorNotFound: description: "Not Found. \n\nReturned only when a specific resource identified by its identifier\ncannot be located. This applies to instance endpoints where a single,\nuniquely-addressable object is expected. \n\nCollection endpoints should not return a 404. If no items match the request,\nthey must return an empty array. A 404 may still occur if the collection\nendpoint itself does not exist or is not accessible.\n" content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: instanceNotFound: summary: 'Instance endpoint: resource not found' value: type: https://api.example.org/problems/not-found title: Resource not found status: 404 detail: The course with id 'abc123' could not be found. instance: https://api.example.org/courses/abc123 collectionEndpointNotFound: summary: Collection endpoint unavailable value: type: https://api.example.org/problems/not-found title: Collection endpoint not found status: 404 detail: The collection endpoint '/course-offerings' does not exist or is not accessible. instance: https://api.example.org/course-offerings ErrorNotAcceptable: description: 'Not Acceptable. Returned when the server cannot produce a representation in the requested OEAPI or consumer version. The server may serve the requested version or any lower compatible minor version. If neither the requested version nor a lower minor version is available, a 406 response is returned to indicate that no acceptable representation can be produced. This behaviour slightly deviates from strict HTTP semantics. The client requests exactly one OEAPI version and at most one consumer with one consumer version using the HTTP Accept header. Standard HTTP content negotiation is not applied. The server performs an internal Accept-like version check after the HTTP layer. If the request can be satisfied, the server returns a compatible version. A compatible version is any version within the same major version, with a higher or lower minor version. If no compatible version can be provided, the server returns 406 to signal that the requested representation cannot be provided. This approach improves clarity, implementation consistency and debugging, because the requested and supported versions are explicit in both the request and the 406 response, avoiding ambiguity caused by full HTTP content negotiation or Accept-based parsing. It also improves logging. Servers can log the requested and supported versions at the point of mismatch, allowing operators to detect outdated consumers, configuration issues or unexpected version drift. ' content: application/problem+json: schema: $ref: '#/components/schemas/ProblemVersionNotAcceptable' examples: unsupportedOoapiVersion: summary: Requested OEAPI version is not supported description: 'Example where the client requests OEAPI version 5.0 and the server cannot serve that version or a lower compatible minor version. ' value: type: https://api.example.org/problems/version-not-acceptable title: Version not acceptable status: 406 detail: The requested OEAPI version '5.0' cannot be served. requestedVersion: '5.0' supportedVersions: - '6.1' - '6.0' instance: https://api.example.org/courses unsupportedConsumerVersion: summary: Requested consumer version is not supported description: 'Example where the client requests consumer version 2.0 which is not supported by the server and no lower compatible consumer version is available. ' value: type: https://api.example.org/problems/version-not-acceptable title: Version not acceptable status: 406 detail: The consumer version '2.0' is not supported. consumer: consumerKey: mbo-oke-roster-service requestedVersion: '2.0' supportedVersions: - '1.0' - '0.94' instance: https://api.example.org/enrolments ErrorUnauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://api.example.org/problems/unauthorized title: Unauthorized status: 401 detail: Authentication credentials were missing or invalid. instance: https://api.example.org/student/12345 ErrorConflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://api.example.org/problems/conflict title: Conflict status: 409 detail: The request could not be completed due to a conflict with the current state of the resource. instance: https://api.example.org/courses ErrorTooManyRequests: description: Too many requests content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://api.example.org/problems/too-many-requests title: Too many requests status: 429 detail: You have exceeded the rate limit of 100 requests per minute. instance: https://api.example.org/courses ErrorForbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://api.example.org/problems/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource. instance: https://api.example.org/admin/enrolments ErrorInternalServerError: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://api.example.org/problems/internal-server-error title: Internal server error status: 500 detail: An unexpected error occurred while processing your request. instance: https://api.example.org/enrolments/submit ErrorBadRequest: description: Bad request content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://api.example.org/problems/invalid-parameter title: Invalid request parameters status: 400 detail: 'The query parameter ''mode'' must be one of: full, basic.' instance: https://api.example.org/courses?mode=invalid ErrorUnauthorized_2: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' ErrorBadRequest_2: description: Bad request content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' ErrorInternalServerError_2: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' ErrorTooManyRequests_2: description: Too many requests content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' ErrorForbidden_2: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' ErrorMethodNotAllowed_2: description: Method not allowed content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' ErrorNotFound_2: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' ErrorUnauthorized_3: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/Problem_3' ErrorBadRequest_3: description: Bad request content: application/problem+json: schema: $ref: '#/components/schemas/Problem_3' ErrorInternalServerError_3: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem_3' ErrorTooManyRequests_3: description: Too many requests content: application/problem+json: schema: $ref: '#/components/schemas/Problem_3' ErrorForbidden_3: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem_3' ErrorMethodNotAllowed_3: description: Method not allowed content: application/problem+json: schema: $ref: '#/components/schemas/Problem_3' ErrorNotFound_3: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/Problem_3' securitySchemes: bearerAuth: type: http scheme: bearer openId: type: openIdConnect openIdConnectUrl: https://example.nl/.well-known/openid-configuration x-refined-from: - oeapi-6.0-rc.3.yaml - ooapi-v5.yaml - open-education-api-v5-openapi.yml x-tagGroups: - name: Requests and responses tags: - security - service metadata - academic sessions - associations - buildings - courses - course offerings - course offering associations - components - documents - groups - learning components - learning component offerings - learning component offering associations - learning outcomes - news - organisations - persons - programmes - programme offerings - programme offering associations - rooms - test components - test component offerings - test component offering associations - test component offering association attempts - name: Models tags: - data_model - service_model - learning_outcome_model - academic_session_model - building_model - course_model - course_offering_model - course_offering_association_model - document_model - learning_component_model - learning_component_offering_model - learning_component_offering_association_model - test_component_model - test_component_offering_model - test_component_offering_association_model - test_component_offering_association_attempt_model - group_model - membership_model - organisation_model - person_model - programme_model - programme_offering_model - programme_offering_association_model - room_model