From 312553c968d02d2e47f00911caf4d4786529456d Mon Sep 17 00:00:00 2001 From: EdoBoorsma Date: Fri, 13 Mar 2026 11:49:24 +0100 Subject: [PATCH 01/10] Update versioning --- documentation/technical/versioning.md | 69 ++++++++++++++++++++++----- 1 file changed, 57 insertions(+), 12 deletions(-) diff --git a/documentation/technical/versioning.md b/documentation/technical/versioning.md index 633603e..76d281c 100644 --- a/documentation/technical/versioning.md +++ b/documentation/technical/versioning.md @@ -37,7 +37,7 @@ Client: ```http GET /courses -Content-Type: application/vnd.OEAPI.v6.1+json +Content-Type: application/vnd.OEAPI+json;version=6.1 OEAPI-Consumer-Name: mbo-oke-roster-service OEAPI-Consumer-Version: 1.0 @@ -47,7 +47,7 @@ Server: ```http HTTP/1.1 200 OK -Content-Type: application/vnd.OEAPI.v6.1+json +Content-Type: application/vnd.OEAPI+json;version=6.1 OEAPI-Consumer-Name: mbo-oke-roster-service OEAPI-Consumer-Version: 1.0 @@ -64,35 +64,36 @@ Client: ```http GET /courses -Content-Type: application/vnd.OEAPI.v6.1+json +Content-Type: application/vnd.OEAPI+json;version=6.1 OEAPI-Consumer-Name: mbo-oke-roster-service -OEAPI-Consumer-Version: 1.0 +OEAPI-Consumer-Version: 6.0 ``` Server: ```http HTTP/1.1 200 OK -Content-Type: application/vnd.OEAPI.v6.0+json +Content-Type: application/vnd.OEAPI+json;version=6.0 OEAPI-Consumer-Name: mbo-oke-roster-service -OEAPI-Consumer-Version: 0.94 +OEAPI-Consumer-Version: 6.0 ``` Because both versions share the same major (6), the server falls back to the highest compatible minor and explicitly reports the versions used. --- -### Example 3: unsupported version +### Example 3: unsupported OEAPI version Client: ```http POST /enrolments -Content-Type: application/vnd.OEAPI.v7.0+json +Content-Type: application/vnd.OEAPI+json;version=7.0 -OEAPI-Consumer-Version: 2.0 +OEAPI-Consumer-Name: mbo-oke-roster-service +OEAPI-Consumer-Version: 7.0 ``` Server: @@ -105,11 +106,55 @@ Response body: ```json { - "error": "Unsupported OEAPI or consumer version", - "requestedVersion": "2.0", - "supportedVersions": ["0.94", "1.0"] + "type": "https://api.example.org/problems/version-not-acceptable", + "title": "Version not acceptable", + "status": 406, + "detail": "The requested OOAPI version '7.0' cannot be served.", + "requestedVersion": "7.0", + "supportedVersions": ["5.0", "6.1"], + "instance": "https://api.example.org/courses" } ``` The requested major version is not supported. Fallback is not permitted and the request is rejected. + +--- + +### Example 4: unsupported consumer version + +Client: + +```http +POST /enrolments +Content-Type: application/vnd.OEAPI+json;version=6.0 + +OEAPI-Consumer-Name: mbo-oke-roster-service +OEAPI-Consumer-Version: 7.0 +``` + +Server: + +```http +HTTP/1.1 406 Not Acceptable +``` + +Response body: + +```json +{ + "type": "https://api.example.org/problems/version-not-acceptable", + "title": "Version not acceptable", + "status": 406, + "detail": "The requested consumer version '7.0' cannot be served.", + "consumer": { + "consumerKey": "mbo-oke-roster-service" + }, + "requestedVersion": "7.0", + "supportedVersions": ["0.95", "1.0", "6.1"], + "instance": "https://api.example.org/courses" +} +``` + +The requested consumer version is not supported. +Fallback is not permitted and the request is rejected. From 1ea671d7ee80a2423cb2b1756314c12ed88cf128 Mon Sep 17 00:00:00 2001 From: EdoBoorsma Date: Fri, 13 Mar 2026 12:37:54 +0100 Subject: [PATCH 02/10] Update examples --- documentation/technical/versioning.md | 29 +++++++-------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/documentation/technical/versioning.md b/documentation/technical/versioning.md index 76d281c..dacfc7e 100644 --- a/documentation/technical/versioning.md +++ b/documentation/technical/versioning.md @@ -37,20 +37,14 @@ Client: ```http GET /courses -Content-Type: application/vnd.OEAPI+json;version=6.1 - -OEAPI-Consumer-Name: mbo-oke-roster-service -OEAPI-Consumer-Version: 1.0 +Content-Type: application/vnd.oeapi+json;version=6.1 ``` Server: ```http HTTP/1.1 200 OK -Content-Type: application/vnd.OEAPI+json;version=6.1 - -OEAPI-Consumer-Name: mbo-oke-roster-service -OEAPI-Consumer-Version: 1.0 +Content-Type: application/vnd.oeapi+json;version=6.1 ``` The requested OEAPI and consumer versions are fully supported. @@ -64,20 +58,14 @@ Client: ```http GET /courses -Content-Type: application/vnd.OEAPI+json;version=6.1 - -OEAPI-Consumer-Name: mbo-oke-roster-service -OEAPI-Consumer-Version: 6.0 +Content-Type: application/vnd.oeapi+json;version=6.1 ``` Server: ```http HTTP/1.1 200 OK -Content-Type: application/vnd.OEAPI+json;version=6.0 - -OEAPI-Consumer-Name: mbo-oke-roster-service -OEAPI-Consumer-Version: 6.0 +Content-Type: application/vnd.oeapi+json;version=6.0 ``` Because both versions share the same major (6), the server falls back to the highest compatible minor and explicitly reports the versions used. @@ -90,10 +78,7 @@ Client: ```http POST /enrolments -Content-Type: application/vnd.OEAPI+json;version=7.0 - -OEAPI-Consumer-Name: mbo-oke-roster-service -OEAPI-Consumer-Version: 7.0 +Content-Type: application/vnd.oeapi+json;version=7.0 ``` Server: @@ -109,7 +94,7 @@ Response body: "type": "https://api.example.org/problems/version-not-acceptable", "title": "Version not acceptable", "status": 406, - "detail": "The requested OOAPI version '7.0' cannot be served.", + "detail": "The requested OEAPI version '7.0' cannot be served.", "requestedVersion": "7.0", "supportedVersions": ["5.0", "6.1"], "instance": "https://api.example.org/courses" @@ -127,7 +112,7 @@ Client: ```http POST /enrolments -Content-Type: application/vnd.OEAPI+json;version=6.0 +Content-Type: application/vnd.oeapi+json;version=6.0 OEAPI-Consumer-Name: mbo-oke-roster-service OEAPI-Consumer-Version: 7.0 From f2d12d362b14098b24d0b995fcc28d796c0b83f5 Mon Sep 17 00:00:00 2001 From: EdoBoorsma Date: Fri, 13 Mar 2026 16:22:04 +0100 Subject: [PATCH 03/10] Update 406 examples --- documentation/technical/errorcodes.md | 52 ++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/documentation/technical/errorcodes.md b/documentation/technical/errorcodes.md index 7d3fe84..310c210 100644 --- a/documentation/technical/errorcodes.md +++ b/documentation/technical/errorcodes.md @@ -179,29 +179,65 @@ This behaviour intentionally deviates from strict HTTP semantics to: ### Example – unsupported OEAPI version +Client: + +```http +POST /enrolments +Content-Type: application/vnd.oeapi+json;version=7.0 +``` + +Server: + +```http +HTTP/1.1 406 Not Acceptable +``` + +Response body: + ```json { "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"], + "detail": "The requested OEAPI version '7.0' cannot be served.", + "requestedVersion": "7.0", + "supportedVersions": ["5.0", "6.1"], "instance": "https://api.example.org/courses" } ``` ### Example – unsupported consumer version +Client: + +```http +POST /enrolments +Content-Type: application/vnd.oeapi+json;version=6.0 + +OEAPI-Consumer-Name: mbo-oke-roster-service +OEAPI-Consumer-Version: 7.0 +``` + +Server: + +```http +HTTP/1.1 406 Not Acceptable +``` + +Response body: + ```json { "type": "https://api.example.org/problems/version-not-acceptable", - "title": "Consumer version not acceptable", + "title": "Version not acceptable", "status": 406, - "detail": "The consumer version '2.0' is not supported.", - "requestedVersion": "2.0", - "supportedVersions": ["1.0", "0.94"], - "instance": "https://api.example.org/enrolments" + "detail": "The requested consumer version '7.0' cannot be served.", + "consumer": { + "consumerKey": "mbo-oke-roster-service" + }, + "requestedVersion": "7.0", + "supportedVersions": ["0.95", "1.0", "6.1"], + "instance": "https://api.example.org/courses" } ``` From 6ee11e2e8ed7d0e0ebee32443bcc87703d5bb9c7 Mon Sep 17 00:00:00 2001 From: EdoBoorsma Date: Mon, 16 Mar 2026 20:42:31 +0100 Subject: [PATCH 04/10] Update versioning md --- documentation/technical/versioning.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/technical/versioning.md b/documentation/technical/versioning.md index dacfc7e..85de3bd 100644 --- a/documentation/technical/versioning.md +++ b/documentation/technical/versioning.md @@ -8,7 +8,7 @@ This is referred to as the *closed* versioning approach. In practice this means: -- the client sends one explicit OEAPI version via `Content-Type` +- the client sends one explicit OEAPI version via `Accept` - the client sends one explicit consumer version via `OEAPI-Consumer-Version` - the server either accepts that version, or falls back to a lower compatible minor version within the same major - if no compatible version exists, the server rejects the request @@ -21,7 +21,7 @@ If the requested version cannot be satisfied (and no compatible minor version is OEAPI deliberately does not use: -- HTTP `Accept` negotiation +- HTTP standard `Accept` negotiation - query parameters for versioning - version attributes in the request body From a4e54d75a2ca5f131dba80a335b1a05674f87d22 Mon Sep 17 00:00:00 2001 From: EdoBoorsma Date: Thu, 19 Mar 2026 13:49:24 +0100 Subject: [PATCH 05/10] Remove slack as communication --- documentation/abbreviations.md | 3 --- documentation/contact.md | 9 --------- 2 files changed, 12 deletions(-) diff --git a/documentation/abbreviations.md b/documentation/abbreviations.md index c0f659e..073f143 100644 --- a/documentation/abbreviations.md +++ b/documentation/abbreviations.md @@ -23,9 +23,6 @@ | | and private organisations. | | Community | The OOAPI community consists of parties interested in OOAPI developments. Community members| | | are known by name and email address, and register with the community site themselves. | -| Slack | A Slack channel is available at: [openonderwijsapi.slack.com](https://openonderwijsapi.slack.com). Since access is on an invite | -| | basis, send an email to [info@openonderwijsapi.nl](mailto:info@openonderwijsapi.nl) and you will receive an invitation if you | -| | would like to participate in this Open Education API Slack channel. | | Project site | The website at [https://openonderwijsapi.nl/](https://openonderwijsapi.nl/). This website is used mainly to provide | | | clarification about the project to interested parties. | | | The site also provides access to the reference API, online documentation and the code | diff --git a/documentation/contact.md b/documentation/contact.md index c80a5a8..c5eeee6 100644 --- a/documentation/contact.md +++ b/documentation/contact.md @@ -11,12 +11,3 @@ Only the members of this mailing list may send email to this list. Send an email to [openonderwijsapi@list.surf.nl](mailto:openonderwijsapi@list.surf.nl) to contact the members of this mailing list. If you need support, contact: [info@openonderwijsapi.nl](mailto:info@openonderwijsapi.nl) - -## Slack - -A Slack channel is available at: -[openonderwijsapi.slack.com](https://openonderwijsapi.slack.com) Since access is -on an invitation basis, send an email to -[info@openonderwijsapi.nl](mailto:info@openonderwijsapi.nl) and you will receive -an invitation if you would like to participate on this Open education API slack -channel. From 5a3d3de46b3350b19812e42e6b1a3e4b8916cb7e Mon Sep 17 00:00:00 2001 From: EdoBoorsma Date: Tue, 24 Mar 2026 10:29:38 +0100 Subject: [PATCH 06/10] Update versioning to ADR --- documentation/technical/errorcodes.md | 34 ++++++++++++++++++++-- documentation/technical/versioning.md | 41 ++++++++++++++++----------- 2 files changed, 55 insertions(+), 20 deletions(-) diff --git a/documentation/technical/errorcodes.md b/documentation/technical/errorcodes.md index 310c210..744220c 100644 --- a/documentation/technical/errorcodes.md +++ b/documentation/technical/errorcodes.md @@ -168,9 +168,37 @@ Servers SHOULD return an `Allow` header indicating supported methods. Returned when the server cannot provide a representation for the requested OEAPI or consumer version. -OEAPI uses explicit version negotiation rather than HTTP `Accept` headers. -If neither the requested version nor a lower compatible minor version is -supported, a `406` response MUST be returned. +OEAPI uses header-based version negotiation with an explicit request for a +single OEAPI version and, where applicable, a single consumer and consumer version. + +Clients MUST request exactly one OEAPI version via the `Accept` header and +MAY also include exactly one consumer and one consumer version. For example: + +```http +Accept: application/vnd.oeapi+json;version=6.0;consumer=mbo-oke-roster-service;consumer-version=2.0 +``` + +The server evaluates whether the requested OEAPI version or a compatible +minor version within the same major version can be provided. The same +principle applies to the optional consumer version: the server may return +the requested consumer version or a compatible minor version. + +If a compatible combination can be provided, the server returns the response +using the `Content-Type` header to indicate the actual OEAPI version and +consumer version used. For example: + +```http +Content-Type: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=2.1 +``` + +If no compatible version is available, a `406 Not Acceptable` response MUST +be returned. + +This behaviour differs from typical HTTP version negotiation: + +- exactly one explicit version is requested +- any compatible minor version may be returned +- the same principle applies to the optional consumer and consumer version This behaviour intentionally deviates from strict HTTP semantics to: - make version mismatches explicit diff --git a/documentation/technical/versioning.md b/documentation/technical/versioning.md index 85de3bd..e93b741 100644 --- a/documentation/technical/versioning.md +++ b/documentation/technical/versioning.md @@ -1,26 +1,34 @@ ## Versioning: how it works -OEAPI uses an explicit, single-choice versioning model. +OEAPI uses a header-based, explicit, single-choice versioning model. -For each request, the client specifies exactly one OEAPI version and exactly one consumer version using HTTP headers. The server does not negotiate between alternatives. +For each request, the client specifies exactly one OEAPI version and +optionally one consumer with exactly one consumer version using the +`Accept` header. The server does not negotiate between alternatives. This is referred to as the *closed* versioning approach. In practice this means: - the client sends one explicit OEAPI version via `Accept` -- the client sends one explicit consumer version via `OEAPI-Consumer-Version` -- the server either accepts that version, or falls back to a lower compatible minor version within the same major +- the client can include one consumer and one consumer version via `Accept` +- the server evaluates whether the requested version or a compatible minor + version within the same major can be provided (this may be lower or higher) +- the same principle applies to the optional consumer version - if no compatible version exists, the server rejects the request Only minor fallback is allowed. Major version fallback is never permitted. -The server MUST always indicate the actual versions used in the response headers. +The server always indicates the actual versions used in the response via +the `Content-Type` header. -If the requested version cannot be satisfied (and no compatible minor version is available), the server MUST return `406 Not Acceptable`, including the requested version and the list of supported versions in the response body. +If the requested version cannot be satisfied (and no compatible minor version +is available), the server returns `406 Not Acceptable`, including the +requested version and the list of supported versions in the response body. OEAPI deliberately does not use: +- multiple alternative versions in the `Accept` header - HTTP standard `Accept` negotiation - query parameters for versioning - version attributes in the request body @@ -37,14 +45,14 @@ Client: ```http GET /courses -Content-Type: application/vnd.oeapi+json;version=6.1 +Accept: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=1.0 ``` Server: ```http HTTP/1.1 200 OK -Content-Type: application/vnd.oeapi+json;version=6.1 +Content-Type: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=1.0 ``` The requested OEAPI and consumer versions are fully supported. @@ -52,23 +60,25 @@ The server returns exactly the same versions as requested. --- -### Example 2: minor fallback +### Example 2: minor fallback (higher or lower) Client: ```http GET /courses -Content-Type: application/vnd.oeapi+json;version=6.1 +Accept: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=1.0 ``` Server: ```http HTTP/1.1 200 OK -Content-Type: application/vnd.oeapi+json;version=6.0 +Content-Type: application/vnd.oeapi+json;version=6.0;consumer=mbo-oke-roster-service;consumer-version=1.1 ``` -Because both versions share the same major (6), the server falls back to the highest compatible minor and explicitly reports the versions used. +Because the versions share the same major (6), the server may return a +compatible minor version, higher or lower, and explicitly reports the +versions used. --- @@ -78,7 +88,7 @@ Client: ```http POST /enrolments -Content-Type: application/vnd.oeapi+json;version=7.0 +Accept: application/vnd.oeapi+json;version=7.0;consumer=mbo-oke-roster-service;consumer-version=1.0 ``` Server: @@ -112,10 +122,7 @@ Client: ```http POST /enrolments -Content-Type: application/vnd.oeapi+json;version=6.0 - -OEAPI-Consumer-Name: mbo-oke-roster-service -OEAPI-Consumer-Version: 7.0 +Accept: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=7.0 ``` Server: From 714fadc15ef0885cb5b520b0c13739fae141a86c Mon Sep 17 00:00:00 2001 From: patveer Date: Tue, 24 Mar 2026 16:42:03 +0100 Subject: [PATCH 07/10] quick fix (versions in technical) (#44) * quick fix (versions in technical) added v6 as the current version * Update README.md fix on v6 url --------- Co-authored-by: Edo Boorsma --- documentation/technical/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/technical/README.md b/documentation/technical/README.md index e1a33d2..1bbc663 100644 --- a/documentation/technical/README.md +++ b/documentation/technical/README.md @@ -14,10 +14,11 @@ Since OEAPI describes the information of an institution as resources, each insti The actual OEAPI specification is specified using the [OpenAPI Specification](https://www.openapis.org/), a standard that specifies how to specify (among other things) REST APIs. The detailed OEAPI specifications can be found here: -* [OEAPI v5](https://open-education-api.github.io/specification/v5/docs.html) (Current version) +* [OEAPI v6](https://openonderwijsapi.nl/specification/v6.0/) (Current version - fully supported) These are the previous versions: +* [OEAPI v5](https://open-education-api.github.io/specification/v5/docs.html) (limited support) * [OEAPI v4](https://open-education-api.github.io/specification/v4/docs.html) (limited support) * [OEAPI v3](https://open-education-api.github.io/specification/v3/docs.html) (unsupported) * [OEAPI v2](https://open-education-api.github.io/specification/v2/docs.html) (unsupported) From 457b23ab5b2ce8a5ff93b6e4c1e891eba58b6e20 Mon Sep 17 00:00:00 2001 From: EdoBoorsma Date: Wed, 25 Mar 2026 10:27:59 +0100 Subject: [PATCH 08/10] update requests and response headers for versioning --- documentation/technical/errorcodes.md | 7 ++----- documentation/technical/versioning.md | 10 +++++----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/documentation/technical/errorcodes.md b/documentation/technical/errorcodes.md index 744220c..de3274c 100644 --- a/documentation/technical/errorcodes.md +++ b/documentation/technical/errorcodes.md @@ -211,7 +211,7 @@ Client: ```http POST /enrolments -Content-Type: application/vnd.oeapi+json;version=7.0 +Accept: application/vnd.oeapi+json;version=7.0;consumer=mbo-oke-roster-service;consumer-version=7.0 ``` Server: @@ -240,10 +240,7 @@ Client: ```http POST /enrolments -Content-Type: application/vnd.oeapi+json;version=6.0 - -OEAPI-Consumer-Name: mbo-oke-roster-service -OEAPI-Consumer-Version: 7.0 +Content-Type: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=7.0 ``` Server: diff --git a/documentation/technical/versioning.md b/documentation/technical/versioning.md index e93b741..c6762c2 100644 --- a/documentation/technical/versioning.md +++ b/documentation/technical/versioning.md @@ -45,14 +45,14 @@ Client: ```http GET /courses -Accept: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=1.0 +Accept: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=6.0 ``` Server: ```http HTTP/1.1 200 OK -Content-Type: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=1.0 +Content-Type: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=6.0 ``` The requested OEAPI and consumer versions are fully supported. @@ -66,14 +66,14 @@ Client: ```http GET /courses -Accept: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=1.0 +Accept: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=6.0 ``` Server: ```http HTTP/1.1 200 OK -Content-Type: application/vnd.oeapi+json;version=6.0;consumer=mbo-oke-roster-service;consumer-version=1.1 +Content-Type: application/vnd.oeapi+json;version=6.0;consumer=mbo-oke-roster-service;consumer-version=6.1 ``` Because the versions share the same major (6), the server may return a @@ -88,7 +88,7 @@ Client: ```http POST /enrolments -Accept: application/vnd.oeapi+json;version=7.0;consumer=mbo-oke-roster-service;consumer-version=1.0 +Accept: application/vnd.oeapi+json;version=7.0;consumer=mbo-oke-roster-service;consumer-version=6.0 ``` Server: From 0d3b6c9dde29a9ebad689f35c92ee5a0e6a1f086 Mon Sep 17 00:00:00 2001 From: patveer Date: Wed, 25 Mar 2026 17:08:08 +0100 Subject: [PATCH 09/10] Update errorcodes.md consumer versioning changed according to current consumer versioning numbering --- documentation/technical/errorcodes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/technical/errorcodes.md b/documentation/technical/errorcodes.md index de3274c..5188ebc 100644 --- a/documentation/technical/errorcodes.md +++ b/documentation/technical/errorcodes.md @@ -188,7 +188,7 @@ using the `Content-Type` header to indicate the actual OEAPI version and consumer version used. For example: ```http -Content-Type: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=2.1 +Content-Type: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=6.1 ``` If no compatible version is available, a `406 Not Acceptable` response MUST @@ -240,7 +240,7 @@ Client: ```http POST /enrolments -Content-Type: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=7.0 +Content-Type: application/vnd.oeapi+json;version=6.1;consumer=mbo-oke-roster-service;consumer-version=6.1.1 ``` Server: @@ -256,11 +256,11 @@ Response body: "type": "https://api.example.org/problems/version-not-acceptable", "title": "Version not acceptable", "status": 406, - "detail": "The requested consumer version '7.0' cannot be served.", + "detail": "The requested consumer version '6.1.1' cannot be served.", "consumer": { "consumerKey": "mbo-oke-roster-service" }, - "requestedVersion": "7.0", + "requestedVersion": "6.1.1", "supportedVersions": ["0.95", "1.0", "6.1"], "instance": "https://api.example.org/courses" } From f4ca83a3fee7ae780e8fb233519470e3c8dda3d1 Mon Sep 17 00:00:00 2001 From: EdoBoorsma Date: Tue, 31 Mar 2026 18:46:49 +0200 Subject: [PATCH 10/10] Update workflow action versions --- .github/workflows/block-prs-from-release-5.yaml | 2 +- .github/workflows/check_links_lychee.yaml | 2 +- .github/workflows/lint_markdown.yaml | 2 +- .github/workflows/publish_release.yaml | 6 +++--- .github/workflows/publish_unreleased.yaml | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/block-prs-from-release-5.yaml b/.github/workflows/block-prs-from-release-5.yaml index 99bc7bb..2584631 100644 --- a/.github/workflows/block-prs-from-release-5.yaml +++ b/.github/workflows/block-prs-from-release-5.yaml @@ -16,7 +16,7 @@ permissions: jobs: block-release-5: name: Block PRs from release/5.* - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: # Fail the workflow when the source branch starts with release/5. diff --git a/.github/workflows/check_links_lychee.yaml b/.github/workflows/check_links_lychee.yaml index b30805a..1e0c262 100644 --- a/.github/workflows/check_links_lychee.yaml +++ b/.github/workflows/check_links_lychee.yaml @@ -14,7 +14,7 @@ jobs: steps: # Checkout the repository. - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 # Check documentation links with Lychee. - uses: lycheeverse/lychee-action@v2 diff --git a/.github/workflows/lint_markdown.yaml b/.github/workflows/lint_markdown.yaml index 730b986..4f40d89 100644 --- a/.github/workflows/lint_markdown.yaml +++ b/.github/workflows/lint_markdown.yaml @@ -16,7 +16,7 @@ jobs: steps: # Checkout the repository. - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 # Run markdownlint on all documentation files. - name: Run markdownlint-cli2 diff --git a/.github/workflows/publish_release.yaml b/.github/workflows/publish_release.yaml index 3c50673..259e79e 100644 --- a/.github/workflows/publish_release.yaml +++ b/.github/workflows/publish_release.yaml @@ -14,7 +14,7 @@ jobs: steps: # Checkout this repository containing the documentation. - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 # Extract the version from the branch name (release/x.y → x.y). - name: Determine release version @@ -27,7 +27,7 @@ jobs: # Create a GitHub App token used to push to the publication repository. - name: Create GitHub App installation token id: app-token - uses: actions/create-github-app-token@v2 + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.OOAPI_APP_PUBLISH_ID }} private-key: ${{ secrets.OOAPI_APP_PUBLISH_SECRET }} @@ -37,7 +37,7 @@ jobs: # Checkout the documentation website repository. - name: Checkout target repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: repository: open-education-api/open-education-api.github.io token: ${{ steps.app-token.outputs.token }} diff --git a/.github/workflows/publish_unreleased.yaml b/.github/workflows/publish_unreleased.yaml index 284569d..5af45cc 100644 --- a/.github/workflows/publish_unreleased.yaml +++ b/.github/workflows/publish_unreleased.yaml @@ -14,12 +14,12 @@ jobs: steps: # Checkout this repository containing the documentation. - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 # Create a GitHub App token used to push to the publication repository. - name: Create GitHub App installation token id: app-token - uses: actions/create-github-app-token@v2 + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.OOAPI_APP_PUBLISH_ID }} private-key: ${{ secrets.OOAPI_APP_PUBLISH_SECRET }} @@ -29,7 +29,7 @@ jobs: # Checkout the documentation website repository. - name: Checkout target repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: repository: open-education-api/open-education-api.github.io token: ${{ steps.app-token.outputs.token }}