What happens?
In the Submodel Registry, GET /submodel-descriptors does not return 404 Not Found. If no submodel descriptors are available, the endpoint returns 200 OK with an empty result instead.
Minimal example:
BASE_URL="http://localhost:8083"
curl -i \
-X GET "$BASE_URL/submodel-descriptors"
Observed response:
- HTTP 200 OK
- Empty
result array
The OpenAPI spec currently documents 404 for this operation.
Why is this wrong?
GET /submodel-descriptors represents a collection resource. An empty collection should be returned as 200 OK with an empty result, not as 404 Not Found.
This is also consistent with the AAS Registry, where GET /shell-descriptors returns an empty result when no descriptors exist.
Keeping 404 in the response set creates ambiguity for implementers, SDKs, and conformance tests.
How should it be fixed?
Remove 404 from the documented responses for GET /submodel-descriptors in the Submodel Registry OpenAPI spec.
Proposed response block:
paths:
/submodel-descriptors:
get:
operationId: GetAllSubmodelDescriptors
responses:
'200':
description: Requested submodel descriptors.
content:
application/json:
schema:
$ref: '#/components/schemas/GetSubmodelDescriptorsResult'
'400':
$ref: '#/components/responses/BadRequest'
default:
$ref: '#/components/responses/Error'
What happens?
In the Submodel Registry,
GET /submodel-descriptorsdoes not return404 Not Found. If no submodel descriptors are available, the endpoint returns200 OKwith an empty result instead.Minimal example:
Observed response:
resultarrayThe OpenAPI spec currently documents
404for this operation.Why is this wrong?
GET /submodel-descriptorsrepresents a collection resource. An empty collection should be returned as200 OKwith an empty result, not as404 Not Found.This is also consistent with the AAS Registry, where
GET /shell-descriptorsreturns an empty result when no descriptors exist.Keeping
404in the response set creates ambiguity for implementers, SDKs, and conformance tests.How should it be fixed?
Remove
404from the documented responses forGET /submodel-descriptorsin the Submodel Registry OpenAPI spec.Proposed response block: