Skip to content

Submodel Registry

Kevalkumar edited this page Jan 23, 2026 · 1 revision

Purpose

The Submodel Registry API allows clients to discover which submodels exist, their IDs, and semantics. It does not return submodel values, only descriptors.

Main Endpoint

Get SubmodelDescriptor by ID

  • Method: GET
  • Route: /submodel-descriptors/{submodelIdentifier}
  • Route parameters:
    • submodelIdentifier (string, required) – Identifier of the target submodel descriptor.
  • Request body: None
  • Responses:
    • 200 OK – Returns a single **SubmodelDescriptor`.

A typical example of SubmodelDescriptor includes:

{
   "description": [
       {
           "language": "en",
           "text": "The Submodel defines a set meta data for the handover of documentation."
       }
   ],
   "displayName": null,
   "extensions": null,
   "administration": {
       "embeddedDataSpecifications": null,
       "version": "1",
       "revision": "2",
       "creator": null,
       "templateId": null
   },
   "idShort": "HandoverDocumentation",
   "id": "http://twinengine/admin-shell.io",
   "semanticId": {
       "type": "ModelReference",
       "keys": [
           {
               "type": "Submodel",
               "value": "0173-1#0001"
           }
       ],
       "referredSemanticId": null
   },
   "supplementalSemanticId": [],
   "endpoints": [
       {
           "interface": "SUBMODEL-3.0",
           "protocolInformation": {
               "href": "",
               "endpointProtocol": "http",
               "endpointProtocolVersion": null,
               "subprotocol": null,
               "subprotocolBody": null,
               "subprotocolBodyEncoding": null,
               "securityAttributes": null
           }
       }
   ]
}
  • Information about endpoints where the actual submodel can be fetched.

Specifications

  • Follows the AAS 3.0 / IDTA standard for SubmodelDescriptor objects.
  • Includes necessary metadata for client tools (like AAS Viewer) to know where and how to retrieve submodels.

Template Registry Endpoints Required

DataEngine itself may rely on a template-oriented registry (BaSyx) for template descriptors, using endpoints such as:

  • GET /shell-descriptors – for template shells.
  • GET /submodel-descriptors – for template submodels.

These are configured via the AasEnvironment settings and are used internally to know which templates exist and how to resolve them by ID / semantic.


Clone this wiki locally