From 382df53044c57ef9b23f03c898608ba5bcf839cc Mon Sep 17 00:00:00 2001 From: Eivind Grimstad Date: Thu, 26 Mar 2026 14:39:55 +0100 Subject: [PATCH 1/3] fix(ETU-69952): Add default as allowed response code And fix responses rule. I dont quite know what the "*~" syntax means, but it does not look to be valid JSONPath. --- .spectral.yml | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/.spectral.yml b/.spectral.yml index d13bc69..a40bdba 100644 --- a/.spectral.yml +++ b/.spectral.yml @@ -403,54 +403,59 @@ rules: # HTTP method responses validation entur-get-responses-validation: - message: "Invalid response code: {{property}}. GET responses MUST use one of these response codes: 200, 304, 400, 401, 403, 404, 500, 503" + message: "Invalid response code: {{value}}. GET responses MUST use one of these response codes: 200, 304, 400, 401, 403, 404, 500, 503" documentationUrl: "https://github.com/entur/api-guidelines/blob/main/guidelines.md#41-http-status-codes" severity: error - given: $.paths.*.get.responses.*~ + given: $.paths.*.get.responses then: + field: "@key" function: enumeration functionOptions: - values: ["200", "302", "304", "400", "401", "403", "404", "500", "503"] + values: ["200", "302", "304", "400", "401", "403", "404", "500", "503", "default"] entur-delete-responses-validation: - message: "Invalid response code: {{property}}. DELETE responses MUST use one of these response codes: 200, 204, 400, 401, 403, 404, 409, 500, 503" + message: "Invalid response code: {{value}}. DELETE responses MUST use one of these response codes: 200, 204, 400, 401, 403, 404, 409, 500, 503" documentationUrl: "https://github.com/entur/api-guidelines/blob/main/guidelines.md#41-http-status-codes" severity: error - given: $.paths.*.delete.responses.*~ + given: $.paths.*.delete.responses then: + field: "@key" function: enumeration functionOptions: - values: ["200", "204", "400", "401", "403", "404", "409", "500", "503"] + values: ["200", "204", "400", "401", "403", "404", "409", "500", "503", "default"] entur-post-responses-validation: - message: "Invalid response code: {{property}}. POST responses MUST use one of these response codes: 200, 201, 202, 204, 303, 400, 401, 403, 404, 409, 500, 503" + message: "Invalid response code: {{value}}. POST responses MUST use one of these response codes: 200, 201, 202, 204, 303, 400, 401, 403, 404, 409, 500, 503" documentationUrl: "https://github.com/entur/api-guidelines/blob/main/guidelines.md#41-http-status-codes" severity: error - given: $.paths.*.post.responses.*~ + given: $.paths.*.post.responses then: + field: "@key" function: enumeration functionOptions: - values: ["200", "201", "202", "204", "303", "400", "401", "403", "404", "409", "500", "503"] + values: ["200", "201", "202", "204", "303", "400", "401", "403", "404", "409", "500", "503", "default"] entur-put-responses-validation: - message: "Invalid response code: {{property}}. PUT responses MUST use one of these response codes: 200, 204, 400, 401, 403, 404, 409, 500, 503" + message: "Invalid response code: {{value}}. PUT responses MUST use one of these response codes: 200, 204, 400, 401, 403, 404, 409, 500, 503" documentationUrl: "https://github.com/entur/api-guidelines/blob/main/guidelines.md#41-http-status-codes" severity: error - given: $.paths.*.put.responses.*~ + given: $.paths.*.put.responses then: + field: "@key" function: enumeration functionOptions: - values: ["200", "201", "204", "400", "401", "403", "404", "409", "500", "503"] + values: ["200", "201", "204", "400", "401", "403", "404", "409", "500", "503", "default"] entur-patch-responses-validation: - message: "Invalid response code: {{property}}. PATCH responses MUST use one of these response codes: 200, 204, 400, 401, 403, 404, 409, 500, 503" + message: "Invalid response code: {{value}}. PATCH responses MUST use one of these response codes: 200, 204, 400, 401, 403, 404, 409, 500, 503" documentationUrl: "https://github.com/entur/api-guidelines/blob/main/guidelines.md#41-http-status-codes" severity: error - given: $.paths.*.patch.responses.*~ + given: $.paths.*.patch.responses then: + field: "@key" function: enumeration functionOptions: - values: ["200", "204", "400", "401", "403", "404", "409", "500", "503"] + values: ["200", "204", "400", "401", "403", "404", "409", "500", "503", "default"] # ------------------------------------------------------------------------- From 924503cbf8683a10abf9ea100ae246310e427941 Mon Sep 17 00:00:00 2001 From: Eivind Grimstad Date: Thu, 26 Mar 2026 14:47:14 +0100 Subject: [PATCH 2/3] fix: Add response lint error --- specs/reference-spec-with-errors.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/reference-spec-with-errors.json b/specs/reference-spec-with-errors.json index 13187de..32aaf6d 100644 --- a/specs/reference-spec-with-errors.json +++ b/specs/reference-spec-with-errors.json @@ -224,7 +224,7 @@ "description": "Get an item with given id.", "operationId": "getItem", "responses": { - "200": { + "201": { "description": "OK", "content": { "application/json": { From 239996cbbf89243a78b7251613b54837aa4689c2 Mon Sep 17 00:00:00 2001 From: Eivind Grimstad Date: Thu, 26 Mar 2026 15:42:29 +0100 Subject: [PATCH 3/3] temp: Try without custom message --- .spectral.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.spectral.yml b/.spectral.yml index a40bdba..8ef570e 100644 --- a/.spectral.yml +++ b/.spectral.yml @@ -403,7 +403,6 @@ rules: # HTTP method responses validation entur-get-responses-validation: - message: "Invalid response code: {{value}}. GET responses MUST use one of these response codes: 200, 304, 400, 401, 403, 404, 500, 503" documentationUrl: "https://github.com/entur/api-guidelines/blob/main/guidelines.md#41-http-status-codes" severity: error given: $.paths.*.get.responses